mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-08-04 07:24:06 +02:00
a434d66025cmake, translation: Specify English as target language explicitly (Hennadii Stepanov)4097d6d968cmake, translation: Sort messages within contexts alphabetically (Hennadii Stepanov)312ab8ab0acmake, translation: Skip source locations in TS files (Hennadii Stepanov)4f553bd0dacmake, translation: Remove TS to XLIFF conversion (Hennadii Stepanov)8c30055458translation: Switch to Qt TS source file (Hennadii Stepanov) Pull request description: In Bitcoin Core v22.0, we [switched](https://github.com/bitcoin/bitcoin/pull/21694) from Qt TS to XLIFF translation source file to provide more context, specifically [developer notes](https://doc.qt.io/qt-6/i18n-source-translation.html#add-comments-for-translators), to translators on Transifex. That was very useful for translators back then, even though it required some extra complexity on our side. Since then, Transifex has enabled support for developer notes in [Qt TS files](https://help.transifex.com/en/articles/6223301-qt-linguist) as well. Therefore, I believe we should thank XLIFF for its service and retire it. In addition to switching back to Qt TS, this PR introduces a few tweaks to the `lupdate` command (see the corresponding commit messages). To summarize, this PR brings the following benefits: 1. Removal of obsolete code from the build system. 2. Minimal diffs during translation updates. For a recent example, see https://github.com/bitcoin-core/gui/pull/931. One can also apply the changes from bitcoin/bitcoin#34301 and run `cmake -B build --fresh -DBUILD_GUI=ON && cmake --build build -t translate` to observe the new minimal diff. 3. More stable string hashes on Transifex. They no longer include string `id`s, which makes this PR an alternative to https://github.com/bitcoin/bitcoin/pull/33270. As a potential drawback, we are tying ourselves back to Qt's proprietary translation file format. I've created an experimental resource on Transifex based on this branch: https://app.transifex.com/bitcoin/bitcoin/experimental-do-not-translate. Reviewers can use it to observe Transifex's support for the various features on the following messages: - \# 11 - Developer Notes - \# 144 - Plurals - \# 510 - A disambiguation string (provided as a second argument to the [`tr()`](https://doc.qt.io/qt-6/qobject.html#tr) function) added to the string context. ACKs for top commit: l0rinc: Code review ACKa434d66025achow101: ACKa434d66025sedited: ACKa434d66025Tree-SHA512: 2f79af707974acd8c955e01c06b41794ae1702964bd5f6d260dba73f2f14d0b4b6e84f502f8515d84585e00db8db5b644cb6c47f91662a7ba5b6990f2d0ba115