Skip to Content
Linux in a Nutshell, 6th Edition
book

Linux in a Nutshell, 6th Edition

by Ellen Siever, Stephen Figgins, Robert Love, Arnold Robbins
September 2009
Beginner
942 pages
85h 34m
English
O'Reilly Media, Inc.
Content preview from Linux in a Nutshell, 6th Edition

Internationalization

You can internationalize your programs if you use gawk. This consists of choosing a text domain for your program, marking strings that are to be translated, and, if necessary, using the bindtextdomain( ), dcgettext( ), and dcngettext( ) functions.

Localizing your program consists of extracting the marked strings, creating translations, and compiling and installing the translations in the proper place. Full details are given in sed & awk by Dale Dougherty and Arnold Robbins (O’Reilly).

The internationalization features in gawk use GNU gettext. You may need to install the GNU gettext tools to create translations if your system doesn’t already have them. Here is a very brief outline of the steps involved:

  1. Set TEXTDOMAIN to your text domain in a BEGIN block:

    BEGIN { TEXTDOMAIN = "whizprog" }
  2. Mark all strings to be translated by prepending a leading underscore:

    printf(_"whizprog: can't open /dev/telepath (%s)\n",
                      dcgettext(ERRNO)) > "/dev/stderr"
  3. Extract the strings with the --gen-po option:

    $ gawk --gen-po -f whizprog.awk > whizprog.pot
  4. Copy the file for translating, and make the translations:

    $ cp whizprog.pot esperanto.po
    $ ed esperanto.po
  5. Use the msgfmt program from GNU gettext to compile the translations. The binary format allows fast lookup of the translations at runtime. The default output is a file named messages:

    $ msgfmt esperanto.po
    $ mv messages esperanto.mo
  6. Install the file in the standard location. This is usually done at program installation. The location can vary ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Unix in a Nutshell, 4th Edition

Unix in a Nutshell, 4th Edition

Arnold Robbins
Linux Under the Hood

Linux Under the Hood

Sander van Vugt
Linux Kernel in a Nutshell

Linux Kernel in a Nutshell

Greg Kroah-Hartman

Publisher Resources

ISBN: 9780596806088Errata Page