Please note, that despite documented support for <context-group> and <context> XML elements of XLIFF file by Transifex, disambiguation strings, i.e., the second argument of tr() call, are not rendered in Transifex editor. Therefore, they add no value to translation process.
Another change is "Context" in the "More Info" tab: a class name (the default context for tr() calls) is replaced with a source file name. Therefore, if knowing a class name is valuable to translators, developers must provide it in translator comments.
Strings in non-Qt code
The only change is "Context" in the "More Info" tab: instead of "bitcoin-core" the bitcoinstrings.cpp file is mentioned.
TL;DR
tr()
callstr()
calls, except in item 3Since https://github.com/bitcoin/bitcoin/pull/21694 is merged there is an opportunity for developers to provide an exhaustive context for translatable strings to translators who are working via the Transifex.
Strings in Qt code
Using a Qt TS translation file (pre-21694), v0.21.x and earlier:![DeepinScreenshot_select-area_20210421165407](https://user-images.githubusercontent.com/32963518/115598009-9a4d5500-a2e2-11eb-8053-6d43705a09e4.png)
Using a XLIFF translation file (post-21694), v22.x:![DeepinScreenshot_select-area_20210421165641](https://user-images.githubusercontent.com/32963518/115598350-fd3eec00-a2e2-11eb-8723-5ec33fc1c7d7.png)
The added "DEVELOPER NOTES" are the main means to provide context to translators in the Transifex editor. See:
To provide such notes in C++ code developers must use Qt Translator Comments that annotate
tr()
calls: https://github.com/bitcoin-core/gui/blob/e16f8720dca2de1040478968c9f3ca07644a04b7/src/qt/addressbookpage.cpp#L298-L299Please note, that despite documented support for
<context-group>
and<context>
XML elements of XLIFF file by Transifex, disambiguation strings, i.e., the second argument oftr()
call, are not rendered in Transifex editor. Therefore, they add no value to translation process.Another change is "Context" in the "More Info" tab: a class name (the default context for
tr()
calls) is replaced with a source file name. Therefore, if knowing a class name is valuable to translators, developers must provide it in translator comments.Strings in non-Qt code
The only change is "Context" in the "More Info" tab: instead of "bitcoin-core" the
bitcoinstrings.cpp
file is mentioned.Handling plural forms
Seems everything works fine. Details: