Op 07/03/2016 om 20:25 schreef André Somers:
Op 07/03/2016 om 19:56 schreef Jason H:
If you provide a translation file, the message with %n will be
translated
according to the language's plural rules. For English, you'll have two
translations for the same source message.
"At least one upper case character is required" (a)
"At least %n upper case characters are required" (b)
QTranslator takes care to apply the correct selection based on the
number that
you passed.
Ok I'm getting there, but how do I specify this string (a) or that
string (b)?
What's the qsTr() line look like?
qsTr( ?
It doesn't matter how your string inside the tr or qsTr looks, as long
as it contains the %n. It is useful for both developers and
translators if it looks roughly like the string you want out of it but
that is not strictly needed. You could just make due with
qsTr("MESSAGE_UPPER_CASE_CHARACTERS %n", n) or something like that
though I personaly don't like this. It is up to the person filling the
translation file with translations (including the one for English) to
make sure that both versions of the definitive string are provided in
the .ts file.
André
By the way, note that using "one" literally in your translation will
trigger a warning, as the %n is missing in the translated string. Though
there are good reasons for it as I understand it, I find that annoying
but that's how it is.
André
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest