docs/HOWTO_compile_lang_files.txt
author celestar
Sun, 11 Mar 2007 09:28:58 +0000
branchcustombridgeheads
changeset 5651 335d9bd345b0
parent 5592 fd60d4ecc921
permissions -rw-r--r--
(svn r9109) [cbh] -Fix: Stabilize the reversing of trains on bridges/bridgeheads a little (it still crashes at times however). Also re-allow the construction of signals on bridgeheads
5592
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     1
STRGEN USAGE
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     2
------------
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     3
This guide is only interesting for people who want to alter something
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     4
themselves without access to WT2 (translator2.openttd.org). Please note that
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     5
your compiled language file will only be compatible with the OpenTTD version
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     6
you have downloaded english.txt, the master language file, for. While this is
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     7
not always true, namely when changes in the code have not touched language
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     8
files, your safest bet is to assume this 'limitation'.
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
     9
As a first step you need to compile strgen. This is as easy as typing
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    10
'make strgen'. You can also download a precompiled binary from a release,
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    11
nightly, etc.
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    12
strgen takes as argument a txt file and translates it to a lng file, allowing
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    13
it to be used inside OpenTTD. strgen needs the master language file
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    14
english.txt to work. Below are some examples of strgen usage.
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    15
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    16
EXAMPLES
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    17
--------
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    18
Example 1:
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    19
if you are in the root of your working copy (svn code), you should type
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    20
strgen/strgen -s lang lang/english.txt
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    21
to compile englist.txt into english.lng. It will be placed in the lang dir
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    22
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    23
Example 2:
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    24
you only have the strgen executable (no working copy) and you want to compile
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    25
a txt file in the same directory. You should type
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    26
./strgen english.txt
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    27
and you will get and english.lng in the same dir
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    28
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    29
Example 3:
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    30
you have strgen somewhere, english.txt in /usr/openttd/lang and you want the
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    31
resulting language file to go to /tmp. Use
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    32
./strgen -s /usr/openttd/lang -d /tmp english.txt
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    33
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    34
You can interchange english.txt to whichever language you want to generate a
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    35
.lng file for.
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    36
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    37
STRGEN COMMAND SWITCHES
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    38
-----------------------
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    39
-v | --version
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    40
strgen will tell what svn revision it was last modified
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    41
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    42
-t | --todo
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    43
strgen will add <TODO> to any untranslated/missing strings and use the english
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    44
strings while compiling the language file
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    45
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    46
-w | --warning
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    47
strgen will print any missing strings or wrongly translated (bad format)
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    48
to standard error output(stderr)
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    49
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    50
-h | --help | -?
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    51
Print out a summarized help message explaining these switches
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    52
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    53
-s | --source_dir
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    54
strgen will search for the master file english.txt in the directory specified
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    55
by this switch instead of the current directory
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    56
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    57
-d | --dest_dir
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    58
strgen will put <language>.lng in the directory specified by this switch; if
fd60d4ecc921 (svn r7608) [cbh] - Merge with trunk r7593:7607 because I need 7607 here
celestar
parents:
diff changeset
    59
no dest_dir is given, output is the same as source_dir