| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] | 
awk Programs 
gawk provides the following variables and functions for
internationalization:
TEXTDOMAIN
gettext, the default
value is "messages".
_"your message here"
dcgettext(string [, domain [, category]])
TEXTDOMAIN.
The default value for category is "LC_MESSAGES".
If you supply a value for category, it must be a string equal to
one of the known locale categories described in
the previous section.
GNU gettext.
You must also supply a text domain.  Use TEXTDOMAIN if
you want to use the current domain.
Caution: The order of arguments to the awk version
of the dcgettext function is purposely different from the order for
the C version.  The awk version's order was
chosen to be simple and to allow for reasonable awk-style
default arguments.
bindtextdomain(directory [, domain])
gettext looks for `.mo' files, in case they
will not or cannot be placed in the standard locations
(e.g., during testing).
It returns the directory where domain is "bound."
The default domain is the value of TEXTDOMAIN.
If directory is the null string (""), then
bindtextdomain returns the current binding for the
given domain.
To use these facilities in your awk program, follow the steps
outlined in
the previous section,
GNU gettext,
like so:
TEXTDOMAIN to the text domain of
your program.  This is best done in a BEGIN rule
(see section The BEGIN and END Special Patterns),
or it can also be done via the `-v' command-line
option (see section Command-Line Options):
BEGIN {
    TEXTDOMAIN = "guide"
    ...
}
 | 
print _"hello, world" x = _"you goofed" printf(_"Number of users is %d\n", nusers)  | 
dcgettext
built-in function.
message = nusers " users logged in" message = dcgettext(message, "adminprog") print message  | 
Here, the call to dcgettext supplies a different
text domain ("adminprog") in which to find the
message, but it uses the default "LC_MESSAGES" category.
bindtextdomain built-in function:
BEGIN {
   TEXTDOMAIN = "guide"   # our text domain
   if (Testing) {
       # where to find our files
       bindtextdomain("testdir")
       # joe is in charge of adminprog
       bindtextdomain("../joe/testdir", "adminprog")
   }
   ...
}
 | 
See section A Simple Internationalization Example,
for an example program showing the steps necessary to create
and use translations from awk.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |