
22.2.1.5 Examples
The following three examples retrieve the same strings, but have different effects on the text
domain. The first example does not change the current text domain. The second and third
examples change the current text domain to library_error_strings, then retrieve the
foreign language string of wrongbutton.
message = dgettext("library_error_strings",
"wrongbutton");
textdomain("library_error_strings");
message = gettext("wrongbutton");
textdomain("library_error_strings");
message = dgettext("", "wrongbutton"); \\* "" = current domain *\\
22.2.1.6 XV_LOCALE_DIR
If XV_LOCALE_DIR is set in xv_init(), XView calls bindtextdomain() on the appli-
cation’s behalf to prepend the pathname specified by XV_LOCALE_DIR to the default domain
path list. All unbound text domains would be located in the directory with the general format:
<XV_LOCALE_DIR>/<Display Language Setting>/LC_MESSAGES/domain
"domain” is the name of the text domains. The default value of XV_LOCALE_DIR is
$OPENWINHOME/lib/locale.
An example, using XV_LOCALE_DIR follows:
xv_init(XV_INIT_ARGS, argc, argv,
XV_LOCALE_DIR, "/app_home/lib/locale",
NULL);
22.2.2 Creating a Text Domain
Once the program is written using gettext() and dgettext(), text domains are created
using the following procedures:
1. For example, you could run xgettext on the following source file fragment (see the
man page for xgettext for proper usage):
message1 = dgette