changeset 3187:6812e3b03eec draft

translation process file updates - add part for handling of plurals - update Transifex links - small misc changes
author Philip Kaufmann <phil.kaufmann@t-online.de>
date Wed, 11 Jul 2012 21:40:35 +0200
parents bf05196d4f7f
children ac9abbf669b5
files doc/translation_process.md
diffstat 1 files changed, 38 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/doc/translation_process.md
+++ b/doc/translation_process.md
@@ -28,32 +28,55 @@
 
     bitcoin_xx_YY.ts or bitcoin_xx.ts
 
-#### Source file
+#### bitcoin_en.ts (Source file)
 
 `src/qt/locale/bitcoin_en.ts` is treated in a special way. It is used as the
 source for all other translations. Whenever a string in the code is changed
-this file must be updated to reflect those changes. Usually, this can be
-accomplished by running `lupdate` (included in the Qt SDK).
+this file must be updated to reflect those changes. This can be accomplished
+by running `lupdate` (included in the Qt SDK). Also, a custom script is used
+to extract strings from the non-Qt parts:
+
+    python share/qt/extract_strings_qt.py
+    lupdate bitcoin-qt.pro -no-obsolete -locations none -ts src/qt/locale/bitcoin_en.ts
+    
+##### Handling of plurals in the source file
+
+When new plurals are added to the source file, it's important to do the following steps:
 
-An updated source file should be merged to github and transifex will pick it
-up from there. Afterwards the new strings show up as "Remaining" in transifex
-and can be translated.
+1. Open bitcoin_en.ts in Qt Linguist (also included in the Qt SDK)
+2. Search for `%n`, which will take you to the parts in the translation that use plurals
+3. Look for empty `English Translation (Singular)` and `English Translation (Plural)` fields
+4. Add the appropriate strings for the singular and plural form of the base string
+5. Mark the item as done (via the green arrow symbol in the toolbar)
+6. Repeat from step 2. until all singular and plural forms are in the source file
+7. Save the source file
+
+##### Creating the pull-request
 
-Syncing with transifex
+An updated source file should be merged to github and Transifex will pick it
+up from there (can take some hours). Afterwards the new strings show up as "Remaining"
+in Transifex and can be translated.
+
+To create the pull-request you have to do:
+
+    git add src/qt/bitcoinstrings.cpp src/qt/locale/bitcoin_en.ts
+    git commit
+
+Syncing with Transifex
 ----------------------
 
-We are using http://transifex.net as a frontend for translating the client.
+We are using https://transifex.com as a frontend for translating the client.
 
-https://www.transifex.net/projects/p/bitcoin/resource/tx/
+https://www.transifex.com/projects/p/bitcoin/resource/tx/
 
-The "transifex client" (see: http://help.transifex.net/features/client/)
-will help with fetching new translations from transifex. Use the following
-config to be able to connect with the client.
+The "Transifex client" (see: http://help.transifex.com/features/client/)
+will help with fetching new translations from Transifex. Use the following
+config to be able to connect with the client:
 
 ### .tx/config
 
     [main]
-    host = https://www.transifex.net
+    host = https://www.transifex.com
 
     [bitcoin.tx]
     file_filter = src/qt/locale/bitcoin_<lang>.ts
@@ -63,14 +86,14 @@
 ### .tx/config (for Windows)
 
     [main]
-    host = https://www.transifex.net
+    host = https://www.transifex.com
 
     [bitcoin.tx]
     file_filter = src\qt\locale\bitcoin_<lang>.ts
     source_file = src\qt\locale\bitcoin_en.ts
     source_lang = en
 
-It is also possible to directly download new translations one by one from transifex.
+It is also possible to directly download new translations one by one from the Transifex website.
 
 ### Fetching new translations