qt: 29.0 translations update #32004

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:250305-tr changing 104 files +17573 −4113
  1. hebasto commented at 11:21 pm on March 5, 2025: member

    This PR follows our Release Process and concludes the translation-specific efforts for this release cycle. It follows two previous translation-related PRs, #31809 and https://github.com/bitcoin-core/gui/pull/854.

    It is one of the steps required before branch-off, as scheduled in #31029.

    The previous similar PR: #30715.

    Notes for reviewers:

    1. This is the first release process conducted after migrating the build system to CMake. The bitcoin-maintainer-tools/update-translations.py tool, which is used to fetch translations from Transifex.com, still generates the no-longer-needed src/Makefile.qt_locale.include file. Please ignore it.
    2. The actual translations on Transifex is a moving target. Therefore, your diff after running bitcoin-maintainer-tools/update-translations.py might differ.
    3. The translations for the following languages, which appear to be the result of a mistake or an act of vandalism, have been discarded:
      • Czech (cs)
      • Danish (da)
      • Dutch (nl)
    4. Changes to the Thai (th) translation have been discarded due to multiple unsolicited pronunciation notes.
  2. hebasto added the label GUI on Mar 5, 2025
  3. hebasto added this to the milestone 29.0 on Mar 5, 2025
  4. DrahtBot commented at 11:21 pm on March 5, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32004.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK glozow
    Stale ACK pablomartin4btc

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  5. hebasto commented at 11:23 pm on March 5, 2025: member

    cc @stickies-v @pablomartin4btc @johnny9 @jarolrod as regular reviewers of similar previous PRs.

    cc @glozow as the 29.0 release manager.

  6. Sjors commented at 10:42 am on March 7, 2025: member

    I would be useful if the PR describes any major intended changes.

    It adds several new languages: ast_ES, ay, or, ps, sa, sm, tn, ve, xh, yi

    It almost completely drops Dutch, Czech, Danish and perhaps others (Github can barely load the diff).


    It would be great if, in the future, the strings can have canonical ordering, so the XML files are easier to diff (without going to Transifex)

    E.g.

    0git show 5a52e0946d399fa467073c44752a5ce68b2a9008 src/qt/locale/bitcoin_de.ts
    

    show a lot of movement, which even --color-moved=dimmed-zebra doesn’t seem able to solve for.

  7. pablomartin4btc approved
  8. pablomartin4btc commented at 10:45 am on March 7, 2025: member

    tACK 5a52e0946d399fa467073c44752a5ce68b2a9008

    Tested sync’ing master (doc) and generating the translate (doc) from both master and this PR.

    No diffs.

  9. hebasto commented at 11:45 am on March 7, 2025: member

    I would be useful if the PR describes any major intended changes.

    It adds several new languages: ast_ES, ay, or, ps, sa, sm, tn, ve, xh, yi

    It almost completely drops Dutch, Czech, Danish and perhaps others (Github can barely load the diff).

    As a PR author, I take responsibility for committing changes that are generated by the bitcoin-maintainer-tools/update-translations.py script, which in turn fetches translations from the Transifex website. When a translation file is removed, I do check whether a translation has been vandalized.

    Otherwise, it is translators’ and language coordinators’ responsibility for the completeness and quality of the translations.

    I’d like to reiterate my point that Transifex is poorly suited for Bitcoin Core translations, and I’m keen to use GitHub to track translation changes (as was done many years ago). This seems doable in the context of the recently discussed separation of the GUI repository.

    It would be great if, in the future, the strings can have canonical ordering, so the XML files are easier to diff (without going to Transifex)

    E.g.

    0git show 5a52e0946d399fa467073c44752a5ce68b2a9008 src/qt/locale/bitcoin_de.ts
    

    show a lot of movement, which even --color-moved=dimmed-zebra doesn’t seem able to solve for.

    I agree.

  10. in src/qt/locale/bitcoin_gl_ES.ts:6 in 5a52e0946d outdated
    0@@ -1,6 +1,10 @@
    1 <TS version="2.1" language="gl_ES">
    2 <context>
    3     <name>AddressBookPage</name>
    4+    <message>
    5+        <source>Right-click to edit address or label</source>
    6+        <translation type="unfinished">cd vcpkg/buildtrees/libvpx/srccd *./configuresed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefilesed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefilemakecp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/cd</translation>
    


    fanquake commented at 11:50 am on March 7, 2025:
    This is pulling back in the same spam from #30897.

    hebasto commented at 12:09 pm on March 7, 2025:
    Removed the spam on Transifex and made a fresh fetching.
  11. fanquake changes_requested
  12. hebasto force-pushed on Mar 7, 2025
  13. pablomartin4btc approved
  14. pablomartin4btc commented at 1:14 pm on March 7, 2025: member

    re-ACK 86a28b6a3368acd2e6183fcfc9bbb13ee306c9fb

    0$ git branch
    1  250305-tr
    2* master
    3$ git reset --hard
    4$ python3 ../bitcoin-maintainer-tools/update-translations.py
    5...
    6$ git diff --cached master -- src/qt/bitcoin_locale.qrc src/qt/locale/
    7$
    
  15. in src/qt/locale/bitcoin_da.ts:6 in 86a28b6a33 outdated
    10-        <translation type="unfinished">Opret en ny adresse</translation>
    11-    </message>
    12-    <message>
    13-        <source>&amp;New</source>
    14-        <translation type="unfinished">&amp;Ny</translation>
    15+        <translation type="unfinished">  Về     Tải về     blog     phát hành     Phát triển     Liên hệ                                Tiếng Anh                                                                                                    Tiếng Tây Ban Nha                                                  Nhật Bản                                                  Tiếng Trung giản thể                                                  繁體中文                                                                            Phát hành  Bitcoin Core 28.0  Bitcoin Core 27.1  Bitcoin Core 27.0  Bitcoin Core 26.2  Bitcoin Core 26.1  Bitcoin Core 26.0  Bitcoin Core 25.2  Bitcoin Core 25.1  Bitcoin Core 25.0  Bitcoin Core 24.2  Bitcoin Core 24.1  Lõi Bitcoin 24.0.1  Bitcoin Core 23.2  Bitcoin Core 23.1  Bitcoin Core 23.0  Bitcoin Core 22.1  Bitcoin Core 22.0  Bitcoin Core 0.21.2  Bitcoin Core 0.21.1  Bitcoin Core 0.21.0  Bitcoin Core 0.20.2  Bitcoin Core 0.20.1  Bitcoin Core 0.20.0  Bitcoin Core 0.19.1  Lõi Bitcoin 0.19.0.1  Bitcoin Core 0.18.1  Bitcoin Core 0.18.0  Lõi Bitcoin 0.17.1  Lõi Bitcoin 0.17.0.1  Bitcoin Core 0.17.0  Lõi Bitcoin 0.16.3  Lõi Bitcoin 0.16.2  Lõi Bitcoin 0.16.1  Bitcoin Core 0.16.0  Bitcoin Core 0.15.2  Lõi Bitcoin 0.15.1  Lõi Bitcoin 0.15.0.1  Bitcoin Core 0.15.0  Lõi Bitcoin 0.14.3  Bitcoin Core 0.14.2  Bitcoin Core 0.14.1  Bitcoin Core 0.14.0  Bitcoin Core 0.13.2  Lõi Bitcoin 10.11.12.8333  Bitcoin Core 0.13.0  Bitcoin Core 0.12.1  Bitcoin Core 0.12.0  Bitcoin Core 0.11.2  Bitcoin Core 1010568.11.1  Bitcoin Core 10.11.0..  Twitter Pháp lý | Chính sách bảo mật | RSS   © 2024 Lõi Bitcoin</translation>
    


    achow101 commented at 0:37 am on March 8, 2025:
    This looks like spam.

    hebasto commented at 12:11 pm on March 10, 2025:
    Removed this one and other cases (bitcoin addresses) from this translation.
  16. in src/qt/locale/bitcoin_ps.ts:294 in 86a28b6a33 outdated
    289+
    290+
    291+
    292+
    293+
    294+.</translation>
    


    achow101 commented at 0:53 am on March 8, 2025:
    This seems like an excessive number of new lines, probably spam?

    hebasto commented at 11:48 am on March 10, 2025:

    I removed this translation on Transifex.

    Additionally, I promoted the following translation checks from warning to errors:

    • “New lines at the beginning of a source string are preserved in its translations.”
    • “New lines at the end of a source string are preserved in its translations.”
  17. in src/qt/locale/bitcoin_or.ts:93 in 86a28b6a33 outdated
    88+
    89+
    90+
    91+
    92+
    93+</translation>
    


    achow101 commented at 0:56 am on March 8, 2025:

    Extra newlines, although google translate thinks the translation is correct. It seems like the newlines do render in the gui.

    There are a number of these in this file.


    hebasto commented at 12:17 pm on March 10, 2025:
    Fixed on Transifex.
  18. in src/qt/locale/bitcoin_th.ts:1732 in 86a28b6a33 outdated
    1729+    </message>
    1730+    <message>
    1731+        <source>Port of the proxy (e.g. 9050)</source>
    1732+        <translation type="unfinished">พอร์ตของพร็อกซี (เช่น 9050)
    17331734+4o mini</translation>
    


    achow101 commented at 0:59 am on March 8, 2025:
    AI generated?

    hebasto commented at 3:16 pm on March 10, 2025:
    Removed on Transifex.
  19. in src/qt/locale/bitcoin_th.ts:1813 in 86a28b6a33 outdated
    1810+        <translation type="unfinished">เชื่อมต่อกับเครือข่าย Bitcoin ผ่านพร็อกซี SOCKS5 แยกต่างหากสำหรับบริการ Tor onion</translation>
    1811+    </message>
    1812+    <message>
    1813+        <source>Use separate SOCKS&amp;5 proxy to reach peers via Tor onion services:</source>
    1814+        <translation type="unfinished">ใช้พร็อกซี่ SOCKS5 แยกต่างหากเพื่อเชื่อมต่อกับเพื่อนผ่านบริการ Tor onion
    1815+
    


    achow101 commented at 1:00 am on March 8, 2025:
    Extra newline

    hebasto commented at 3:16 pm on March 10, 2025:
    Fixed on Transifex.
  20. in src/qt/locale/bitcoin_th.ts:1970 in 86a28b6a33 outdated
    1967+4o
    196819691970+
    1971+
    1972+ </translation>
    


    achow101 commented at 1:00 am on March 8, 2025:
    A lot of extra newlines, and the 4o makes me think this was AI generated.

    hebasto commented at 3:16 pm on March 10, 2025:
    Removed on Transifex.
  21. in src/qt/locale/bitcoin_th.ts:2158 in 86a28b6a33 outdated
    2155+    <name>PeerTableModel</name>
    2156+    <message>
    2157+        <source>User Agent</source>
    2158+        <extracomment>Title of Peers Table column which contains the peer's User Agent string.</extracomment>
    2159+        <translation type="unfinished">ตัวแทนผู้ใช้
    2160+(Pronounced: Dtua-Thaen Phu-Chai)</translation>
    


    achow101 commented at 1:06 am on March 8, 2025:
    I noticed a couple of translations have these pronunciations, is that expected according to our translation guidelines (do we have any)?

    hebasto commented at 3:28 pm on March 10, 2025:
    No, it is not expected. Removed on Transifex.
  22. hebasto force-pushed on Mar 10, 2025
  23. hebasto commented at 3:38 pm on March 10, 2025: member
    Feedback from @achow101 has been addressed.
  24. pablomartin4btc approved
  25. pablomartin4btc commented at 10:08 am on March 11, 2025: member

    re-ACK d95d1ddd173fef2654fa0678d1c1f0c9c5e40d93

    Minor diffs against sync’ed (updated translations) master on:

    0	src/qt/locale/bitcoin_et.ts
    1	src/qt/locale/bitcoin_ru.ts
    2	src/qt/locale/bitcoin_sv.ts
    

    Checked that the changes on those files were done after the latest PR’s refresh.

  26. Sjors commented at 12:09 pm on March 11, 2025: member

    It almost completely drops Dutch, Czech, Danish and perhaps others (Github can barely load the diff).

    As a PR author, I take responsibility for committing changes that are generated by the bitcoin-maintainer-tools/update-translations.py script, which in turn fetches translations from the Transifex website. When a translation file is removed, I do check whether a translation has been vandalized.

    Otherwise, it is translators’ and language coordinators’ responsibility for the completeness and quality of the translations.

    It would still be good to point to some place on Transifex where reviewers can see that discussion. There’s nothing on the public page, is it all behind a login? https://explore.transifex.com/bitcoin/bitcoin/


    Turns out I still have an account.

    Between 28.x and 29.x there’s almost no difference in string count:

    So maybe there’s a bug in the script or an API change?

  27. hebasto commented at 12:40 pm on March 11, 2025: member

    It almost completely drops Dutch, Czech, Danish and perhaps others (Github can barely load the diff).

    As a PR author, I take responsibility for committing changes that are generated by the bitcoin-maintainer-tools/update-translations.py script, which in turn fetches translations from the Transifex website. When a translation file is removed, I do check whether a translation has been vandalized. Otherwise, it is translators’ and language coordinators’ responsibility for the completeness and quality of the translations.

    It would still be good to point to some place on Transifex where reviewers can see that discussion. There’s nothing on the public page, is it all behind a login? https://explore.transifex.com/bitcoin/bitcoin/

    Turns out I still have an account.

    Between 28.x and 29.x there’s almost no difference in string count:

    So maybe there’s a bug in the script or an API change?

    From reviewing the Dutch (nl) translation history, I can see that the user ApeEstess1971 replaced translated strings with the original ones for 28.x, either by mistake or as an act of vandalism. As a result, 29.x automatically picked up these broken translations from 28.x via Translation Memory. Our fetching script treats such strings as untranslated and discards them.

    When this happens, people who care about a particular language’s translation usually restore the damage, as @Emzy did for German (de) and as I did for Ukrainian (uk).

  28. Sjors commented at 1:11 pm on March 11, 2025: member

    people who care about a particular language’s translation usually restore the damage

    They’d have to know about it first and understand how Transifex works. Is it safe to omit these large changes from this PR entirely? I’d rather have a slightly stale translation than a completely broken one.

    cc @laanwj

  29. hebasto commented at 1:16 pm on March 11, 2025: member

    people who care about a particular language’s translation usually restore the damage

    They’d have to know about it first and understand how Transifex works.

    Caring about a particular language’s translation implies both, doesn’t it?

    Is it safe to omit these large changes from this PR entirely? I’d rather have a slightly stale translation than a completely broken one.

    I believe it is safe. Which languages are you referring to?

  30. Sjors commented at 1:21 pm on March 11, 2025: member

    Based on git show --stat, looking for files with massive deletions:

    • src/qt/locale/bitcoin_cs.ts
    • src/qt/locale/bitcoin_da.ts
    • src/qt/locale/bitcoin_nl.ts

    When I undo the changes to those files, at least Dutch looks fine to me.

  31. hebasto force-pushed on Mar 11, 2025
  32. hebasto commented at 1:42 pm on March 11, 2025: member

    Based on git show --stat, looking for files with massive deletions:

    * `src/qt/locale/bitcoin_cs.ts`
    
    * `src/qt/locale/bitcoin_da.ts`
    
    * `src/qt/locale/bitcoin_nl.ts`
    

    When I undo the changes to those files, at least Dutch looks fine to me.

    Thanks! Updated.

  33. hebasto commented at 2:35 pm on March 11, 2025: member

    It would still be good to point to some place on Transifex where reviewers can see that discussion.

    I’ve posted an announcement, which refers to this PR:

  34. hebasto commented at 3:33 pm on March 11, 2025: member
    cc @darosior for sanity check of French (fr) translation.
  35. qt: 29.0 translations update
    The translations for the following languages, which appear to be the
    result of a mistake or an act of vandalism, have been discarded:
    - Czech (cs)
    - Danish (da)
    - Dutch (nl)
    
    Changes to the Thai (th) translation have been discarded due to multiple
    unsolicited pronunciation notes.
    9132824947
  36. in src/qt/locale/bitcoin_th.ts:310 in c6fa4304fe outdated
    307+        <source>%1 didn't yet exit safely…</source>
    308+        <translation type="unfinished">%1 ยังไม่ได้ออกอย่างปลอดภัย…</translation>
    309+    </message>
    310+    <message>
    311+        <source>unknown</source>
    312+        <translation type="unfinished">ไม่ทราบ (mai saap)</translation>
    


    achow101 commented at 5:18 pm on March 11, 2025:
    This file has a bunch of these parentheticals that I think are also the pronunciations.

    hebasto commented at 5:36 pm on March 11, 2025:
    There are too many of them. The entire Thai (th) translation update has been discarded.
  37. hebasto force-pushed on Mar 11, 2025
  38. hebasto requested review from fanquake on Mar 11, 2025
  39. hebasto removed review request from fanquake on Mar 11, 2025
  40. in src/qt/locale/bitcoin_fr.ts:4934 in 9132824947
    4928@@ -4915,9 +4929,13 @@ Impossible de restaurer la sauvegarde du porte-monnaie</translation>
    4929         <source>The transaction amount is too small to pay the fee</source>
    4930         <translation type="unfinished">Le montant de la transaction est trop bas pour que les frais soient payés</translation>
    4931     </message>
    4932+    <message>
    4933+        <source>The transactions removal process can only be executed within a db txn</source>
    4934+        <translation type="unfinished">Le processus de suppression des transactions ne peut être exécuté que dans une transaction .de base de données</translation>
    


    darosior commented at 8:04 pm on March 11, 2025:
    Seems harmless but there is some spurious symbol inserted in some sentences, such as this period here.
  41. darosior commented at 8:07 pm on March 11, 2025: member
    Sanity checked the three French translation files (bitcoin_fr.ts, bitcoin_fr_CM.ts and bitcoin_fr_LU.cs) and i did not find anything malicious as of 9132824947005421057f6a5f035082c7b99f3853. There is a lot of unnecessary churn however.
  42. glozow commented at 8:16 pm on March 11, 2025: member

    ACK 9132824947005421057f6a5f035082c7b99f3853

    Lightly sanity checked by pulling translations and diffing with this, grepping for URLs and addresses, and spot-checking a few strings.

  43. DrahtBot requested review from pablomartin4btc on Mar 11, 2025
  44. glozow requested review from fanquake on Mar 11, 2025
  45. fanquake merged this on Mar 12, 2025
  46. fanquake closed this on Mar 12, 2025

  47. maflcko commented at 8:35 am on March 12, 2025: member

    I’d like to reiterate my point that Transifex is poorly suited for Bitcoin Core translations, and I’m keen to use GitHub to track translation changes (as was done many years ago). This seems doable in the context of the recently discussed separation of the GUI repository.

    The gui repository is already a separate monotree in https://github.com/bitcoin-core/gui, so it should be possible to drop transifex already today, if translators and translation reviewers prefer to use GitHub. Maybe I am missing context why a further separation is required to achieve this goal?

    Unrelated to that, I presume it is possible to come up with better spam heuristics and have them checked by a script, similar to https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/961d365897e7c273620426d30d23e174cc225b5e/update-translations.py#L223

  48. hebasto deleted the branch on Mar 12, 2025

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-04-17 06:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me