Qt: n param в QTranslator :: translate () для неособых - PullRequest
2 голосов
/ 18 марта 2011

Qt Документация QTranslator :: translate () объявляет , что

Если n не равно -1, он используется для выбора соответствующей формы для перевода (например, "%n файл найден "против"% n найденных файлов ").

Кажется, что нет способа перевести"% n мужчин ответили% n вопросов "как одну строку (т.е. мне нужно выполнить2 QTranslator :: translate () вызывает), или я ошибаюсь?

1 Ответ

4 голосов
/ 18 марта 2011

Я бы не советовал пытаться использовать несколько числовых форм в одной переводимой строке.

  • Это сложно, включая более одного вызова tr().
  • Это сложно,Некоторые языки могут иметь более двух числовых форм, и пространство перевода увеличивается в O(n^m), где n - это число числовых форм в языке, а m - это число числовых форм в вашей строке для перевода.Пример: арабский язык имеет шесть числовых форм, и если в вашей строке два %n s, вам потребуется 36 различных переводов.

Итак, лучше структурировать переводимые строки так, чтобы максимальнодля каждой строки необходим один %n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...