fxa-content-server/locale
..
af/LC_MESSAGES
an/LC_MESSAGES
ar/LC_MESSAGES
as/LC_MESSAGES
ast/LC_MESSAGES
be/LC_MESSAGES
bg/LC_MESSAGES
bn_BD/LC_MESSAGES
bn_IN/LC_MESSAGES
br/LC_MESSAGES
bs/LC_MESSAGES
ca/LC_MESSAGES
cs/LC_MESSAGES
cy/LC_MESSAGES
da/LC_MESSAGES
de/LC_MESSAGES
el/LC_MESSAGES
en_GB/LC_MESSAGES
en_US/LC_MESSAGES
en_ZA/LC_MESSAGES
eo/LC_MESSAGES
es/LC_MESSAGES
es_AR/LC_MESSAGES
es_CL/LC_MESSAGES
es_ES/LC_MESSAGES
es_MX/LC_MESSAGES
et/LC_MESSAGES
eu/LC_MESSAGES
fa/LC_MESSAGES
ff/LC_MESSAGES
fi/LC_MESSAGES
fr/LC_MESSAGES
fy/LC_MESSAGES
fy_NL/LC_MESSAGES
ga/LC_MESSAGES
ga_IE/LC_MESSAGES
gd/LC_MESSAGES
gl/LC_MESSAGES
gu/LC_MESSAGES
gu_IN/LC_MESSAGES
he/LC_MESSAGES
hi_IN/LC_MESSAGES
hr/LC_MESSAGES
ht/LC_MESSAGES
hu/LC_MESSAGES
hy_AM/LC_MESSAGES
id/LC_MESSAGES
is/LC_MESSAGES
it/LC_MESSAGES
ja/LC_MESSAGES
ja_JP_mac/LC_MESSAGES
kk/LC_MESSAGES
km/LC_MESSAGES
kn/LC_MESSAGES
ko/LC_MESSAGES
ku/LC_MESSAGES
lij/LC_MESSAGES
linux/LC_MESSAGES
lt/LC_MESSAGES
lv/LC_MESSAGES
mai/LC_MESSAGES
mk/LC_MESSAGES
ml/LC_MESSAGES
mr/LC_MESSAGES
ms/LC_MESSAGES
nb_NO/LC_MESSAGES
ne_NP/LC_MESSAGES
nl/LC_MESSAGES
nn_NO/LC_MESSAGES
or/LC_MESSAGES
osx/LC_MESSAGES
pa/LC_MESSAGES
pa_IN/LC_MESSAGES
pl/LC_MESSAGES
pt/LC_MESSAGES
pt_BR/LC_MESSAGES
pt_PT/LC_MESSAGES
rm/LC_MESSAGES
ro/LC_MESSAGES
ru/LC_MESSAGES
si/LC_MESSAGES
sk/LC_MESSAGES
sl/LC_MESSAGES
son/LC_MESSAGES
sq/LC_MESSAGES
sr/LC_MESSAGES
sr_Cyrl/LC_MESSAGES
sr_Latn/LC_MESSAGES
sv/LC_MESSAGES
sv_SE/LC_MESSAGES
ta/LC_MESSAGES
te/LC_MESSAGES
templates/LC_MESSAGES
th/LC_MESSAGES
tr/LC_MESSAGES
uk/LC_MESSAGES
ur/LC_MESSAGES
vi/LC_MESSAGES
win32/LC_MESSAGES
xh/LC_MESSAGES
zh_CN/LC_MESSAGES
zh_TW/LC_MESSAGES
zu/LC_MESSAGES
README.md

README.md

l10n

This directory contains translated strings for all supported locales. Strings are extracted using a gettext compatible extractor, generating PO template files.

Adding new strings

If you add a new string to the app or server, you'll need to wrap it in a gettext call so it can be extracted. In a mustache template, that will look like {{#t}}My new string{{/t}} and in a JavaScript it will look like t("My new string") (t is an alias for gettext).

After you've added new strings to source, you'll need to extract them and update the .pot files, using grunt:

grunt extract-l10n

This will also update the other locales with any new strings.

Updating translations

Translators will update the .po files in this repo directly. To convert the new translations into JSON for the app to use, run:

grunt po2json

The JSON is not included under version control– they're regenerated on each deployment.