aboutsummaryrefslogtreecommitdiff
path: root/doc/translation_process.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/translation_process.md')
-rw-r--r--doc/translation_process.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/doc/translation_process.md b/doc/translation_process.md
new file mode 100644
index 0000000000..cf1000573f
--- /dev/null
+++ b/doc/translation_process.md
@@ -0,0 +1,63 @@
+Translations
+============
+
+The QT GUI can be easily be translated into other languages. Here's how we
+handle those translations.
+
+Files and Folders
+-----------------
+
+### bitcoin-qt.pro
+
+This file takes care of generating `.qm` files from `.ts` files. It is mostly
+automated.
+
+### src/qt/bitcoin.qrc
+
+This file must be updated whenever a new translation is added. Please note that
+files must end with `.qm`, not `.ts`.
+
+ <qresource prefix="/translations">
+ <file alias="en">locale/bitcoin_en.qm</file>
+ ...
+ </qresource>
+
+### src/qt/locale/
+
+This directory contains all translations. Filenames must adhere to this format:
+
+ bitcoin_xx_YY.ts or bitcoin_xx.ts
+
+#### Source file
+
+`src/qt/locale/bitcoin_en.ts` is a treated in a special way. It is used as the
+source for all other translations. Whenever a string in the code is change
+this file must be updated to reflect those changes. Usually, this can be
+accomplished by running `lupdate`
+
+Syncing with transifex
+----------------------
+
+We are using http://transifex.net as a frontend for translating the client.
+
+https://www.transifex.net/projects/p/bitcoin/resource/tx/
+
+The "transifex client":http://help.transifex.net/features/client/index.html
+will help with fetching new translations from transifex.
+
+
+### .tx/config
+
+ [main]
+ host = https://www.transifex.net
+
+ [bitcoin.tx]
+ file_filter = src/qt/locale/bitcoin_<lang>.ts
+ source_file = src/qt/locale/bitcoin_en.ts
+ source_lang = en
+
+### Fetching new translations
+
+1. `tx pull -a`
+2. update `src/qt/bitcoin.qrc`
+3. `git add` new translations from `src/qt/locale/`