[Top] [Contents] [Index] [ ? ]

GNU gettext utilities

1. Introduction  
2. PO Files and PO Mode Basics  
3. Preparing Program Sources  
4. Making the PO Template File  
5. Creating a New PO File  
6. Updating Existing PO Files  
7. Manipulating PO Files  
8. Producing Binary MO Files  
9. The User's View  
10. The Programmer's View  
11. The Translator's View  
12. The Maintainer's View  
13. Other Programming Languages  
14. Concluding Remarks  

A. Language Codes  ISO 639 language codes
B. Country Codes  ISO 3166 country codes

Program Index  Index of Programs
Option Index  Index of Command-Line Options
Variable Index  Index of Environment Variables
PO Mode Index  Index of Emacs PO Mode Commands
Autoconf Macro Index  Index of Autoconf Macros
General Index  

 -- The Detailed Node Listing ---


1.1 The Purpose of GNU gettext  
1.2 I18n, L10n, and Such  
1.3 Aspects in Native Language Support  
1.4 Files Conveying Translations  
1.5 Overview of GNU gettext  

PO Files and PO Mode Basics

2.1 Completing GNU gettext Installation  
2.2 The Format of PO Files  
2.3 Main PO mode Commands  Main Commands
2.4 Entry Positioning  
2.5 Normalizing Strings in Entries  

Preparing Program Sources

3.1 Triggering gettext Operations  
3.2 Preparing Translatable Strings  
3.3 How Marks Appear in Sources  
3.4 Marking Translatable Strings  
3.5 Special Comments preceding Keywords  Telling something about the following string
3.6 Special Cases of Translatable Strings  

Making the PO Template File

4.1 Invoking the xgettext Program  

Creating a New PO File

5.1 Invoking the msginit Program  
5.2 Filling in the Header Entry  

Updating Existing PO Files

6.1 Invoking the msgmerge Program  
6.2 Translated Entries  
6.3 Fuzzy Entries  
6.4 Untranslated Entries  
6.5 Obsolete Entries  
6.6 Modifying Translations  
6.7 Modifying Comments  
6.8 Details of Sub Edition  Mode for Editing Translations
6.9 C Sources Context  
6.10 Consulting Auxiliary PO Files  
6.11 Using Translation Compendia  

Using Translation Compendia

6.11.1 Creating Compendia  Merging translations for later use
6.11.2 Using Compendia  Using older translations if they fit

Manipulating PO Files

7.1 Invoking the msgcat Program  
7.2 Invoking the msgconv Program  
7.3 Invoking the msggrep Program  
7.4 Invoking the msgfilter Program  
7.5 Invoking the msguniq Program  
7.6 Invoking the msgcomm Program  
7.7 Invoking the msgcmp Program  
7.8 Invoking the msgattrib Program  
7.9 Invoking the msgen Program  
7.10 Invoking the msgexec Program  

Producing Binary MO Files

8.1 Invoking the msgfmt Program  
8.2 Invoking the msgunfmt Program  
8.3 The Format of GNU MO Files  

The User's View

9.1 The Current `ABOUT-NLS' Matrix  
9.2 Magic for Installers  
9.3 Magic for End Users  

The Programmer's View

10.1 About catgets  
10.2 About gettext  
10.3 Comparing the Two Interfaces  Comparing the two interfaces
10.4 Using libintl.a in own programs  
10.5 Being a gettext grok  
10.6 Temporary Notes for the Programmers Chapter  

About catgets

10.1.1 The Interface  The interface
10.1.2 Problems with the catgets Interface?!  Problems with the catgets interface?!

About gettext

10.2.1 The Interface  The interface
10.2.2 Solving Ambiguities  Solving ambiguities
10.2.3 Locating Message Catalog Files  Locating message catalog files
10.2.4 How to specify the output character set gettext uses  How to request conversion to Unicode
10.2.5 Additional functions for plural forms  Additional functions for handling plurals
10.2.6 How to use gettext in GUI programs  Another technique for solving ambiguities
10.2.7 Optimization of the *gettext functions  

Temporary Notes for the Programmers Chapter

10.6.1 Temporary - Two Possible Implementations  
10.6.2 Temporary - About catgets  
10.6.3 Temporary - Why a single implementation  
10.6.4 Temporary - Notes  

The Translator's View

11.1 Introduction 0  
11.2 Introduction 1  
11.3 Discussions  
11.4 Organization  
11.5 Information Flow  


11.4.1 Central Coordination  
11.4.2 National Teams  
11.4.3 Mailing Lists  

National Teams Sub-Cultures Organizational Ideas  

The Maintainer's View

12.1 Flat or Non-Flat Directory Structures  
12.2 Prerequisite Works  
12.3 Invoking the gettextize Program  
12.4 Files You Must Create or Alter  
12.5 Autoconf macros for use in `configure.in'  

Files You Must Create or Alter

12.4.1 `POTFILES.in' in `po/'  
12.4.2 `LINGUAS' in `po/'  
12.4.3 `Makefile' pieces in `po/'  
12.4.4 `configure.in' at top level  
12.4.5 `config.guess', `config.sub' at top level  
12.4.6 `aclocal.m4' at top level  
12.4.7 `acconfig.h' at top level  
12.4.8 `Makefile.in' at top level  
12.4.9 `Makefile.in' in `src/'  
12.4.10 `gettext.h' in `lib/'  

Autoconf macros for use in `configure.in'

12.5.1 AM_GNU_GETTEXT in `gettext.m4'  
12.5.2 AM_ICONV in `iconv.m4'  

Other Programming Languages

13.1 The Language Implementor's View  
13.2 The Programmer's View  
13.3 The Translator's View  
13.4 The Maintainer's View  
13.5 Individual Programming Languages  
13.6 Internationalizable Data  

Individual Programming Languages

13.5.1 C, C++, Objective C  
13.5.2 sh - Shell Script  
13.5.3 bash - Bourne-Again Shell Script  
13.5.4 Python  
13.5.5 GNU clisp - Common Lisp  
13.5.6 GNU clisp C sources  
13.5.7 Emacs Lisp  
13.5.8 librep  
13.5.9 GNU Smalltalk  
13.5.10 Java  
13.5.11 GNU awk  
13.5.12 Pascal - Free Pascal Compiler  
13.5.13 wxWindows library  
13.5.14 YCP - YaST2 scripting language  
13.5.15 Tcl - Tk's scripting language  
13.5.16 Perl  
13.5.17 PHP Hypertext Preprocessor  
13.5.18 Pike  

Internationalizable Data

13.6.1 POT - Portable Object Template  
13.6.2 Resource String Table  
13.6.3 Glade - GNOME user interface description  

Concluding Remarks

14.1 History of GNU gettext  
14.2 Related Readings  

This document was generated on May 6, 2002 using texi2html