gettext: Perl

 
 15.5.21 Perl
 ------------
 
 RPMs
      perl
 
 Ubuntu packages
      perl, libintl-perl
 
 File extension
      ‘pl’, ‘PL’, ‘pm’, ‘perl’, ‘cgi’
 
 String syntax
 
         • ‘"abc"’
 
         • ‘'abc'’
 
         • ‘qq (abc)’
 
         • ‘q (abc)’
 
         • ‘qr /abc/’
 
         • ‘qx (/bin/date)’
 
         • ‘/pattern match/’
 
         • ‘?pattern match?’
 
         • ‘s/substitution/operators/’
 
         • ‘$tied_hash{"message"}’
 
         • ‘$tied_hash_reference->{"message"}’
 
         • etc., issue the command ‘man perlsyn’ for details
 
 gettext shorthand
      ‘__’ (double underscore)
 
 gettext/ngettext functions
      ‘gettext’, ‘dgettext’, ‘dcgettext’, ‘ngettext’, ‘dngettext’,
      ‘dcngettext’, ‘pgettext’, ‘dpgettext’, ‘dcpgettext’, ‘npgettext’,
      ‘dnpgettext’, ‘dcnpgettext’
 
 textdomain
      ‘textdomain’ function
 
 bindtextdomain
      ‘bindtextdomain’ function
 
 bind_textdomain_codeset
      ‘bind_textdomain_codeset’ function
 
 setlocale
      Use ‘setlocale (LC_ALL, "");’
 
 Prerequisite
      ‘use POSIX;’
      ‘use Locale::TextDomain;’ (included in the package libintl-perl
      which is available on the Comprehensive Perl Archive Network CPAN,
      https://www.cpan.org/).
 
 Use or emulate GNU gettext
      platform dependent: gettext_pp emulates, gettext_xs uses GNU
      gettext
 
 Extractor
      ‘xgettext -k__ -k\$__ -k%__ -k__x -k__n:1,2 -k__nx:1,2 -k__xn:1,2
      -kN__ -kN__n:1,2 -k__p:1c,2 -k__np:1c,2,3 -kN__p:1c,2
      -kN__np:1c,2,3’
 
 Formatting with positions
      Both kinds of format strings support formatting with positions.
      ‘printf "%2\$d %1\$d", ...’ (requires Perl 5.8.0 or newer)
      ‘__expand("[new] replaces [old]", old => $oldvalue, new =>
      $newvalue)’
 
 Portability
      The ‘libintl-perl’ package is platform independent but is not part
      of the Perl core.  The programmer is responsible for providing a
      dummy implementation of the required functions if the package is
      not installed on the target system.
 
 po-mode marking
      —
 
 Documentation
      Included in ‘libintl-perl’, available on CPAN
      (https://www.cpan.org/).
 
    An example is available in the ‘examples’ directory: ‘hello-perl’.
 
    The ‘xgettext’ parser backend for Perl differs significantly from the
 parser backends for other programming languages, just as Perl itself
 differs significantly from other programming languages.  The Perl parser
 backend offers many more string marking facilities than the other
 backends but it also has some Perl specific limitations, the worst
 probably being its imperfectness.
 

Menu