Skip to content

Updating KVIrc's translations

ctrlaltca edited this page Feb 29, 2016 · 4 revisions

Translating KVIrc messages

KVIrc is a text-based application: the interface strings need to be translated to as many languages as possible. You only need the knowledge of a non-English language: the translation scheme is gettext based and requires very little knowledge about coding.

The KVIrc project is translated via Transifex/KVIrc.

Existing languages require are in dire need of active translators to help maintain current Git snapshots translations in preparation for next—possibly 5.x—release.

We also welcome new translators for new languages, making KVIrc available your language is also important to attract new interest to the program.

Source <—> Transifex Workflow

Developers should be able to add and change tr("xxx") in *.cpp or *.h files without caring about translations.

Sometimes (e.g. every X weeks, a month before a release, or anytime) a developer taking care of translations should follow this workflow:

  • Create a new temporary branch named e.g. "translations"
  • Run make messages-extract to extract the .pot files from the source code
  • Run make messages-tidy to clean out the absolute file paths contained in the .pot files
  • Push the pot files containing English strings to transifex using tx push -s (more info http://docs.transifex.com/client/, config: https://github.com/kvirc/KVIrc/blob/master/.tx/config)
  • Ideally, let translators do their work;
  • Pull the updated translations from transifex using tx pull -a -f
  • Commit the updated *.pot and *.po files and open a PR

Note: typo and other string fixes should take place only in the source *.cpp or *.h files, and they will obviously break old translations.
Since KVIrc translations are handled in an external site (Transifex), any modifications made to .po files will be overwritten the next time translations are synced from Transifex.