There's an issue with pluralization translations in the CSV import widget code – attempting to translate it on Transifex has it ask me about some weird strings.
Transifex should prompt me for the singular and plural translations of "[%n more messages skipped]"
, and let me decide on the location of interpolated strings in case my language needs that.
Currently it asks me, erroneously, for the translation of " more messages skipped]"
. It also asks me for translations of things like "column "
, or "Empty fieldname "
, without letting me position later parameters or even making it clear that they're going to be added.
The first problem seems to be in this line of code:
https://github.com/keepassxreboot/keepassxc/blob/83974732f3d217a73e1a750844b8eb1cf371f5d9/src/gui/csvImport/CsvImportWidget.cpp#L203-L205
I'm not sure how to set up plural translations correctly, otherwise I'd submit a pull request for this issue. The same goes for the following translations; I might try learning how Qt handles string translations, so I can submit PRs for this in the future.
Other weird (or possibly untranslatable) strings in the same file:
(should be "Original data: %s"
?)
(should be "Empty fieldname %n"
and "column %n"
?)
(should have no space before the exclamation mark, and maybe be translated based on number)
(contains a linebreak at the end, which shows in the translation UI but doesn't actually aid translation)
(should be translatable? also affects other lines of code in the same file)
Here, it doesn't affect me much, as I'm translating for English (United Kingdom) – I could simply copy and paste the string – but these look weird in the translation interface when it's asking me to translate things. For other languages, this probably reduces translation accuracy, and makes it harder on translators to correctly input strings, especially around pluralization.
I'm using the Transifex interface, so what version of KeePassXC _I'm_ on shouldn't be applicable, but:
KeePassXC - Version 2.3.0
Revision: 4c0ed74
Libraries:
Operating system: Windows 10 (10.0)
CPU architecture: x86_64
Kernel: winnt 10.0.16299
Enabled extensions:
Nice report! Really appreciated
I've found some more places that I'm questioning, but they're not in this CSV import widget, and I didn't want to bury you all under a bunch of nitpicks. Should I add them to this issue, or make a new issue for them?
Some of the others I found:
The "About" dialog has some weird linebreaks at the ends of strings:
whereas in other strings, they're appended:
It might be worth standardizing on this? Preferably to the one that doesn't ask us to translate the linebreaks, since those show in the Transifex interface, unless it's important to the meaning.
The "extensions" part of the dialog is also untranslatable – should it be?
The "createKeyFile" function in "ChangeMasterKeyWidget" has a weird string:
(should be "Unable to create key file: %s"?)
These strings are weird to translate, especially if the ;;
is a special delineater – should we only be given "Executable Files" and "All Files"?
This line capitalizes "Settings" weirdly:
See here where it doesn't:
Here we use a proper ellipsis:
There are a bunch of other places that don't.
I'll look at other locations later, and see if I can figure out a PR. (Testing it will probably be the hardest part :P)