1
1
2
2
#include "language.h"
3
3
4
-
5
4
typedef struct {
6
- const char * * strings ;
5
+ const char * * strings ;
7
6
} LanguageData ;
8
7
9
- LanguageData languageData [LANGUAGE_COUNT ] = {
10
- [LANGUAGE_ZH_HANS ] = { .strings = lang_zh_Hans },
11
- [LANGUAGE_EN_US ] = { .strings = lang_en_US },
12
- [LANGUAGE_ZH_TW ] = { .strings = lang_zh_TW },
13
- [LANGUAGE_ES_ES ] = { .strings = lang_es_ES },
14
- [LANGUAGE_HU_HU ] = { .strings = lang_hu_HU },
15
- [LANGUAGE_DE_DE ] = { .strings = lang_de_DE },
16
- [LANGUAGE_FR_FR ] = { .strings = lang_fr_FR },
17
- [LANGUAGE_NL_NL ] = { .strings = lang_nl_NL },
18
- [LANGUAGE_PT_BR ] = { .strings = lang_pt_BR },
19
- [LANGUAGE_JA_JP ] = { .strings = lang_ja_JP },
20
- [LANGUAGE_PT_PT ] = { .strings = lang_pt_PT },
8
+ const LanguageData const languageData [LANGUAGE_COUNT ] = {
9
+ [LANGUAGE_ZH_HANS ] = {.strings = lang_zh_Hans }, [LANGUAGE_EN_US ] = {.strings = lang_en_US },
10
+ [LANGUAGE_ZH_TW ] = {.strings = lang_zh_TW }, [LANGUAGE_ES_ES ] = {.strings = lang_es_ES },
11
+ [LANGUAGE_HU_HU ] = {.strings = lang_hu_HU }, [LANGUAGE_DE_DE ] = {.strings = lang_de_DE },
12
+ [LANGUAGE_FR_FR ] = {.strings = lang_fr_FR }, [LANGUAGE_NL_NL ] = {.strings = lang_nl_NL },
13
+ [LANGUAGE_PT_BR ] = {.strings = lang_pt_BR }, [LANGUAGE_JA_JP ] = {.strings = lang_ja_JP },
14
+ [LANGUAGE_PT_PT ] = {.strings = lang_pt_PT },
21
15
};
22
16
23
17
// 当前语言设置 (Current language setting)
24
18
Language currentLanguage = LANGUAGE_ZH_HANS ;
25
19
26
-
27
- const char * getLangString (L_StringID stringID ) {
28
- const char * string = languageData [currentLanguage ].strings [stringID ];
20
+ const char * getLangString (L_StringID stringID ) {
21
+ if (stringID >= _L_COUNT ) {
22
+ return "@@STR@@" ;
23
+ }
24
+ if (currentLanguage >= LANGUAGE_COUNT ) {
25
+ return lang_en_US [stringID ];
26
+ }
27
+ const char * string = languageData [currentLanguage ].strings [stringID ];
29
28
return string && strlen (string ) > 0 ? string : lang_en_US [stringID ];
30
29
}
31
30
32
- void setLanguage (Language lang ) {
33
- currentLanguage = lang ;
34
- }
31
+ void setLanguage (Language lang ) { currentLanguage = lang ; }
35
32
36
- const char * getLangDesc (Language lang ){
37
- if (lang == LANGUAGE_ZH_HANS ){
33
+ const char * getLangDesc (Language lang ) {
34
+ if (lang == LANGUAGE_ZH_HANS ) {
38
35
return "简体中文" ;
39
- }else if (lang == LANGUAGE_EN_US ){
36
+ } else if (lang == LANGUAGE_EN_US ) {
40
37
return "English" ;
41
- }else if (lang == LANGUAGE_ZH_TW ){
38
+ } else if (lang == LANGUAGE_ZH_TW ) {
42
39
return "繁體中文(臺灣)" ;
43
- }else if (lang == LANGUAGE_ES_ES ){
44
- return "Español" ;
45
- }else if (lang == LANGUAGE_HU_HU ){
46
- return "Magyar" ;
47
- }else if (lang == LANGUAGE_DE_DE ){
48
- return "Deutsch" ;
49
- }else if (lang == LANGUAGE_FR_FR ){
50
- return "Français" ;
51
- }else if (lang == LANGUAGE_NL_NL ){
52
- return "Dutch (Nederlands)" ;
53
- }else if (lang == LANGUAGE_PT_BR ){
54
- return "Português(Brazil)" ;
55
- }else if (lang == LANGUAGE_JA_JP ){
56
- return "日本語" ;
57
- }else if (lang == LANGUAGE_PT_PT ){
58
- return "Português(Portugal)" ;
40
+ } else if (lang == LANGUAGE_ES_ES ) {
41
+ return "Español" ;
42
+ } else if (lang == LANGUAGE_HU_HU ) {
43
+ return "Magyar" ;
44
+ } else if (lang == LANGUAGE_DE_DE ) {
45
+ return "Deutsch" ;
46
+ } else if (lang == LANGUAGE_FR_FR ) {
47
+ return "Français" ;
48
+ } else if (lang == LANGUAGE_NL_NL ) {
49
+ return "Dutch (Nederlands)" ;
50
+ } else if (lang == LANGUAGE_PT_BR ) {
51
+ return "Português(Brazil)" ;
52
+ } else if (lang == LANGUAGE_JA_JP ) {
53
+ return "日本語" ;
54
+ } else if (lang == LANGUAGE_PT_PT ) {
55
+ return "Português(Portugal)" ;
56
+ } else {
57
+ return "@@LANG@@" ;
59
58
}
60
59
}
61
60
62
- Language getLanguage () {
63
- return currentLanguage ;
64
- }
61
+ Language getLanguage () { return currentLanguage ; }
0 commit comments