Preface
This document is part of the Campcaster
project, Copyright © 2004 Media
Development Loan Fund, under the GNU GPL.
- Author: $Author$
- Version: $Revision$
- Location: $URL$
Scope
This document describes the process of adding a new language to the
Campcaster Studio localization. It is written for developers.
Introduction
Campcaster Studio (a.k.a. the C++ GUI) uses IBM's
ICU
library for localization. This library supports a fallback mechanism:
if the locale is set to es_GT (Guatemalan Spanish), it first tries to
read the es_GT table for localized strings; if there is no such table,
it tries the es table; and if that is missing, too, it reads the
root table.
These tables are stored as UTF-8 text files (with Unix line breaks, i.e., a
single 0x0A character at the end of each line) in the
products/gLiveSupport/var directory with a txt
extension: e.g., es_GT.txt.
Before these files can be used by the program, they need to be converted into
binary resource bundle files using ICU's genrb program
(which is in usr/bin, and is called by the Makefile).
Modifying an existing language
- Edit the text file (e.g.,
products/gLiveSupport/var/es_GT.txt).
- Run
make in products/gLiveSupport.
Adding a new language
- Add the new text file to
products/gLiveSupport/var.
(See the
ICU
user guide for the format of this file.)
The first row of the file should be the locale name, followed by
":table". The locale name is of the form
<language-code>[[_<country-code>]_<variant>],
where
<language-code> is the
ISO 639-1
2-letter language code in lowercase,
- the optional
<country-code> is the
ISO 3166-1
2-letter country code in uppercase, and
- the optional
<variant> is the variant
(usually EURO or CYRILLIC) in uppercase.
Note that this is slightly different from the normal ISO standard:
ICU uses it_IT_EURO where the standard would be it_IT@euro.
Make sure the file is in UTF-8 encoding, has Unix line breaks,
and does not have a
BOM
character at the beginning.
The file name should be the locale name, followed by ".txt".
- Add a new line for the new language in each of the files
campcaster-studio.xml
campcaster-studio.xml.template
campcaster-studio.xml.user-template
Makefile.in
in the products/gLiveSupport/etc directory.
- Run
configure --prefix=... and then
make clean all
in the products/gLiveSupport directory.