| @c This file is part of the GNU gettext manual. |
| @c Copyright (C) 1995-2020 Free Software Foundation, Inc. |
| @c See the file gettext.texi for copying conditions. |
| |
| @node Pascal |
| @subsection Pascal - Free Pascal Compiler |
| @cindex Pascal |
| @cindex Free Pascal |
| @cindex Object Pascal |
| |
| @table @asis |
| @item RPMs |
| fpk |
| |
| @item Ubuntu packages |
| fp-compiler, fp-units-fcl |
| |
| @item File extension |
| @code{pp}, @code{pas} |
| |
| @item String syntax |
| @code{'abc'} |
| |
| @item gettext shorthand |
| automatic |
| |
| @item gettext/ngettext functions |
| ---, use @code{ResourceString} data type instead |
| |
| @item textdomain |
| ---, use @code{TranslateResourceStrings} function instead |
| |
| @item bindtextdomain |
| ---, use @code{TranslateResourceStrings} function instead |
| |
| @item setlocale |
| automatic, but uses only LANG, not LC_MESSAGES or LC_ALL |
| |
| @item Prerequisite |
| @code{@{$mode delphi@}} or @code{@{$mode objfpc@}}@*@code{uses gettext;} |
| |
| @item Use or emulate GNU gettext |
| emulate partially |
| |
| @item Extractor |
| @code{ppc386} followed by @code{xgettext} or @code{rstconv} |
| |
| @item Formatting with positions |
| @code{uses sysutils;}@*@code{format "%1:d %0:d"} |
| |
| @item Portability |
| ? |
| |
| @item po-mode marking |
| --- |
| @end table |
| |
| The Pascal compiler has special support for the @code{ResourceString} data |
| type. It generates a @code{.rst} file. This is then converted to a |
| @code{.pot} file by use of @code{xgettext} or @code{rstconv}. At runtime, |
| a @code{.mo} file corresponding to translations of this @code{.pot} file |
| can be loaded using the @code{TranslateResourceStrings} function in the |
| @code{gettext} unit. |
| |
| An example is available in the @file{examples} directory: @code{hello-pascal}. |