AppController.h
AppController.m
BUGS
BUGS
BUGS
BUGS
BUGS
BUGS
ChangeLog
Doxyfile.am
Doxyfile.global
FAQ.html
GNU_Gettext.html
GNU_Gettext_GettextResourceManager.html
GNU_Gettext_GettextResourceSet.html
GNUmakefile
GNUmakefile
GettextResource.html
Hello.h
Hello.java
Hello.java
Hello.java
Hello.java
Hello.m
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
INSTALL
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LINGUAS
LocaleAliases
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.am
Makefile.common
Makevars
Makevars
Makevars
Makevars
Makevars
Makevars
Makevars
Makevars
POTFILES.in
POTFILES.in
POTFILES.in
POTFILES.in
POTFILES.in
POTFILES.in
POTFILES.in
POTFILES.in
README
README
README
Test15.class
Test15.java
TestAWT.class
TestAWT.class
TestAWT.java
TestAWT.java
acinclude.m4.in
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
af.po
allclasses-frame.html
am_edit
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
ast.po
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autoclean.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autogen.sh
autopoint.1.html
autosprintf_all.html
begin.html
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bg.po
bind_textdomain_codeset.3.html
bindtextdomain.3.html
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
ca.po
compile
conf.change.pl
config.guess
config.pl
config.sub
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.ac
configure.in.bot.end
configure.in.in
configure.in.min
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
cs.po
csharpcomp.m4
csharpcomp.sh.in
csharpexec-test.exe
csharpexec.m4
csharpexec.sh.in
cvs-clean.pl
cvs.sh
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
da.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
de.po
debianrules
depcomp
deprecated-list.html
detect-autoconf.sh
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
el.po
envsubst.1.html
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
eo.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
es.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fi.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
fr.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
ga.po
gettext.1.html
gettext.3.html
gettext_1.html
gettext_10.html
gettext_11.html
gettext_12.html
gettext_13.html
gettext_14.html
gettext_15.html
gettext_16.html
gettext_17.html
gettext_18.html
gettext_19.html
gettext_2.html
gettext_20.html
gettext_21.html
gettext_22.html
gettext_23.html
gettext_24.html
gettext_25.html
gettext_26.html
gettext_27.html
gettext_28.html
gettext_29.html
gettext_3.html
gettext_30.html
gettext_4.html
gettext_5.html
gettext_6.html
gettext_7.html
gettext_8.html
gettext_9.html
gettext_abt.html
gettext_fot.html
gettext_toc.html
gettextize.1.html
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gl.po
gnome-gnorba-check.m4
gnome-gnorba-check.m4
gnome-gnorba-check.m4
gnome-orbit-check.m4
gnome-orbit-check.m4
gnome-orbit-check.m4
gnome.m4
gnome.m4
gnome.m4
gtk--.m4
gtk.m4
hello-1.pl.in
hello-2.pl.in
hello.awk
hello.c
hello.c
hello.c
hello.cc
hello.cc
hello.cc
hello.cc
hello.cc
hello.cs
hello.cs
hello.desktop.in.in
hello.gresource.xml
hello.gschema.xml
hello.jl.in
hello.lisp.in
hello.m
hello.m
hello.pas
hello.php
hello.py.in
hello.scm
hello.sh
hello.st.in
hello.tcl
hello.tcl
hello.ui
hello.ycp
hellowindow.cc
hellowindow.h
help-doc.html
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hr.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
hu.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
id.po
index-all.html
index.html
index.html
install-sh
installpaths
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
it.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
ja.po
javacomp.m4
javacomp.sh.in
javaexec.m4
javaexec.sh.in
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
ky.po
libtool.m4.in
ltmain.sh
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
lv.po
main.m
missing
mkinstalldirs
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
ms.po
msgattrib.1.html
msgcat.1.html
msgcmp.1.html
msgcomm.1.html
msgconv.1.html
msgen.1.html
msgexec.1.html
msgfilter.1.html
msgfmt.1.html
msggrep.1.html
msginit.1.html
msgmerge.1.html
msgunfmt.1.html
msguniq.1.html
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
mt.po
namespaces.html
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
nb.po
ngettext.1.html
ngettext.3.html
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nl.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
nn.po
overview-tree.html
package-frame.html
package-list
package-summary.html
package-tree.html
packages.html
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pl.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
pt_BR.po
qt.m4
recode-sr-latin.1.html
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ro.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
ru.po
serialized-form.html
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sk.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sl.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sq.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
sr.po
stylesheet.css
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
sv.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
ta.po
textdomain.3.html
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tr.po
tutorial.html
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
uk.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
vi.po
wxwidgets.m4
xgettext.1.html
ylwrap
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_CN.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_HK.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
zh_TW.po
gettext_2.html
GNU gettext utilities: 2. The User's View
Nowadays, when users log into a computer, they usually find that all
their programs show messages in their native language – at least for
users of languages with an active free software community, like French or
German; to a lesser extent for languages with a smaller participation in
free software and the GNU project, like Hindi and Filipino.
How does this work? How can the user influence the language that is used
by the programs? This chapter will answer it.
The default language is often already specified during operating system
installation. When the operating system is installed, the installer
typically asks for the language used for the installation process and,
separately, for the language to use in the installed system. Some OS
installers only ask for the language once.
This determines the system-wide default language for all users. But the
installers often give the possibility to install extra localizations for
additional languages. For example, the localizations of KDE (the K
Desktop Environment) and OpenOffice.org are often bundled separately,
as one installable package per language.
At this point it is good to consider the intended use of the machine: If
it is a machine designated for personal use, additional localizations are
probably not necessary. If, however, the machine is in use in an
organization or company that has international relationships, one can
consider the needs of guest users. If you have a guest from abroad, for
a week, what could be his preferred locales? It may be worth installing
these additional localizations ahead of time, since they cost only a bit
of disk space at this point.
The system-wide default language is the locale configuration that is used
when a new user account is created. But the user can have his own locale
configuration that is different from the one of the other users of the
same machine. He can specify it, typically after the first login, as
described in the next section.
The immediately available programs in a user's desktop come from a group
of programs called a “desktop environment”; it usually includes the window
manager, a web browser, a text editor, and more. The most common free
desktop environments are KDE, GNOME, and Xfce.
The locale used by GUI programs of the desktop environment can be specified
in a configuration screen called “control center”, “language settings”
or “country settings”.
Individual GUI programs that are not part of the desktop environment can
have their locale specified either in a settings panel, or through environment
variables.
For some programs, it is possible to specify the locale through environment
variables, possibly even to a different locale than the desktop's locale.
This means, instead of starting a program through a menu or from the file
system, you can start it from the command-line, after having set some
environment variables. The environment variables can be those specified
in the next section (Setting the Locale through Environment Variables); for some versions of
KDE, however, the locale is specified through a variable KDE_LANG,
rather than LANG or LC_ALL.
As a user, if your language has been installed for this package, in the
simplest case, you only have to set the LANG environment variable
to the appropriate ‘ll_CC’ combination. For example,
let's suppose that you speak German and live in Germany. At the shell
prompt, merely execute
‘setenv LANG de_DE’ (in csh),
‘export LANG; LANG=de_DE’ (in sh) or
‘export LANG=de_DE’ (in bash). This can be done from your
‘.login’ or ‘.profile’ file, once and for all.
A locale name usually has the form ‘ll_CC’. Here
‘ll’ is an ISO 639 two-letter language code, and
‘CC’ is an ISO 3166 two-letter country code. For example,
for German in Germany, ll is de, and CC is DE.
You find a list of the language codes in appendix Language Codes and
a list of the country codes in appendix Country Codes.
You might think that the country code specification is redundant. But in
fact, some languages have dialects in different countries. For example,
‘de_AT’ is used for Austria, and ‘pt_BR’ for Brazil. The country
code serves to distinguish the dialects.
Many locale names have an extended syntax
‘ll_CC.encoding’ that also specifies the character
encoding. These are in use because between 2000 and 2005, most users have
switched to locales in UTF-8 encoding. For example, the German locale on
glibc systems is nowadays ‘de_DE.UTF-8’. The older name ‘de_DE’
still refers to the German locale as of 2000 that stores characters in
ISO-8859-1 encoding – a text encoding that cannot even accommodate the Euro
currency sign.
Some locale names use ‘ll_CC@variant’ instead of
‘ll_CC’. The ‘@variant’ can denote any kind of
characteristics that is not already implied by the language ll and
the country CC. It can denote a particular monetary unit. For example,
on glibc systems, ‘de_DE@euro’ denotes the locale that uses the Euro
currency, in contrast to the older locale ‘de_DE’ which implies the use
of the currency before 2002. It can also denote a dialect of the language,
or the script used to write text (for example, ‘sr_RS@latin’ uses the
Latin script, whereas ‘sr_RS’ uses the Cyrillic script to write Serbian),
or the orthography rules, or similar.
On other systems, some variations of this scheme are used, such as
‘ll’. You can get the list of locales supported by your system
for your language by running the command ‘locale -a | grep '^ll'’.
There is also a special locale, called ‘C’.
When it is used, it disables all localization: in this locale, all programs
standardized by POSIX use English messages and an unspecified character
encoding (often US-ASCII, but sometimes also ISO-8859-1 or UTF-8, depending on
the operating system).
A locale is composed of several locale categories, see Aspects in Native Language Support.
When a program looks up locale dependent values, it does this according to
the following environment variables, in priority order:
-
-
LANGUAGE
-
LC_ALL
-
LC_xxx, according to selected locale category:
LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE,
LC_MONETARY, LC_MESSAGES, ...
-
LANG
Variables whose value is set but is empty are ignored in this lookup.
LANG is the normal environment variable for specifying a locale.
As a user, you normally set this variable (unless some of the other variables
have already been set by the system, in ‘/etc/profile’ or similar
initialization files).
LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE,
LC_MONETARY, LC_MESSAGES, and so on, are the environment
variables meant to override LANG and affecting a single locale
category only. For example, assume you are a Swedish user in Spain, and you
want your programs to handle numbers and dates according to Spanish
conventions, and only the messages should be in Swedish. Then you could
create a locale named ‘sv_ES’ or ‘sv_ES.UTF-8’ by use of the
localedef program. But it is simpler, and achieves the same effect,
to set the LANG variable to es_ES.UTF-8 and the
LC_MESSAGES variable to sv_SE.UTF-8; these two locales come
already preinstalled with the operating system.
LC_ALL is an environment variable that overrides all of these.
It is typically used in scripts that run particular programs. For example,
configure scripts generated by GNU autoconf use LC_ALL to make
sure that the configuration tests don't operate in locale dependent ways.
Some systems, unfortunately, set LC_ALL in ‘/etc/profile’ or in
similar initialization files. As a user, you therefore have to unset this
variable if you want to set LANG and optionally some of the other
LC_xxx variables.
The LANGUAGE variable is described in the next subsection.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
LANGUAGE. GNU gettext gives preference to LANGUAGE
over LC_ALL and LANG for the purpose of message handling,
but you still need to have LANG (or LC_ALL) set to the primary
language; this is required by other parts of the system libraries.
For example, some Swedish users who would rather read translations in
German than English for when Swedish is not available, set LANGUAGE
to ‘sv:de’ while leaving LANG to ‘sv_SE’.
Special advice for Norwegian users: The language code for Norwegian
bokmål changed from ‘no’ to ‘nb’ recently (in 2003).
During the transition period, while some message catalogs for this language
are installed under ‘nb’ and some older ones under ‘no’, it is
recommended for Norwegian users to set LANGUAGE to ‘nb:no’ so that
both newer and older translations are used.
In the LANGUAGE environment variable, but not in the other
environment variables, ‘ll_CC’ combinations can be
abbreviated as ‘ll’ to denote the language's main dialect.
For example, ‘de’ is equivalent to ‘de_DE’ (German as spoken in
Germany), and ‘pt’ to ‘pt_PT’ (Portuguese as spoken in Portugal)
in this context.
Note: The variable LANGUAGE is ignored if the locale is set to
‘C’. In other words, you have to first enable localization, by setting
LANG (or LC_ALL) to a value other than ‘C’, before you can
use a language priority list through the LANGUAGE variable.
On Windows, consoles such as the one started by the cmd.exe
program do input and output in an encoding, called “OEM code page”,
that is different from the encoding that text-mode programs usually use,
called “ANSI code page”. (Note: This problem does not exist for
Cygwin consoles; these consoles do input and output in the UTF-8
encoding.) As a workaround, you may request that the programs produce
output in this “OEM” encoding. To do so, set the environment variable
OUTPUT_CHARSET to the “OEM” encoding, through a command such as
Note: This has an effect only on strings looked up in message catalogs;
other categories of text are usually not affected by this setting.
Note also that this environment variable also affects output sent to a
file or to a pipe; output to a file is most often expected to be in the
“ANSI” or in the UTF-8 encoding.
Here are examples of the “ANSI” and “OEM” code pages:
Territories | ANSI encoding | OEM encoding
|
Western Europe | CP1252 | CP850
|
Slavic countries (Latin 2) | CP1250 | CP852
|
Baltic countries | CP1257 | CP775
|
Russia | CP1251 | CP866
|
Languages are not equally well supported in all packages using GNU
gettext, and more translations are added over time. Usually, you
use the translations that are shipped with the operating system
or with particular packages that you install afterwards. But you can also
install newer localizations directly. For doing this, you will need an
understanding where each localization file is stored on the file system.
For programs that participate in the Translation Project, you can start
looking for translations here:
https://translationproject.org/team/index.html.
For programs that are part of the KDE project, the starting point is:
https://l10n.kde.org/.
For programs that are part of the GNOME project, the starting point is:
https://wiki.gnome.org/TranslationProject.
For other programs, you may check whether the program's source code package
contains some ‘ll.po’ files; often they are kept together in a
directory called ‘po/’. Each ‘ll.po’ file contains the
message translations for the language whose abbreviation of ll.
This document was generated by Bruno Haible on July, 26 2020 using texi2html 1.78a.