I can’t find any other translations that contains a links to github.com
.
Further down in the same file, this also looks like spam:
I can’t find any other translations that contains a links to github.com
.
Further down in the same file, this also looks like spam:
I’ve written a tool to check translations: https://github.com/maflcko/DrahtBot/tree/main/check_translations
This finds the above issues, as well as one more false positive:
0$ cargo run -- --llm-api-key hi --translation-file /path/to/src/qt/locale/bitcoin_pl.ts --cache-dir cache
1
2
3Erroneous translation:
4
5 <source>Create Wallet</source>
6 <translation type="unfinished">Stwórz potrfel</translation>
7
8Erroneous translation:
9
10 <source>%1 (%2 blocks)</source>
11 <translation type="unfinished">%1 (%2 bloków)github.com </translation>
12
13Erroneous translation:
14
15 <source>%1 to '%2'</source>
16 <translation type="unfinished">%1 do '%2'8f0451c0-ec7d-4357-a370-eff72fb0685f</translation>
17
I’d say that the script should be run on all other translations as well. Also, it should be run on any translation update.
Let me know if you have any suggestions or questions.
I’ve pushed an update to check more broadly. The new issues (for just Polish) include some false positives around (change/reszta). Though, the others largely apply as far as I can see:
<source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source>
<translation>hasłoOstrzeżenie: Jeśli zaszyfrujesz swój portfel i zgubisz hasło - <b>STRACISZ WSZYSTKIE SWOJE BITCONY</b>!</translation>
The translation prepends “hasło” to the warning. While “hasło” means “password”, it’s an unnecessary and awkward addition to the beginning of the warning message. It doesn’t change the core meaning but makes the translation read poorly and could be confusing. It’s an error in translation quality.
<source>Wallet to be encrypted</source>
<translation>Portfel do zaszyfrowania </translation>
The translation “Portfel do zaszyfrowania” is grammatically incorrect and sounds unnatural in Polish. A correct translation would be “Portfel do zaszyfrowania” or “Zaszyfrować portfel”. The “do” construction is awkward here and implies encryption for the wallet, rather than of the wallet. While not malicious, it’s a clear error.
<source>Runaway exception</source>
<translation>Błąd zapisu do portfela</translation>
The translation “Błąd zapisu do portfela” (Error writing to wallet) is completely unrelated to the source “Runaway exception”. A runaway exception is a programming/system error, while this translation refers to a cryptocurrency wallet issue. This is a significant and incorrect translation.
<source>Feeler</source>
<translation>Szczelinomierz</translation>
“Szczelinomierz” translates to “gap gauge” or “slit gauge” - a tool used for measuring small gaps. This is a completely inaccurate and nonsensical translation of “Feeler” in the context of networking/peer connections. It’s not harmful, but it’s a significant error.
<source>Request payments (generates QR codes and bitcoin: URIs)</source>
<translation>Zażądaj płatności (wygeneruj QE code i bitcoin: URI)</translation>
“QE code” is an error. It should be “QR code”. This is erroneous content, even if not malicious.
<source>Show the %1 help message to get a list with possible Bitcoin command-line options</source>
<translation>Pokaż pomoc %1 aby zobaczyć listę wszystkich opcji lnii poleceń.</translation>
The translation contains a typo: “lnii” should be “linii”. While not malicious, it’s erroneous content. Also, “wszystkich” (all) is redundant as the context already implies a complete list of options. While not strictly problematic in a harmful way, it’s a poor translation.
<source>Confirmed</source>
<translation>Potwerdzone</translation>
The Polish translation “Potwerdzone” is a misspelling of “Potwierdzone”. While not malicious, it’s erroneous and indicates a low-quality translation. It’s a significant enough error to be considered problematic.
<source>Copy amount</source>
<translation>Kopiuj kwote</translation>
The translation “Kopiuj kwote” is incorrect and nonsensical in Polish. “Kopiuj” is a direct transliteration of “Copy” and while understandable, isn’t natural. “Kwota” means “amount” but the verb conjugation is wrong. A correct translation would be “Skopiuj kwotę” or “Kopiuj kwotę” (though the latter is less common). The incorrect grammar makes the translation problematic.
<source>Copy fee</source>
<translation>Skopiuj prowizję</translation>
“Skopiuj prowizję” translates literally to “Copy commission”. While understandable, “Copy fee” is better translated as “Opłata za kopiowanie” or “Koszt kopiowania”. The provided translation sounds unnatural and could be misinterpreted, potentially leading to confusion regarding fees. It’s not harmful, but it’s a poor and potentially misleading translation.
<source>Copy after fee</source>
<translation>Skopiuj ilość po opłacie</translation>
The translation “Skopiuj ilość po opłacie” (Copy amount after fee) is misleading and potentially problematic. The English source “Copy after fee” likely refers to copying data or trades after a fee has been paid (common in financial/trading contexts). The Polish translation implies copying a quantity after a fee, which doesn’t make sense in the likely intended context and could be misinterpreted. It’s inaccurate and could lead to user confusion or even financial loss if acted upon.
<source>Copy change</source>
<translation>Skopiuj resztę</translation>
The translation “Skopiuj resztę” translates to “Copy the rest”. While not overtly harmful, it significantly changes the meaning of the original “Copy change” (likely referring to a request to copy edits/modifications). This is erroneous and could be misleading in a user interface context. It’s not spam or malicious, but it’s a functionally incorrect translation.
<source>change from %1 (%2)</source>
<translation>reszta z %1 (%2)</translation>
The translation “reszta z %1 (%2)” is incorrect and changes the meaning. “Reszta z” means “remainder from”, while “change from” implies a difference or alteration. This is an erroneous translation that could lead to misunderstanding, especially in a financial or technical context where this phrase might be used. It’s not spam or unwanted content, but it is problematic due to inaccuracy.
<source>(change)</source>
<translation>(reszta)</translation>
The translation of “(change)” to “(reszta)” is problematic. “(reszta)” means “remainder” or “rest” in Polish. It has absolutely no connection to the meaning of “change” (as in alteration or modification). This is a completely inaccurate and nonsensical translation, likely stemming from a machine translation error or malicious intent. It’s not spam, but it is erroneous and problematic due to its inaccuracy.
<source>Create Wallet</source>
<translation>Stwórz potrfel</translation>
The translation contains a typo: “potrfel” should be “portfel”. This is erroneous content.
<source>Create wallet failed</source>
<translation>Nieudane tworzenie potrfela</translation>
The translation contains a typo. “potrfela” should be “portfela” (wallet in Polish - genitive case). This makes the translation erroneous, even though the meaning is understandable.
<source>Open wallet warning</source>
<translation>Ostrzeżenie przy otworzeniu potrfela</translation>
The translation contains a typo: “potrfela” should be “portfela” (wallet). While not malicious, it’s erroneous and impacts clarity.
<source>Create Wallet</source>
<translation>Stwórz potrfel</translation>
The translation contains a typo: “potrfel” should be “portfel” (wallet). This is erroneous content.
<source>Enable coin control features</source>
<translation>Włącz funkcje kontoli monet</translation>
The translation contains a spelling error. “kontoli” should be “kontroli”. This is erroneous content.
<source>Signed transaction successfully. Transaction is ready to broadcast.</source>
<translation>transakcja</translation>
The translation “transakcja” is incomplete and doesn’t convey the full meaning of the source sentence. While “transakcja” means “transaction”, it’s a fragment and lacks the crucial information about success, signing, and broadcasting readiness. This makes it a poor and potentially misleading translation in context.
<source>(But this wallet cannot sign transactions.)</source>
<translation>(Ale ten portfel nie może podipisać transakcji.)</translation>
The Polish translation contains a typo: “podipisać” should be “podpisać”. This is erroneous content. While not malicious, it’s a clear mistake affecting readability and correctness.
<source>The duration of a currently outstanding ping.</source>
<translation>Czas trwania nadmiarowego pingu</translation>
“Nadmiarowy” translates to “excessive” or “superfluous”. While technically not incorrect, it’s a very unusual and unnatural way to describe a ping in Polish. A more accurate and natural translation would use a word like “aktywny” (active) or simply omit a descriptor, as the context of “currently outstanding” already implies it’s not a completed ping. This could lead to misunderstanding, making it problematic.
<source>Copy amount</source>
<translation>Kopiuj kwote</translation>
The translation “Kopiuj kwote” is incorrect and nonsensical in Polish. “Kopiuj” is a direct transliteration of “Copy” and while understandable, isn’t natural. “Kwota” means “amount” but the verb conjugation is wrong. A correct translation would be “Skopiuj kwotę” or “Kopiuj kwotę” (though the latter is less common). The incorrect grammar makes the translation problematic.
<source>Copy fee</source>
<translation>Skopiuj prowizję</translation>
“Skopiuj prowizję” translates literally to “Copy commission”. While understandable, “Copy fee” is better translated as “Opłata za kopiowanie” or “Koszt kopiowania”. The provided translation sounds unnatural and could be misinterpreted, potentially leading to confusion regarding fees. It’s not harmful, but it’s a poor and potentially misleading translation.
<source>Copy after fee</source>
<translation>Skopiuj ilość po opłacie</translation>
The translation “Skopiuj ilość po opłacie” (Copy amount after fee) is misleading and potentially problematic. The English source “Copy after fee” likely refers to copying data or trades after a fee has been paid (common in financial/trading contexts). The Polish translation implies copying a quantity after a fee, which doesn’t make sense in the likely intended context and could be misinterpreted. It’s inaccurate and could lead to user confusion or even financial loss if acted upon.
<source>Copy change</source>
<translation>Skopiuj resztę</translation>
The translation “Skopiuj resztę” translates to “Copy the rest”. While not overtly harmful, it significantly changes the meaning of the original “Copy change” (likely referring to a request to copy edits/modifications). This is erroneous and could be misleading in a user interface context. It’s not spam or malicious, but it’s a functionally incorrect translation.
<source>%1 (%2 blocks)</source>
<translation>%1 (%2 bloków)github.com </translation>
The translation includes “github.com” appended to the end, which is clearly unwanted and erroneous content. It’s not a natural part of the translated phrase and appears to be a leftover artifact or injected spam/link.
<source>%1 to '%2'</source>
<translation>%1 do '%2'8f0451c0-ec7d-4357-a370-eff72fb0685f</translation>
The translation includes a seemingly random string of characters (“8f0451c0-ec7d-4357-a370-eff72fb0685f”) appended to the end, which is clearly erroneous and unwanted content. It’s not a natural part of the Polish translation of “to”.
<source>Warning: Unknown change address</source>
<translation>Ostrzeżenie: Nieznany adres reszty</translation>
The translation “adres reszty” is incorrect and nonsensical in this context. “Reszty” means “change” or “remainder” but doesn’t fit the meaning of “change address”. A correct translation would be “Ostrzeżenie: Nieznany adres zmiany” or “Ostrzeżenie: Nieznany nowy adres”. The current translation is erroneous.
<source>Pay To:</source>
<translation>Zapłać dla:</translation>
The translation “Zapłać dla:” is grammatically incorrect and sounds unnatural in Polish. The correct translation of “Pay To:” in this context (e.g., on a bill or form) would be “Płać na rzecz:” or “Zapłać na rzecz:”. “Zapłać dla:” literally translates to “Pay for,” which changes the meaning. While not malicious, it’s erroneous and could cause confusion.
<source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source>
<translation>Opłata zostanie odjęta od kwoty wysyłane.Odbiorca otrzyma mniej niż bitcoins wpisz w polu kwoty. Jeśli wybrano kilku odbiorców, opłata jest podzielona równo.</translation>
The translation contains grammatical errors (“wysyłane” should be “wysyłanej”, “wpisz” should be “wpiszesz”). While not malicious, these errors make the text unprofessional and potentially confusing for a Polish speaker. It’s problematic in the sense that it’s a poor quality translation.
<source>Copy transaction ID</source>
<translation>transakcjaSkopiuj ID transakcji</translation>
The translation “transakcjaSkopiuj ID transakcji” is not grammatically correct Polish. It appears to be a concatenation of words without proper spacing or grammatical structure. A correct translation would be “Skopiuj ID transakcji” or “Kopiuj ID transakcji”. The current translation is awkward and difficult to understand.
<source>Confirmed</source>
<translation>Potwerdzone</translation>
The Polish translation “Potwerdzone” is a misspelling of “Potwierdzone”. While not malicious, it’s erroneous and indicates a low-quality translation. It’s a significant enough error to be considered problematic.
<source>Watch-only</source>
<translation>Tylko-obserwowany</translation>
The translation “Tylko-obserwowany” is grammatically incorrect and sounds very unnatural in Polish. A correct translation would be “Tylko do obserwacji” or “Oglądaj tylko”. The hyphenated form is not standard Polish and could be misinterpreted or simply sound odd. While not malicious, it’s a clear error.
<source>File %s already exists. If you are sure this is what you want, move it out of the way first.</source>
<translation>Plik 1%s już istnieje. Jeśli jesteś pewien, że tego chcesz, najpierw usuń to z drogi.</translation>
The translation suggests deleting a file (“usuń to z drogi”) which is a potentially destructive action. The original English suggests moving the file, a less drastic and safer approach. This difference in instruction could lead to data loss.
<source>No dump file provided. To use dump, -dumpfile=<filename> must be provided.</source>
<translation>Nie dostarczono pliku zrzutu. Aby użyć funkcji createfromdump, należy podać -dumpfile=1.</translation>
The translation introduces an error. The original English text refers to providing a filename after -dumpfile=
. The Polish translation incorrectly states -dumpfile=1
. This is a functional error, as it provides incorrect usage instructions.
<source>No wallet file format provided. To use createfromdump, -format=<format> must be provided.</source>
<translation>Nie dostarczono pliku zrzutu. Aby użyć funkcji createfromdump, należy podać -dumpfile=<format>.</translation>
The translation incorrectly changes -format=<format>
to -dumpfile=<format>
. This is an error in accurately conveying the original meaning and could lead to user confusion or incorrect usage of the software. It’s not malicious, but it is erroneous and problematic.
<source>Transaction requires one destination of non-0 value, a non-0 feerate, or a pre-selected input</source>
<translation>Transakcja wymagana jednego celu o niezerowej wartości, niezerowej opłacie lub wstępnie wybranego wejścia</translation>
The Polish translation “Transakcja wymagana jednego celu o niezerowej wartości, niezerowej opłacie lub wstępnie wybranego wejścia” is grammatically incorrect and sounds unnatural. “Wymagana jednego celu” should be “wymaga jednego celu” (requires one destination). While not malicious, it’s erroneous and could cause confusion.
<source>Invalid port specified in %s: '%s'</source>
<translation>Nieprawidłowa maska sieci określona w %s: '%s'</translation>
The translation incorrectly translates “port” as “maska sieci” (network mask). While both relate to networking, they are distinct concepts. Using “maska sieci” instead of “port” changes the meaning and introduces erroneous content. A correct translation would use “port” or a Polish equivalent like “numer portu”.
<source>Unknown change type '%s'</source>
<translation>Nieznany typ reszty '%s'</translation>
The translation “Nieznany typ reszty ‘%s’” is inaccurate and changes the meaning. “Reszty” translates to “remainder” or “change” (as in money), while the original English refers to a “change type”. A more accurate translation would be “Nieznany typ zmiany ‘%s’” or “Nieznany rodzaj zmiany ‘%s’”. This inaccuracy could lead to confusion for the user.
<source>Verifying wallet(s)…</source>
<translation>Weryfikowanie porfela(li)...</translation>
The translation contains a misspelling: “porfela” should be “portfela”. This is erroneous content.
I’m currently seeking a volunteer for the position of Polish Translation Coordinator:
Pushed another update to check for the format spec, but those are quicker and easier to find via:
0$ git grep -l '1%1' src/qt/locale/
1src/qt/locale/bitcoin_bg.ts
2src/qt/locale/bitcoin_bn.ts
3src/qt/locale/bitcoin_da.ts
4src/qt/locale/bitcoin_es.ts
5src/qt/locale/bitcoin_es_CL.ts
6src/qt/locale/bitcoin_es_CO.ts
7src/qt/locale/bitcoin_es_DO.ts
8src/qt/locale/bitcoin_es_SV.ts
9src/qt/locale/bitcoin_es_VE.ts
10src/qt/locale/bitcoin_it.ts
11src/qt/locale/bitcoin_ko.ts
12src/qt/locale/bitcoin_pl.ts
13src/qt/locale/bitcoin_sr.ts
14src/qt/locale/bitcoin_sr@ijekavianlatin.ts
15src/qt/locale/bitcoin_sr@latin.ts
16src/qt/locale/bitcoin_ta.ts
17src/qt/locale/bitcoin_tl.ts
18src/qt/locale/bitcoin_ur.ts
I’ve pushed an update to check more broadly. The new issues (for just Polish) include some false positives around (change/reszta). Though, the others largely apply as far as I can see:
I went through all the listed findings in polish translation and corrected most of them. Some of the findings are actually invalid, eg. “reszta” really means “change”.
I’m happy we give it another whirl after Transifex changes go in.
NOTE: I also updated some other labels I stumbled upon which need. In general, the Polish translation needs some love as I see labels not translated, but what is problematic is … duplicates. It seems many labels are twice, thrice or more.
Such as this one:
Or this one:
resource ID | text | translated text | context | resource | string hash |
---|---|---|---|---|---|
1237 | Verifying blocks… | Verifying blocks… | ../bitcoinstrings.cpp:English (en):cpp:_msg1237 | 28.x | 55fa1ca314ec6125af7cead832b00adf |
2485 | Verifying blocks… | Weryfikowanie bloków… | ../bitcoinstrings.cpp:English (en):cpp:_msg1244 | 29.x | d0927fd987a78ab69d2f788a995cc804 |
I went through all the listed findings in polish translation and corrected most of them. Some of the findings are actually invalid, eg. “reszta” really means “change”.
Thanks. I was aware that reszta is correct. It was missing from the context, so I’ve added it in https://github.com/maflcko/DrahtBot/commit/54e4a219e74dbf8064edbe60c0cc6d741381a928
I’m happy we give it another whirl after Transifex changes go in.
Yeah, I am happy to run the script again, but I do wonder if there is a better way. Maybe each language translator (or the coordinator for the language runs the script)? Instead of manually running, I can also run it every night and share the results on a website?
fanquake
hebasto
maflcko
jesterhodl
Labels
GUI