51 lines
837 B
C
51 lines
837 B
C
/**
|
|
* @file localization.h
|
|
* @author Piotr Krygier (everyonencancode@gmail.com)
|
|
* @brief Simple localization header
|
|
* @version 0.1
|
|
* @date 2022-02-15
|
|
*
|
|
* @copyright Copyright (c) 2022
|
|
*
|
|
*/
|
|
|
|
#ifndef LOCALIZATION_H
|
|
#define LOCALIZATION_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
#define SELECTED_LANGUAGE EN_US
|
|
|
|
#define LOCALIZE(string) string.message[SELECTED_LANGUAGE]
|
|
|
|
/**
|
|
* @brief Available languages
|
|
*
|
|
*/
|
|
enum Languages_t
|
|
{
|
|
EN_US = 0,
|
|
LAST_LANGUAGE
|
|
};
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
*/
|
|
struct MessageString_t
|
|
{
|
|
/**
|
|
* @brief Maximum message length. I.e. if French version is longer than English, use French length.
|
|
*
|
|
*/
|
|
size_t maxMessageLength;
|
|
|
|
/**
|
|
*
|
|
* @brief Array holding list of translations for specific message
|
|
*
|
|
*/
|
|
const char* const message[LAST_LANGUAGE];
|
|
};
|
|
|
|
#endif /* LOCALIZATION_H */ |