GNU gettext utilities: Pascal

From Get docs
Gettext/docs/latest/Pascal


15.5.16 Pascal - Free Pascal Compiler

RPMs
fpk
Ubuntu packages
fp-compiler, fp-units-fcl
File extension
pp, pas
String syntax
'abc'
gettext shorthand
automatic
gettext/ngettext functions
—, use ResourceString data type instead
textdomain
—, use TranslateResourceStrings function instead
bindtextdomain
—, use TranslateResourceStrings function instead
setlocale
automatic, but uses only LANG, not LC_MESSAGES or LC_ALL
Prerequisite
{$mode delphi} or {$mode objfpc}

uses gettext;

Use or emulate GNU gettext
emulate partially
Extractor
ppc386 followed by xgettext or rstconv
Formatting with positions
uses sysutils;

format "%1:d %0:d"

Portability
?
po-mode marking

The Pascal compiler has special support for the ResourceString data type. It generates a .rst file. This is then converted to a .pot file by use of xgettext or rstconv. At runtime, a .mo file corresponding to translations of this .pot file can be loaded using the TranslateResourceStrings function in the gettext unit.

An example is available in the examples directory: hello-pascal.