|
|||||||
Локализация Qt-приложений. Плейсхолдеры - аргументы функции перевода tr()
Время создания: 20.03.2016 22:41
Текстовые метки: Qt, tr(), локализация, интернационализация, перевод, аргументы, порядок, последовательность
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Локализация
Запись: xintrea/mytetra_syncro/master/base/1440258386k2z7465sft/text.html на raw.github.com
|
|||||||
|
|||||||
Для перевода строк на другой язык, в Qt используется глобальная функция tr(). В коде программы все сообщения необходимо писать на английском языке, и оборачивать в вызов tr(). Далее в специальной программе Qt Linguist можно сделать перевод этих английских предложений. Когда в середину строки нам понадобится вставлять значения каких-либо переменных, лучше всего использовать плейсхолдеры, обозначающиеся как %1, %2, %3 и т.д. Наполнение плейсхолдеров происходит через "цепочные" методы arg(). Например, при копировании файлов мы могли бы отображать ход процесса следующим образом: void FileCopier::showProgress(int done, int total, const QString tFile) { label.setText(tr("%1 of %2 files copied.\nCopying: %3").arg(done).arg(total).arg(currentFile)); }
"Копируем файл %3. %1 из %2 файлов скопировано."
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|