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

Reply via email to