暂存
This commit is contained in:
48
App/language.c
Normal file
48
App/language.c
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "language.h"
|
||||
|
||||
// 生成语言字符串数据表所用的临时结构体 (fr/en 两列)
|
||||
typedef struct {
|
||||
char *fr;
|
||||
char *en;
|
||||
} LangEntry;
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
// !!!!!! 不要动下面的代码 !!!!!!
|
||||
#ifdef DEFINE_STRING
|
||||
#undef DEFINE_STRING
|
||||
#endif
|
||||
#define DEFINE_STRING(name, fr, en) { fr, en },
|
||||
// !!!!!! 不要动上面的代码 !!!!!!
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
// 复用 strings.h 里的同一份登记表,展开成 {法语, 英语} 数据数组,存放于 Flash (code 区)
|
||||
LangEntry code language_pack[STR_COUNT] = {
|
||||
WRISTBAND_STRING_LIST
|
||||
};
|
||||
|
||||
static Language current_lang = LANG_FR;
|
||||
|
||||
void Lang_Init(Language lang)
|
||||
{
|
||||
current_lang = (lang < LANG_COUNT) ? lang : LANG_FR;
|
||||
}
|
||||
|
||||
void Lang_Set(Language lang)
|
||||
{
|
||||
if (lang < LANG_COUNT) {
|
||||
current_lang = lang;
|
||||
}
|
||||
}
|
||||
|
||||
Language Lang_Current(void)
|
||||
{
|
||||
return current_lang;
|
||||
}
|
||||
|
||||
char *Lang_Get(StringID id)
|
||||
{
|
||||
if (id >= STR_COUNT) {
|
||||
return "";
|
||||
}
|
||||
return (current_lang == LANG_EN) ? language_pack[id].en : language_pack[id].fr;
|
||||
}
|
||||
Reference in New Issue
Block a user