(gettext.info)Special Keywords


Next: Quote-like Expressions Prev: Default Keywords Up: Perl
Enter node , (file) or (file)node

15.5.18.3 How to Extract Hash Keys
..................................

   Translating messages at runtime is normally performed by looking up
the original string in the translation database and returning the
translated version.  The “natural” Perl implementation is a hash lookup,
and, of course, ‘xgettext’ supports such practice.

     print __"Hello world!";
     print $__{"Hello world!"};
     print $__->{"Hello world!"};
     print $$__{"Hello world!"};

   The above four lines all do the same thing.  The Perl module
‘Locale::TextDomain’ exports by default a hash ‘%__’ that is tied to the
function ‘__()’.  It also exports a reference ‘$__’ to ‘%__’.

   If an argument to the ‘xgettext’ option ‘--keyword’, resp.  ‘-k’
starts with a percent sign, the rest of the keyword is interpreted as
the name of a hash.  If it starts with a dollar sign, the rest of the
keyword is interpreted as a reference to a hash.

   Note that you can omit the quotation marks (single or double) around
the hash key (almost) whenever Perl itself allows it:

     print $gettext{Error};

   The exact rule is: You can omit the surrounding quotes, when the hash
key is a valid C (!)  identifier, i.e. when it starts with an underscore
or an ASCII letter and is followed by an arbitrary number of
underscores, ASCII letters or digits.  Other Unicode characters are
_not_ allowed, regardless of the ‘use utf8’ pragma.


automatically generated by info2www version 1.2.2.9