|
|
@ -28,32 +28,55 @@ This directory contains all translations. Filenames must adhere to this format: |
|
|
|
|
|
|
|
|
|
|
|
bitcoin_xx_YY.ts or bitcoin_xx.ts |
|
|
|
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 |
|
|
|
`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 |
|
|
|
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 |
|
|
|
this file must be updated to reflect those changes. This can be accomplished |
|
|
|
accomplished by running `lupdate` (included in the Qt SDK). |
|
|
|
by running `lupdate` (included in the Qt SDK). Also, a custom script is used |
|
|
|
|
|
|
|
to extract strings from the non-Qt parts: |
|
|
|
|
|
|
|
|
|
|
|
An updated source file should be merged to github and transifex will pick it |
|
|
|
python share/qt/extract_strings_qt.py |
|
|
|
up from there. Afterwards the new strings show up as "Remaining" in transifex |
|
|
|
lupdate bitcoin-qt.pro -no-obsolete -locations none -ts src/qt/locale/bitcoin_en.ts |
|
|
|
and can be translated. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Syncing with transifex |
|
|
|
##### Handling of plurals in the source file |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When new plurals are added to the source file, it's important to do the following steps: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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/) |
|
|
|
The "Transifex client" (see: http://help.transifex.com/features/client/) |
|
|
|
will help with fetching new translations from transifex. Use the following |
|
|
|
will help with fetching new translations from Transifex. Use the following |
|
|
|
config to be able to connect with the client. |
|
|
|
config to be able to connect with the client: |
|
|
|
|
|
|
|
|
|
|
|
### .tx/config |
|
|
|
### .tx/config |
|
|
|
|
|
|
|
|
|
|
|
[main] |
|
|
|
[main] |
|
|
|
host = https://www.transifex.net |
|
|
|
host = https://www.transifex.com |
|
|
|
|
|
|
|
|
|
|
|
[bitcoin.tx] |
|
|
|
[bitcoin.tx] |
|
|
|
file_filter = src/qt/locale/bitcoin_<lang>.ts |
|
|
|
file_filter = src/qt/locale/bitcoin_<lang>.ts |
|
|
@ -63,14 +86,14 @@ config to be able to connect with the client. |
|
|
|
### .tx/config (for Windows) |
|
|
|
### .tx/config (for Windows) |
|
|
|
|
|
|
|
|
|
|
|
[main] |
|
|
|
[main] |
|
|
|
host = https://www.transifex.net |
|
|
|
host = https://www.transifex.com |
|
|
|
|
|
|
|
|
|
|
|
[bitcoin.tx] |
|
|
|
[bitcoin.tx] |
|
|
|
file_filter = src\qt\locale\bitcoin_<lang>.ts |
|
|
|
file_filter = src\qt\locale\bitcoin_<lang>.ts |
|
|
|
source_file = src\qt\locale\bitcoin_en.ts |
|
|
|
source_file = src\qt\locale\bitcoin_en.ts |
|
|
|
source_lang = en |
|
|
|
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 |
|
|
|
### Fetching new translations |
|
|
|
|
|
|
|
|
|
|
|