(gettext.info)Top
GNU ‘gettext’ utilities
***********************
This manual documents the GNU gettext tools and the GNU libintl
library, version 0.21.
Introduction- Introduction
Users- The User’s View
PO Files- The Format of PO Files
Sources- Preparing Program Sources
Template- Making the PO Template File
Creating- Creating a New PO File
Updating- Updating Existing PO Files
Editing- Editing PO Files
Manipulating- Manipulating PO Files
Binaries- Producing Binary MO Files
Programmers- The Programmer’s View
Translators- The Translator’s View
Maintainers- The Maintainer’s View
Installers- The Installer’s and Distributor’s View
Programming Languages- Other Programming Languages
Data Formats- Other Data Formats
Conclusion- Concluding Remarks
Language Codes- ISO 639 language codes
Country Codes- ISO 3166 country codes
Licenses- Licenses
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
Index- General Index
— The Detailed Node Listing —
Introduction
Why- The Purpose of GNU ‘gettext’
Concepts- I18n, L10n, and Such
Aspects- Aspects in Native Language Support
Files- Files Conveying Translations
Overview- Overview of GNU ‘gettext’
The User’s View
System Installation- Questions During Operating System Installation
Setting the GUI Locale- How to Specify the Locale Used by GUI Programs
Setting the POSIX Locale- How to Specify the Locale According to POSIX
Working in a Windows console- Obtaining good output in a Windows console
Installing Localizations- How to Install Additional Translations
Setting the Locale through Environment Variables
Locale Names- How a Locale Specification Looks Like
Locale Environment Variables- Which Environment Variable Specfies What
The LANGUAGE variable- How to Specify a Priority List of Languages
Preparing Program Sources
Importing- Importing the ‘gettext’ declaration
Triggering- Triggering ‘gettext’ Operations
Preparing Strings- Preparing Translatable Strings
Mark Keywords- How Marks Appear in Sources
Marking- Marking Translatable Strings
c-format Flag- Telling something about the following string
Special cases- Special Cases of Translatable Strings
Bug Report Address- Letting Users Report Translation Bugs
Names- Marking Proper Names for Translation
Libraries- Preparing Library Sources
Making the PO Template File
xgettext Invocation- Invoking the ‘xgettext’ Program
Creating a New PO File
msginit Invocation- Invoking the ‘msginit’ Program
Header Entry- Filling in the Header Entry
Updating Existing PO Files
msgmerge Invocation- Invoking the ‘msgmerge’ Program
Editing PO Files
KBabel- KDE’s PO File Editor
Gtranslator- GNOME’s PO File Editor
PO Mode- Emacs’s PO File Editor
Compendium- Using Translation Compendia
Emacs’s PO File Editor
Installation- Completing GNU ‘gettext’ Installation
Main PO Commands- Main Commands
Entry Positioning- Entry Positioning
Normalizing- Normalizing Strings in Entries
Translated Entries- Translated Entries
Fuzzy Entries- Fuzzy Entries
Untranslated Entries- Untranslated Entries
Obsolete Entries- Obsolete Entries
Modifying Translations- Modifying Translations
Modifying Comments- Modifying Comments
Subedit- Mode for Editing Translations
C Sources Context- C Sources Context
Auxiliary- Consulting Auxiliary PO Files
Using Translation Compendia
Creating Compendia- Merging translations for later use
Using Compendia- Using older translations if they fit
Manipulating PO Files
msgcat Invocation- Invoking the ‘msgcat’ Program
msgconv Invocation- Invoking the ‘msgconv’ Program
msggrep Invocation- Invoking the ‘msggrep’ Program
msgfilter Invocation- Invoking the ‘msgfilter’ Program
msguniq Invocation- Invoking the ‘msguniq’ Program
msgcomm Invocation- Invoking the ‘msgcomm’ Program
msgcmp Invocation- Invoking the ‘msgcmp’ Program
msgattrib Invocation- Invoking the ‘msgattrib’ Program
msgen Invocation- Invoking the ‘msgen’ Program
msgexec Invocation- Invoking the ‘msgexec’ Program
Colorizing- Highlighting parts of PO files
Other tools- Other tools for manipulating PO files
libgettextpo- Writing your own programs that process PO files
Highlighting parts of PO files
The --color option- Triggering colorized output
The TERM variable- The environment variable ‘TERM’
The --style option- The ‘--style’ option
Style rules- Style rules for PO files
Customizing less- Customizing ‘less’ for viewing PO files
Producing Binary MO Files
msgfmt Invocation- Invoking the ‘msgfmt’ Program
msgunfmt Invocation- Invoking the ‘msgunfmt’ Program
MO Files- The Format of GNU MO Files
The Programmer’s View
catgets- About ‘catgets’
gettext- About ‘gettext’
Comparison- Comparing the two interfaces
Using libintl.a- Using libintl.a in own programs
gettext grok- Being a ‘gettext’ grok
Temp Programmers- Temporary Notes for the Programmers Chapter
About ‘catgets’
Interface to catgets- The interface
Problems with catgets- Problems with the ‘catgets’ interface?!
About ‘gettext’
Interface to gettext- The interface
Ambiguities- Solving ambiguities
Locating Catalogs- Locating message catalog files
Charset conversion- How to request conversion to Unicode
Contexts- Solving ambiguities in GUI programs
Plural forms- Additional functions for handling plurals
Optimized gettext- Optimization of the *gettext functions
Temporary Notes for the Programmers Chapter
Temp Implementations- Temporary - Two Possible Implementations
Temp catgets- Temporary - About ‘catgets’
Temp WSI- Temporary - Why a single implementation
Temp Notes- Temporary - Notes
The Translator’s View
Trans Intro 0- Introduction 0
Trans Intro 1- Introduction 1
Discussions- Discussions
Organization- Organization
Information Flow- Information Flow
Translating plural forms- How to fill in ‘msgstr[0]’, ‘msgstr[1]’
Prioritizing messages- How to find which messages to translate first
Organization
Central Coordination- Central Coordination
National Teams- National Teams
Mailing Lists- Mailing Lists
National Teams
Sub-Cultures- Sub-Cultures
Organizational Ideas- Organizational Ideas
The Maintainer’s View
Flat and Non-Flat- Flat or Non-Flat Directory Structures
Prerequisites- Prerequisite Works
gettextize Invocation- Invoking the ‘gettextize’ Program
Adjusting Files- Files You Must Create or Alter
autoconf macros- Autoconf macros for use in ‘configure.ac’
Version Control Issues
Release Management- Creating a Distribution Tarball
Files You Must Create or Alter
po/POTFILES.in- ‘POTFILES.in’ in ‘po/’
po/LINGUAS- ‘LINGUAS’ in ‘po/’
po/Makevars- ‘Makevars’ in ‘po/’
po/Rules-*- Extending ‘Makefile’ in ‘po/’
configure.ac- ‘configure.ac’ at top level
config.guess- ‘config.guess’, ‘config.sub’ at top level
mkinstalldirs- ‘mkinstalldirs’ at top level
aclocal- ‘aclocal.m4’ at top level
config.h.in- ‘config.h.in’ at top level
Makefile- ‘Makefile.in’ at top level
src/Makefile- ‘Makefile.in’ in ‘src/’
lib/gettext.h- ‘gettext.h’ in ‘lib/’
Autoconf macros for use in ‘configure.ac’
AM_GNU_GETTEXT- AM_GNU_GETTEXT in ‘gettext.m4’
AM_GNU_GETTEXT_VERSION- AM_GNU_GETTEXT_VERSION in ‘gettext.m4’
AM_GNU_GETTEXT_NEED- AM_GNU_GETTEXT_NEED in ‘gettext.m4’
AM_PO_SUBDIRS- AM_PO_SUBDIRS in ‘po.m4’
AM_XGETTEXT_OPTION- AM_XGETTEXT_OPTION in ‘po.m4’
AM_ICONV- AM_ICONV in ‘iconv.m4’
Integrating with Version Control Systems
Distributed Development- Avoiding version mismatch in distributed development
Files under Version Control- Files to put under version control
Translations under Version Control- Put PO Files under Version Control
autopoint Invocation- Invoking the ‘autopoint’ Program
Other Programming Languages
Language Implementors- The Language Implementor’s View
Programmers for other Languages- The Programmer’s View
Translators for other Languages- The Translator’s View
Maintainers for other Languages- The Maintainer’s View
List of Programming Languages- Individual Programming Languages
The Translator’s View
c-format- C Format Strings
objc-format- Objective C Format Strings
python-format- Python Format Strings
java-format- Java Format Strings
csharp-format- C# Format Strings
javascript-format- JavaScript Format Strings
scheme-format- Scheme Format Strings
lisp-format- Lisp Format Strings
elisp-format- Emacs Lisp Format Strings
librep-format- librep Format Strings
ruby-format- Ruby Format Strings
sh-format- Shell Format Strings
awk-format- awk Format Strings
lua-format- Lua Format Strings
object-pascal-format- Object Pascal Format Strings
smalltalk-format- Smalltalk Format Strings
qt-format- Qt Format Strings
qt-plural-format- Qt Plural Format Strings
kde-format- KDE Format Strings
kde-kuit-format- KUIT Format Strings
boost-format- Boost Format Strings
tcl-format- Tcl Format Strings
perl-format- Perl Format Strings
php-format- PHP Format Strings
gcc-internal-format- GCC internal Format Strings
gfc-internal-format- GFC internal Format Strings
ycp-format- YCP Format Strings
Individual Programming Languages
C- C, C++, Objective C
Python- Python
Java- Java
C#- C#
JavaScript- JavaScript
Scheme- GNU guile - Scheme
Common Lisp- GNU clisp - Common Lisp
clisp C- GNU clisp C sources
Emacs Lisp- Emacs Lisp
librep- librep
Ruby- Ruby
sh- sh - Shell Script
bash- bash - Bourne-Again Shell Script
gawk- GNU awk
Lua- Lua
Pascal- Pascal - Free Pascal Compiler
Smalltalk- GNU Smalltalk
Vala- Vala
wxWidgets- wxWidgets library
Tcl- Tcl - Tk’s scripting language
Perl- Perl
PHP- PHP Hypertext Preprocessor
Pike- Pike
GCC-source- GNU Compiler Collection sources
YCP- YCP - YaST2 scripting language
sh - Shell Script
Preparing Shell Scripts- Preparing Shell Scripts for Internationalization
gettext.sh- Contents of ‘gettext.sh’
gettext Invocation- Invoking the ‘gettext’ program
ngettext Invocation- Invoking the ‘ngettext’ program
envsubst Invocation- Invoking the ‘envsubst’ program
eval_gettext Invocation- Invoking the ‘eval_gettext’ function
eval_ngettext Invocation- Invoking the ‘eval_ngettext’ function
eval_pgettext Invocation- Invoking the ‘eval_pgettext’ function
eval_npgettext Invocation- Invoking the ‘eval_npgettext’ function
Perl
General Problems- General Problems Parsing Perl Code
Default Keywords- Which Keywords Will xgettext Look For?
Special Keywords- How to Extract Hash Keys
Quote-like Expressions- What are Strings And Quote-like Expressions?
Interpolation I- Invalid String Interpolation
Interpolation II- Valid String Interpolation
Parentheses- When To Use Parentheses
Long Lines- How To Grok with Long Lines
Perl Pitfalls- Bugs, Pitfalls, and Things That Do Not Work
Other Data Formats
Internationalizable Data- Internationalizable Data Formats
Localized Data- Localized Data Formats
Internationalizable Data Formats
POT- POT - Portable Object Template
RST- Resource String Table
Glade- Glade - GNOME user interface description
GSettings- GSettings - GNOME user configuration schema
AppData- AppData - freedesktop.org application description
Preparing ITS Rules- Preparing Rules for XML Internationalization
Localized Data Formats
Editable Message Catalogs- Editable Message Catalogs
Compiled Message Catalogs- Compiled Message Catalogs
Desktop Entry- Desktop Entry files
XML- XML files
Editable Message Catalogs
PO- PO - Portable Object
Java .properties- Java .properties
GNUstep .strings- NeXTstep/GNUstep .strings
Compiled Message Catalogs
MO- MO - Machine Object
Java ResourceBundle- Java ResourceBundle
C# Satellite Assembly- C# Satellite Assembly
C# Resource- C# Resource
Tcl message catalog- Tcl message catalog
Qt message catalog- Qt message catalog
Concluding Remarks
History- History of GNU ‘gettext’
The original ABOUT-NLS- Historical introduction
References- Related Readings
Language Codes
Usual Language Codes- Two-letter ISO 639 language codes
Rare Language Codes- Three-letter ISO 639 language codes
Licenses
GNU GPL- GNU General Public License
GNU LGPL- GNU Lesser General Public License
GNU FDL- GNU Free Documentation License
automatically generated by info2www version 1.2.2.9