mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-12 10:30:28 +00:00
(svn r15696) -Codechange: move the NewGRF language ID into the language file instead of maintaining a table in the code.
This commit is contained in:
parent
f6e4bc765a
commit
eb0d43aadd
@ -2,6 +2,7 @@
|
||||
##ownname Jaybee
|
||||
##isocode af_ZA
|
||||
##winlangid 0x0436
|
||||
##grflangid 0x1b
|
||||
##plural 0
|
||||
##gender male
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Arabic (Egypt)
|
||||
##isocode ar_EG
|
||||
##winlangid 0x0c01
|
||||
##grflangid 0x14
|
||||
##plural 1
|
||||
##textdir rtl
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Português (BR)
|
||||
##isocode pt_BR
|
||||
##winlangid 0x0416
|
||||
##grflangid 0x37
|
||||
##plural 2
|
||||
##gender m f
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Български
|
||||
##isocode bg_BG
|
||||
##winlangid 0x0402
|
||||
##grflangid 0x18
|
||||
##plural 0
|
||||
##case m f n p
|
||||
##gender m f n p
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Català
|
||||
##isocode ca_ES
|
||||
##winlangid 0x0403
|
||||
##grflangid 0x22
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Hrvatski
|
||||
##isocode hr_HR
|
||||
##winlangid 0x041a
|
||||
##grflangid 0x38
|
||||
##plural 6
|
||||
##case nom gen dat aku vok lok ins
|
||||
##gender male female middle
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Čeština
|
||||
##isocode cs_CZ
|
||||
##winlangid 0x0405
|
||||
##grflangid 0x15
|
||||
##plural 6
|
||||
##case nom gen dat acc voc loc ins big small
|
||||
##gender m f n
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Dansk
|
||||
##isocode da_DA
|
||||
##winlangid 0x0406
|
||||
##grflangid 0x2d
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Nederlands
|
||||
##isocode nl_NL
|
||||
##winlangid 0x0413
|
||||
##grflangid 0x1f
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname English (UK)
|
||||
##isocode en_GB
|
||||
##winlangid 0x0809
|
||||
##grflangid 0x01
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname English (US)
|
||||
##isocode en_US
|
||||
##winlangid 0x0409
|
||||
##grflangid 0x00
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Esperanto
|
||||
##isocode eo_EO
|
||||
##winlangid 0x0000
|
||||
##grflangid 0x05
|
||||
##plural 0
|
||||
##case n
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Eesti keel
|
||||
##isocode et_ET
|
||||
##winlangid 0x0425
|
||||
##grflangid 0x34
|
||||
##plural 0
|
||||
##case g in
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Suomi
|
||||
##isocode fi_FI
|
||||
##winlangid 0x040b
|
||||
##grflangid 0x35
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Français
|
||||
##isocode fr_FR
|
||||
##winlangid 0x040c
|
||||
##grflangid 0x03
|
||||
##plural 2
|
||||
##gender m m2 f
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Galego
|
||||
##isocode gl_ES
|
||||
##winlangid 0x0456
|
||||
##grflangid 0x31
|
||||
##plural 0
|
||||
##gender m f n
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Deutsch
|
||||
##isocode de_DE
|
||||
##winlangid 0x0407
|
||||
##grflangid 0x02
|
||||
##plural 0
|
||||
##gender m w n p
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname עברית
|
||||
##isocode he_IL
|
||||
##winlangid 0x040d
|
||||
##grflangid 0x61
|
||||
##plural 0
|
||||
##gender m f
|
||||
##textdir rtl
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Magyar
|
||||
##isocode hu_HU
|
||||
##winlangid 0x040e
|
||||
##grflangid 0x24
|
||||
##plural 2
|
||||
##case t ba
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Íslenska
|
||||
##isocode is_IS
|
||||
##winlangid 0x040f
|
||||
##grflangid 0x29
|
||||
##plural 0
|
||||
##gender karlkyn kvenkyn hvorugkyn
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Bahasa Indonesia
|
||||
##isocode id_ID
|
||||
##winlangid 0x0421
|
||||
##grflangid 0x5a
|
||||
##plural 1
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Italiano
|
||||
##isocode it_IT
|
||||
##winlangid 0x0410
|
||||
##grflangid 0x27
|
||||
##plural 0
|
||||
##case ms mp fs fp
|
||||
##gender m f
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname 日本語
|
||||
##isocode ja_JP
|
||||
##winlangid 0x0411
|
||||
##grflangid 0x39
|
||||
##plural 1
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname 한국어
|
||||
##isocode ko_KR
|
||||
##winlangid 0x0412
|
||||
##grflangid 0x3a
|
||||
##plural 1
|
||||
##gender m f
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Latviešu
|
||||
##isocode lv_LV
|
||||
##winlangid 0x0426
|
||||
##grflangid 0x2a
|
||||
##plural 3
|
||||
##case kas
|
||||
##gender m f
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Lietuvių
|
||||
##isocode lt_LT
|
||||
##winlangid 0x0427
|
||||
##grflangid 0x2b
|
||||
##plural 5
|
||||
##case kas ko kam ka kuo kur kreip
|
||||
##gender vyr mot
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Luxembourgish
|
||||
##isocode lb_LU
|
||||
##winlangid 0x046e
|
||||
##grflangid 0x23
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Norsk (bokmål)
|
||||
##isocode nb_NO
|
||||
##winlangid 0x0414
|
||||
##grflangid 0x2f
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Norsk, Nynorsk
|
||||
##isocode nn_NO
|
||||
##winlangid 0x0814
|
||||
##grflangid 0x0e
|
||||
##plural 0
|
||||
##gender masculine feminine neuter
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Original vehicle names (ENG)
|
||||
##isocode xx_OV
|
||||
##winlangid 0x0000
|
||||
##grflangid 0x01
|
||||
|
||||
##id 0x8000
|
||||
STR_8000_KIRBY_PAUL_TANK_STEAM :Collett Pannier Tank (Steam)
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Igpay atinlay
|
||||
##isocode xx_PL
|
||||
##winlangid 0x0000
|
||||
##grflangid 0x01
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Polski
|
||||
##isocode pl_PL
|
||||
##winlangid 0x0415
|
||||
##grflangid 0x30
|
||||
##plural 7
|
||||
##case d c b n m w
|
||||
##gender m f n
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Português
|
||||
##isocode pt_PT
|
||||
##winlangid 0x0816
|
||||
##grflangid 0x36
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Românã
|
||||
##isocode ro_RO
|
||||
##winlangid 0x0418
|
||||
##grflangid 0x28
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Русский
|
||||
##isocode ru_RU
|
||||
##winlangid 0x0419
|
||||
##grflangid 0x07
|
||||
##plural 6
|
||||
##case m f n p
|
||||
##gender m f n p
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname 简体中文
|
||||
##isocode zh_CN
|
||||
##winlangid 0x0804
|
||||
##grflangid 0x56
|
||||
##plural 1
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Slovensky
|
||||
##isocode sk_SK
|
||||
##winlangid 0x041b
|
||||
##grflangid 0x16
|
||||
##plural 6
|
||||
##case g
|
||||
##gender m z s
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Slovenščina
|
||||
##isocode sl_SL
|
||||
##winlangid 0x0424
|
||||
##grflangid 0x2c
|
||||
##plural 8
|
||||
##case r d t
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Español (ES)
|
||||
##isocode es_ES
|
||||
##winlangid 0x0c0a
|
||||
##grflangid 0x04
|
||||
##plural 0
|
||||
##gender masculino femenino
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Svenska
|
||||
##isocode sv_SE
|
||||
##winlangid 0x081d
|
||||
##grflangid 0x2e
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname 繁體中文
|
||||
##isocode zh_TW
|
||||
##winlangid 0x0404
|
||||
##grflangid 0x0c
|
||||
##plural 1
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Türkçe
|
||||
##isocode tr_TR
|
||||
##winlangid 0x041f
|
||||
##grflangid 0x3e
|
||||
##plural 1
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Українська
|
||||
##isocode uk_UA
|
||||
##winlangid 0x0422
|
||||
##grflangid 0x33
|
||||
##plural 6
|
||||
##gender m f s mn
|
||||
##case r d z
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Frysk
|
||||
##isocode fy_NL
|
||||
##winlangid 0x0462
|
||||
##grflangid 0x32
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Ελληνικά
|
||||
##isocode el_GR
|
||||
##winlangid 0x0408
|
||||
##grflangid 0x1e
|
||||
##plural 0
|
||||
##gender m f n
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
##name Ido
|
||||
##ownname Ido
|
||||
##isocode io_XX
|
||||
##isocode io_IO
|
||||
##winlangid 0x0000
|
||||
##grflangid 0x06
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Македонски
|
||||
##isocode mk_MK
|
||||
##winlangid 0x042f
|
||||
##grflangid 0x26
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Melayu
|
||||
##isocode ms_MY
|
||||
##winlangid 0x043a
|
||||
##grflangid 0x3c
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname فارسی
|
||||
##isocode fa_IR
|
||||
##winlangid 0x0429
|
||||
##grflangid 0x62
|
||||
##plural 0
|
||||
##textdir rtl
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
##name Serbian
|
||||
##ownname Srpski
|
||||
##isocode srp
|
||||
##isocode sr_RS
|
||||
##winlangid 0x7c1a
|
||||
##grflangid 0x0d
|
||||
##plural 6
|
||||
##case nom big gen dat aku vok lok ins
|
||||
##gender muški ženski srednji
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Thai
|
||||
##isocode th_TH
|
||||
##winlangid 0x041e
|
||||
##grflangid 0x42
|
||||
##plural 1
|
||||
##textdir ltr
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Urdu
|
||||
##isocode ur_PK
|
||||
##winlangid 0x0420
|
||||
##grflangid 0x5c
|
||||
##plural 0
|
||||
##textdir rtl
|
||||
##gender m f
|
||||
|
@ -2,6 +2,7 @@
|
||||
##ownname Cymraeg
|
||||
##isocode cy_GB
|
||||
##winlangid 0x0452
|
||||
##grflangid 0x0f
|
||||
##plural 0
|
||||
|
||||
#
|
||||
|
@ -27,7 +27,7 @@
|
||||
* the grf base will not be used in order to find the string, but rather for
|
||||
* jumping from standard langID scheme to the new one.
|
||||
*/
|
||||
enum grf_base_languages {
|
||||
enum GRFBaseLanguages {
|
||||
GRFLB_AMERICAN = 0x01,
|
||||
GRFLB_ENGLISH = 0x02,
|
||||
GRFLB_GERMAN = 0x04,
|
||||
@ -36,101 +36,15 @@ enum grf_base_languages {
|
||||
GRFLB_GENERIC = 0x80,
|
||||
};
|
||||
|
||||
enum grf_extended_languages {
|
||||
enum GRFExtendedLanguages {
|
||||
GRFLX_AMERICAN = 0x00,
|
||||
GRFLX_ENGLISH = 0x01,
|
||||
GRFLX_GERMAN = 0x02,
|
||||
GRFLX_FRENCH = 0x03,
|
||||
GRFLX_SPANISH = 0x04,
|
||||
GRFLX_ESPERANTO = 0x05,
|
||||
GRFLX_RUSSIAN = 0x07,
|
||||
GRFLX_CZECH = 0x15,
|
||||
GRFLX_SLOVAK = 0x16,
|
||||
GRFLX_BULGARIAN = 0x18,
|
||||
GRFLX_AFRIKAANS = 0x1B,
|
||||
GRFLX_GREEK = 0x1E,
|
||||
GRFLX_DUTCH = 0x1F,
|
||||
GRFLX_CATALAN = 0x22,
|
||||
GRFLX_HUNGARIAN = 0x24,
|
||||
GRFLX_ITALIAN = 0x27,
|
||||
GRFLX_ROMANIAN = 0x28,
|
||||
GRFLX_ICELANDIC = 0x29,
|
||||
GRFLX_LATVIAN = 0x2A,
|
||||
GRFLX_LITHUANIAN = 0x2B,
|
||||
GRFLX_SLOVENIAN = 0x2C,
|
||||
GRFLX_DANISH = 0x2D,
|
||||
GRFLX_SWEDISH = 0x2E,
|
||||
GRFLX_NORWEGIAN = 0x2F,
|
||||
GRFLX_POLISH = 0x30,
|
||||
GRFLX_GALICIAN = 0x31,
|
||||
GRFLX_FRISIAN = 0x32,
|
||||
GRFLX_UKRAINIAN = 0x33,
|
||||
GRFLX_ESTONIAN = 0x34,
|
||||
GRFLX_FINNISH = 0x35,
|
||||
GRFLX_PORTUGUESE = 0x36,
|
||||
GRFLX_BRAZILIAN = 0x37,
|
||||
GRFLX_CROATIAN = 0x38,
|
||||
GRFLX_JAPANESE = 0x39,
|
||||
GRFLX_KOREAN = 0x3A,
|
||||
GRFLX_TURKISH = 0x3E,
|
||||
GRFLX_UNSPECIFIED = 0x7F,
|
||||
};
|
||||
|
||||
|
||||
struct iso_grf {
|
||||
char code[6];
|
||||
byte grfLangID;
|
||||
};
|
||||
|
||||
/**
|
||||
* ISO code VS NewGrf langID conversion array.
|
||||
* This array is used in two ways:
|
||||
* 1-its ISO part is matching OpenTTD dynamic language id
|
||||
* with newgrf bit positionning language id
|
||||
* 2-its shift part is used to know what is the shift to
|
||||
* watch for when inserting new strings, hence analysing newgrf langid
|
||||
*/
|
||||
const iso_grf iso_codes[] = {
|
||||
{"en_US", GRFLX_AMERICAN},
|
||||
{"en_GB", GRFLX_ENGLISH},
|
||||
{"de_DE", GRFLX_GERMAN},
|
||||
{"fr_FR", GRFLX_FRENCH},
|
||||
{"es_ES", GRFLX_SPANISH},
|
||||
{"af_ZA", GRFLX_AFRIKAANS},
|
||||
{"hr_HR", GRFLX_CROATIAN},
|
||||
{"cs_CZ", GRFLX_CZECH},
|
||||
{"ca_ES", GRFLX_CATALAN},
|
||||
{"da_DA", GRFLX_DANISH},
|
||||
{"nl_NL", GRFLX_DUTCH},
|
||||
{"et_ET", GRFLX_ESTONIAN},
|
||||
{"fi_FI", GRFLX_FINNISH},
|
||||
{"fy_NL", GRFLX_FRISIAN},
|
||||
{"gl_ES", GRFLX_GALICIAN},
|
||||
{"el_GR", GRFLX_GREEK},
|
||||
{"hu_HU", GRFLX_HUNGARIAN},
|
||||
{"is_IS", GRFLX_ICELANDIC},
|
||||
{"it_IT", GRFLX_ITALIAN},
|
||||
{"lv_LV", GRFLX_LATVIAN},
|
||||
{"lt_LT", GRFLX_LITHUANIAN},
|
||||
{"nb_NO", GRFLX_NORWEGIAN},
|
||||
{"pl_PL", GRFLX_POLISH},
|
||||
{"pt_PT", GRFLX_PORTUGUESE},
|
||||
{"pt_BR", GRFLX_BRAZILIAN},
|
||||
{"ro_RO", GRFLX_ROMANIAN},
|
||||
{"ru_RU", GRFLX_RUSSIAN},
|
||||
{"sk_SK", GRFLX_SLOVAK},
|
||||
{"sl_SL", GRFLX_SLOVENIAN},
|
||||
{"sv_SE", GRFLX_SWEDISH},
|
||||
{"tr_TR", GRFLX_TURKISH},
|
||||
{"uk_UA", GRFLX_UKRAINIAN},
|
||||
{"eo_EO", GRFLX_ESPERANTO},
|
||||
{"bg_BG", GRFLX_BULGARIAN},
|
||||
{"ja_JP", GRFLX_JAPANESE},
|
||||
{"ko_KR", GRFLX_KOREAN},
|
||||
{"gen", GRFLB_GENERIC} ///< this is not iso code, but there has to be something...
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Element of the linked list.
|
||||
* Each of those elements represent the string,
|
||||
@ -453,26 +367,13 @@ const char *GetGRFStringPtr(uint16 stringid)
|
||||
* Equivalence Setter function between game and newgrf langID.
|
||||
* This function will adjust _currentLangID as to what is the LangID
|
||||
* of the current language set by the user.
|
||||
* The array iso_codes will be used to find that match.
|
||||
* If not found, it will have to be standard english
|
||||
* This function is called after the user changed language,
|
||||
* from strings.cpp:ReadLanguagePack
|
||||
* @param iso_name iso code of current selection
|
||||
* @param langauge_id iso code of current selection
|
||||
*/
|
||||
void SetCurrentGrfLangID(const char *iso_name)
|
||||
void SetCurrentGrfLangID(byte language_id)
|
||||
{
|
||||
/* Use English by default, if we can't match up the iso_code. */
|
||||
byte ret = GRFLX_ENGLISH;
|
||||
byte i;
|
||||
|
||||
for (i=0; i < lengthof(iso_codes); i++) {
|
||||
if (strncmp(iso_codes[i].code, iso_name, strlen(iso_codes[i].code)) == 0) {
|
||||
/* We found a match, so let's use it. */
|
||||
ret = iso_codes[i].grfLangID;
|
||||
break;
|
||||
}
|
||||
}
|
||||
_currentLangID = ret;
|
||||
_currentLangID = language_id;
|
||||
}
|
||||
|
||||
bool CheckGrfLangID(byte lang_id, byte grf_version)
|
||||
|
@ -9,7 +9,7 @@ StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid, bool new_schem
|
||||
StringID GetGRFStringID(uint32 grfid, uint16 stringid);
|
||||
const char *GetGRFStringPtr(uint16 stringid);
|
||||
void CleanUpStrings();
|
||||
void SetCurrentGrfLangID(const char *iso_name);
|
||||
void SetCurrentGrfLangID(byte language_id);
|
||||
char *TranslateTTDPatchCodes(uint32 grfid, const char *str);
|
||||
|
||||
bool CheckGrfLangID(byte lang_id, byte grf_version);
|
||||
|
@ -88,6 +88,7 @@ static char _lang_name[32], _lang_ownname[32], _lang_isocode[16];
|
||||
static byte _lang_pluralform;
|
||||
static byte _lang_textdir;
|
||||
static uint16 _lang_winlangid;
|
||||
static uint8 _lang_newgrflangid;
|
||||
#define MAX_NUM_GENDER 8
|
||||
static char _genders[MAX_NUM_GENDER][16];
|
||||
static uint _numgenders;
|
||||
@ -663,12 +664,19 @@ static void HandlePragma(char *str)
|
||||
error("Invalid textdir %s", str + 8);
|
||||
}
|
||||
} else if (!memcmp(str, "winlangid ", 10)) {
|
||||
char *buf = str + 10;
|
||||
const char *buf = str + 10;
|
||||
long langid = strtol(buf, NULL, 16);
|
||||
if (langid > UINT16_MAX || langid < 0) {
|
||||
error("Invalid winlangid %s", buf);
|
||||
}
|
||||
_lang_winlangid = (uint16)langid;
|
||||
} else if (!memcmp(str, "grflangid ", 10)) {
|
||||
const char *buf = str + 10;
|
||||
long langid = strtol(buf, NULL, 16);
|
||||
if (langid >= 0x7F || langid < 0) {
|
||||
error("Invalid grflangid %s", buf);
|
||||
}
|
||||
_lang_newgrflangid = (uint8)langid;
|
||||
} else if (!memcmp(str, "gender ", 7)) {
|
||||
char *buf = str + 7;
|
||||
|
||||
@ -933,6 +941,7 @@ static void ParseFile(const char *file, bool english)
|
||||
_lang_name[0] = _lang_ownname[0] = _lang_isocode[0] = '\0';
|
||||
_lang_textdir = TD_LTR;
|
||||
_lang_winlangid = 0x0000; // neutral language code
|
||||
_lang_newgrflangid = 0; // standard english
|
||||
// TODO:!! We can't reset the cases. In case the translated strings
|
||||
// derive some strings from english....
|
||||
|
||||
@ -1183,6 +1192,7 @@ static void WriteLangfile(const char *filename)
|
||||
hdr.plural_form = _lang_pluralform;
|
||||
hdr.text_dir = _lang_textdir;
|
||||
hdr.winlangid = TO_LE16(_lang_winlangid);
|
||||
hdr.newgrflangid = _lang_newgrflangid;
|
||||
strcpy(hdr.name, _lang_name);
|
||||
strcpy(hdr.own_name, _lang_ownname);
|
||||
strcpy(hdr.isocode, _lang_isocode);
|
||||
|
@ -23,7 +23,8 @@ struct LanguagePackHeader {
|
||||
* http://msdn.microsoft.com/en-us/library/ms776294.aspx
|
||||
*/
|
||||
uint16 winlangid; // windows language id
|
||||
/* byte pad[0]; // pad header to be a multiple of 4 */
|
||||
uint8 newgrflangid; // newgrf language id
|
||||
byte pad[3]; // pad header to be a multiple of 4
|
||||
};
|
||||
|
||||
assert_compile(sizeof(LanguagePackHeader) % 4 == 0);
|
||||
|
@ -1315,7 +1315,7 @@ bool ReadLanguagePack(int lang_index)
|
||||
|
||||
_dynlang.curr = lang_index;
|
||||
_dynlang.text_dir = (TextDirection)lang_pack->text_dir;
|
||||
SetCurrentGrfLangID(_langpack->isocode);
|
||||
SetCurrentGrfLangID(_langpack->newgrflangid);
|
||||
SortNetworkLanguages();
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user