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