NML:Language files

From GRFSpecs
Revision as of 17:43, 21 August 2011 by FooBar (talk | contribs) (added reference to action4 language list.)
Jump to navigationJump to search

Language files are usually found in the lang sub-folder of the project, but the place NML looks for the language files can be changed via command line parameter to any directory desired:

nmlc -l path/to/lang-dir path/to/nml-source-file.nml
nmlc --lang-dir=path/to/lang-dir path/to/nml-source-file.nml

Language files MUST have the extension .lng
The language files themselves follow a certain structure:

##grflangid <number>
<string-name>                                                   :<text>
<string-name>                                                   :<text>
...

where the first line must give the language code for the language this file describes (see below). The following lines each describe a string. The translated string follows immediately the colon. An NML project has exactly one fallback language, by default this is english.lng. You can change this with the command line parameter --default-lang. Example for a valid language file:

 ##grflangid 0x01
 STR_GRF_NAME                                                    :{TITLE} 0.1.0 - {VERSION}
 STR_GRF_DESCRIPTION                                             :{TITLE} contains pimped ground tiles.
 STR_NAME_MYVEHICLE                                              :General Robotics Anti-Grav UFO Mark X

Strings may contain a number of special string codes which control how the string is being printed or which values to insert into the string. Custom replacements can be stored in the plain text file custom_tags.txt (for example a newgrf version which is written by your build script). In the case above the custom_tags.txt could, for example read

 VERSION  :alpha-r88
 TITLE    :Example NewGRF

Valid language IDs are listed in the table below.

ID language
00 American
01 English
02 German
03 French
04 Spanish
05 Esperanto
06 Ido
07 Russian
08 Irish
09 Maltese
0A Tamil
0B Chuvash
0C Chinese (Traditional)
0D Serbian
0E Norwegian (Nynorsk)
0F Welsh
10 Belarusian
11 Marathi
12 Faroese
14 Arabic (Egypt)
15 Czech
16 Slovak
18 Bulgarian
1B Afrikaans
1E Greek
1F Dutch
21 Basque
22 Catalan
23 Luxembourgish
24 Hungarian
26 Macedonian
27 Italian
28 Romanian
29 Icelandic
2A Latvian
2B Lithuanian
2C Slovenian
2D Danish
2E Swedish
2F Norwegian (Bokmal)
30 Polish
31 Galician
32 Frisian
33 Ukrainian
34 Estonian
35 Finnish
36 Portuguese
37 Brazilian Portuguese
38 Croatian
39 Japanese
3A Korean
3C Malay
3E Turkish
42 Thai
54 Vietnamese
56 Chinese (Simplified)
5A Indonesian
5C Urdu
61 Hebrew
62 Persian

In case a language is not in this list, check the master language list (for GRFv7) in the NewGRF Specs. This master list is always leading. NFO language ID 7F has no meaning in NML (set --default-lang instead) and setting bit 16 will break your language file.