gettext
utilities
gettext
declarationgettext
Operationsgettext
Installationmsgcat
Program
msgconv
Program
msggrep
Program
msgfilter
Program
msguniq
Program
msgcomm
Program
msgcmp
Program
msgattrib
Program
msgen
Program
msgexec
Program
msgfmt
Program
msgunfmt
Program
gettextize
ProgramPOTFILES.in
in po/
LINGUAS
in po/
Makevars
in po/
Makefile
in po/
configure.ac
at top levelconfig.guess
, config.sub
at top levelmkinstalldirs
at top levelaclocal.m4
at top levelconfig.h.in
at top levelMakefile.in
at top levelMakefile.in
in src/
gettext.h
in lib/
configure.ac
gettext.sh
gettext
programngettext
programenvsubst
programeval_gettext
functioneval_ngettext
functioneval_pgettext
functioneval_npgettext
function
Next: Introduction, Up: (dir) [Contents][Index]
gettext
utilitiesThis 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
Other Programming Languages
• Data Formats:
Other Data Formats
• Conclusion:
Concluding Remarks
ISO 639 language codes
ISO 3166 country codes
• Licenses:
Licenses
Index of Programs
• Option Index:
Index of Command-Line Options
Index of Environment Variables
Index of Emacs PO Mode Commands
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
Questions During Operating System Installation
How to Specify the Locale Used by GUI Programs
How to Specify the Locale According to POSIX
• Working in a Windows console:
Obtaining good output in a Windows console
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
How to Specify a Priority List of Languages
Preparing Program Sources
• Importing:
Importing the gettext
declaration
• Triggering:
Triggering gettext
Operations
Preparing Translatable Strings
How Marks Appear in Sources
• Marking:
Marking Translatable Strings
Telling something about the following string
Special Cases of Translatable Strings
Letting Users Report Translation Bugs
• Names:
Marking Proper Names for Translation
• Libraries:
Preparing Library Sources
Making the PO Template File
Invoking the xgettext
Program
Creating a New PO File
Invoking the msginit
Program
• Header Entry:
Filling in the Header Entry
Updating Existing PO Files
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 Commands
Entry Positioning
• Normalizing:
Normalizing Strings in Entries
Translated Entries
Fuzzy Entries
Untranslated Entries
Obsolete Entries
Modifying Translations
Modifying Comments
• Subedit:
Mode for Editing Translations
C Sources Context
• Auxiliary:
Consulting Auxiliary PO Files
Using Translation Compendia
Merging translations for later use
Using older translations if they fit
Manipulating PO Files
Invoking the msgcat
Program
Invoking the msgconv
Program
Invoking the msggrep
Program
Invoking the msgfilter
Program
Invoking the msguniq
Program
Invoking the msgcomm
Program
Invoking the msgcmp
Program
Invoking the msgattrib
Program
Invoking the msgen
Program
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
Triggering colorized output
The environment variable TERM
The --style
option
• Style rules:
Style rules for PO files
Customizing less
for viewing PO files
Producing Binary MO Files
Invoking the msgfmt
Program
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 in own programs
• gettext grok:
Being a gettext
grok
Temporary Notes for the Programmers Chapter
About catgets
The interface
Problems with the catgets
interface?!
About gettext
The interface
• Ambiguities:
Solving ambiguities
Locating message catalog files
How to request conversion to Unicode
• Contexts:
Solving ambiguities in GUI programs
• Plural forms:
Additional functions for handling plurals
Optimization of the *gettext functions
Temporary Notes for the Programmers Chapter
Temporary - Two Possible Implementations
• Temp catgets:
Temporary - About catgets
• Temp WSI:
Temporary - Why a single implementation
• Temp Notes:
Temporary - Notes
The Translator’s View
Introduction 0
Introduction 1
• Discussions:
Discussions
• Organization:
Organization
Information Flow
How to fill in msgstr[0]
, msgstr[1]
How to find which messages to translate first
Organization
Central Coordination
National Teams
Mailing Lists
National Teams
• Sub-Cultures:
Sub-Cultures
Organizational Ideas
The Maintainer’s View
Flat or Non-Flat Directory Structures
Prerequisite Works
Invoking the gettextize
Program
Files You Must Create or Alter
Autoconf macros for use in configure.ac
Creating a Distribution Tarball
Files You Must Create or Alter
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
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/
gettext.h
in lib/
Autoconf macros for use in configure.ac
AM_GNU_GETTEXT in gettext.m4
AM_GNU_GETTEXT_VERSION in gettext.m4
AM_GNU_GETTEXT_NEED in gettext.m4
AM_PO_SUBDIRS in po.m4
AM_XGETTEXT_OPTION in po.m4
• AM_ICONV:
AM_ICONV in iconv.m4
Integrating with Version Control Systems
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
Invoking the autopoint
Program
Other Programming Languages
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 Strings
• java-format:
Java Format Strings
C# Format Strings
JavaScript Format Strings
Scheme Format Strings
• lisp-format:
Lisp Format Strings
• elisp-format:
Emacs Lisp Format Strings
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 Strings
Smalltalk Format Strings
• qt-format:
Qt Format Strings
Qt Plural Format Strings
• kde-format:
KDE Format Strings
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 Strings
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 for Internationalization
• gettext.sh:
Contents of gettext.sh
Invoking the gettext
program
Invoking the ngettext
program
Invoking the envsubst
program
Invoking the eval_gettext
function
Invoking the eval_ngettext
function
Invoking the eval_pgettext
function
Invoking the eval_npgettext
function
Perl
General Problems Parsing Perl Code
Which Keywords Will xgettext Look For?
How to Extract Hash Keys
What are Strings And Quote-like Expressions?
Invalid String Interpolation
Valid String Interpolation
• Parentheses:
When To Use Parentheses
• Long Lines:
How To Grok with Long Lines
Bugs, Pitfalls, and Things That Do Not Work
Other Data Formats
Internationalizable Data Formats
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 Rules for XML Internationalization
Localized Data Formats
Editable Message Catalogs
Compiled Message Catalogs
Desktop Entry files
• XML:
XML files
Editable Message Catalogs
• PO:
PO - Portable Object
Java .properties
NeXTstep/GNUstep .strings
Compiled Message Catalogs
• MO:
MO - Machine Object
Java ResourceBundle
C# Satellite Assembly
• C# Resource:
C# Resource
Tcl message catalog
Qt message catalog
Concluding Remarks
• History:
History of GNU gettext
Historical introduction
• References:
Related Readings
Language Codes
Two-letter ISO 639 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
Next: Introduction, Up: (dir) [Contents][Index]