cmake: avoid de-duplication of user's CXXFLAGS
[quassel.git] / po / README.Translations
1 In order to create or update a translatable file, run the following
2 command in the directory po/:
3
4 ./update.sh xx
5
6 where xx is the two-letter language code according to ISO 639 (which,
7 if needed, may be suffixed by a country code according to ISO 3166).
8 Quassel will automatically load these translation files based on the
9 system locale. Examples for valid codes: de, en_US
10
11 You can open translation files with poedit for example and add/edit
12 translated strings.
13
14 The *.po files can and should be kept in sync with the source code by
15 running update.sh regularly (existing translations won't be removed).
16
17 NOTE: Remember to remove X-Virgin-Header line if you want to preserve
18 your header.
19
20 Qt itself does not use the *.po files, but a compact binary format
21 (*.qm). These files will automatically be generated at build time. By
22 default, all languages will be built. To select languages, use
23 environment variable LINGUAS to specify superset of languages you want
24 to build in. As you can see in example there we will build only Czech
25 German and French translations.
26
27 EXAMPLE:
28 $ export LINGUAS="cs de fr"
29 $ cmake /path/to/source
30
31 NOTE: You'll need lupdate, lconvert, lrelease installed with your Qt in
32       order to generate translation files. Some distributions don't
33       package that tool; in that case you won't get translations.
34
35 The .pot file is regenerated using `./update-pot.sh` and can be pushed
36 to Transifex via `tx push -s`.
37 Note that as of Feb 2016 this is done automatically by nightly runs of
38 scripts/tx-sync.sh which pushes an updated quassel.pot to a location
39 that is fetched by Transifex on regular intervals. This location is
40 currently configured as
41 <https://github.com/quassel/quassel-i18n/raw/tx-sync/po/quassel.pot> and
42 can be updated at https://www.transifex.com/quassel/quassel/content/ →
43 "Auto update resources".
44
45 == For maintainers ==
46 To synchronize the i18n repository with the main repository follow these steps:
47
48 $ git remote add origin-i18n git@github.com:quassel/quassel-i18n.git
49 $ git fetch origin-i18n
50 $ git merge --squash origin-i18n/tx-sync
51 $ pushd po && ./update-pot.sh; popd
52 $ git add po/quassel.pot
53 $ git commit
54 $ git push
55 $ git push origin-i18n +HEAD:tx-sync