Internationalising GNOME applications

Malcolm Tredinnick

Legal Notice
Revision History
Revision 0.413 October 2003
Release to web.
Revision 0.319 July 2003
Emphasising the need to carefully choose which strings to mark for translation.
Revision 0.27 November 2002
Small fixes. See ChangeLog appendix for details.
Revision 0.13 November 2002

Initial version. This document is maintained in the GNOME CVS repository. It is in the gnome-devel-docs module under gnome-devel-docs/tutorials/i18n

Table of Contents

1. Introduction
1.1. Feedback
2. Preparing the source code for translation
2.1. The i18n header file
2.1.1. The international header file
2.1.2. Initialising the i18n support code
2.2. Marking translatable strings
2.2.1. Source code files
2.2.2. Desktop files
2.2.3. Server files
2.2.4. Glade files
2.2.5. XML files
2.2.6. Gconf schema files
2.2.7. User and API documentation
3. Incorporating i18n into the package's build infrastructure
3.1. Changes to
3.2. Changes to
3.3. Makefile changes
3.4. Changes in the po/ directory
4. What happens next?
5. Tips and Tricks
A. Checklist for internationalising an application
B. ChangeLog


Once a GNOME application has reached a sort of “critical mass”, it becomes important to think about how to make it available to people who speak other languages. This tutorial covers the steps required to internationalise an application in a fashion that is consistent with the rest of GNOME. It is mostly aimed towards applications written in C, but the principles and support structure apply to all applications.