ocaml-gettext - program to manage PO and MO files for OCaml source
files.
ocaml-gettext --action verb options* [file...]
This manual page documents briefly the ocaml-gettext command.
- --action
extract
- Files provided are considered to be OCaml source files and ocaml-gettext
tries to extract translatable strings of it. The output of the command is
a POT file. As a special case, if a file named POTFILES is in the list of
the file provided, every line of it is considered as a file to be
searched.
- --action
compile
- Files provided are considered to be PO file. These files are compiled in
binary MO files,
- --action
install
- Files provided are considered to be MO files. They are installed in their
respective directories considering language, textdomain and category,
- --action
uninstall
- This is the symmetric command to install, but it uninstalls files provided
for the considered language, textdomain and category,
- --action
merge
- Merges a POT file with the provided PO file.
- Command to extract translatable strings from an OCaml source file. This
command should output the same marshalled structure as ocaml-xgettext. The
best to do is to use the same build version of ocaml-gettext.
- Default options used when extracting translatable strings. These options
are camlp4 options and will be passed to ocaml-xgettext when processing
files that don't already have specific camlp4 options.
- Specific filename camlp4 options. It is used when extracting strings from
the specified filename. It overrides default camlp4 options.
- POT file to write when extracting translatable strings.
- --compile-output
filename
- MO file to write when compiling a PO file. If not provided, the output
will be the name of the PO file with ".mo" extension.
- --install-language
language
- Language to use when installing a MO file.
- --install-category
category
- Category to use when installing a MO file.
- --install-textdomain
textdomain
- Textdomain to use when installing a MO file.
- --install-destdir
dirname
- Base directory to use when installing a MO file.
- --uninstall-language
language
- Language to use when uninstalling a MO file.
- --uninstall-category
category
- Category to use when uninstalling a MO file.
- --uninstall-textdomain
textdomain
- Textdomain to use when uninstalling a MO file.
- --uninstall-orgdir
dirname
- Base directory used when uninstalling a MO file.
- --merge-pot
filename
- POT file to use as a master for merging PO file.
- --merge-backup-extension
extension
- Backup extension to use when moving PO file which have been merged.
- --version
- Return version information on ocaml-gettext.
- --short-version
- Returns only the version of ocaml-gettext. The return is made to be easily
parseable by configure script. The output of this command will always be
the shortest version string, made of numeric characters (0-9) and
".". The version strings should be compared considering that a
version A is greater than a version B if there is a number between two
"." of A that is greater than B the corresponding number,
beginning at the right of the string. For example: 0.14 is greater than
0.13.1.
- -help,
--help
- Displays the help about the ocaml-gettext command.
This section describes briefly the common options provided by
programs using ocaml-gettext library.
- --gettext-failsafe
ignore
- Defines the behaviour of ocaml-gettext regarding any error that could be
encountered during the processing of string translation. ignore is the
default behaviour. The string returned is the original string
untranslated. This behaviour is consistent and allows to have a usable
output, even if it is not perfect.
- --gettext-failsafe
inform-stderr
- Same behaviour as ignore, except that a message is printed on stderr,
- --gettext-failsafe
raise-exception
- Stops the program by raising an exception when an error is
encountered.
- --gettext-disable
- Disables any translation made by ocaml-gettext. All translations return
the original string untranslated.
- --gettext-domain-dir
textdomain dir
- Defines a dir to search for a specific domain. This could be useful if MO
files are stored in a non standard directory.
- --gettext-dir
dir
- Adds a directory to search for MO files.
- --gettext-language
language
- Sets the language to use in ocaml-gettext library. The language should be
POSIX compliant. The language should follow the following convention:
lang[_territory][.charset][@modifier]. The lang and territory should be
two letters ISO code. Charset should be a valid ISO character set (at
least recognised by the underlying charset recoding routine). For example,
valid languages are: fr_FR.ISO-8859-1@euro, de_DE.UTF-8.
- --gettext-codeset
codeset
- Sets the codeset for output.
Users should be aware that these command line options, apply only
for strings after the initialisation of the library. This means that if the
options initially guessed by ocaml-gettext don't match the command line
provided, there should be some untranslated string, because these strings
are translated before parsing options. This is particularly true for the
usage message itself (--help): even if the strings are translated, they are
translated before setting the correct option.
Some options (--gettext-codeset for example) are overrided
internally for particular use. It should be required to always translate
strings to UTF-8 in graphical user interface (because GTK2 requires it).
Options --uninstall-language, --uninstall-textdomain,
--install-language and --install-textdomain could be guessed from the
filename provided. You must be aware that these options can conflict with
the fact that you provide several files to install. For example, if you
provide a textdomain, you should either install several MO files which
filenames only reflect the language or only one MO file if you also provide
a language. For example, you can execute ocaml-gettext --install-textdomain
mytextdomain fr.po de.po without problem, but you cannot execute
ocaml-gettext --install-textdomain mytextdomain --install-language fr fr.po
de.po . This restriction is due to the fact that you should not over
specified file installation.
Rules for guessing the language/textdomain are:
language[.textdomain].mo. For a full automated install without giving any
hints, through command line options, you should name your file
fr.mytextdomain.mo or de.mytextdomain.mo.