Документация
ОС Аврора 5.1.5

Соглашения о локализации

В данной статье описываются соглашения об интернационализации и локализации приложений, которые рекомендуются при разработке приложений для ОС Аврора.

Интернационализированный текст

Все читаемые пользователем строки в приложении должны быть встроены таким образом, чтобы их можно было перевести. Для этого можно использовать функции tr() в C++ и qsTr() в QML или qtTrId() в C++ и qsTrId() в QML. Первая пара функций предлагает более простой подход, в то время как вторая обеспечивает большую гибкость в некоторых ситуациях. Инструмент lupdate просканирует код C++ на предмет использования этих функций и сгенерирует соответствующие выходные файлы перевода для приложения.

Функцию qtTrId() рекомендуется использовать следующим образом:

//: Это контекстная строка, которая описывает переводчикам, в каком контексте будет отображаться строка
//% "Это перевод на инженерно-английский язык, т. е. строка, которую разработчик ожидает увидеть в английской локализации"
const QString exampleString = qtTrId("example_internationalised_string_id");

В QML аналогичным образом можно использовать функцию qsTrId(). Пример:

Button {
    //: Этот текст будет отображаться на кнопке, при нажатии на которую приложение будет закрыто.
    //% "Quit"
    text: qsTrId("example_application-bt-quit")
    onClicked: Qt.quit()
}

Строка, начинающаяся с //:, указывает контекст, предоставляемый переводчику для помощи в переводе. Такие строки всегда стоит добавлять, они полезны для переводчиков, но не обязательны.

Вторая строка, начинающаяся с //%, указывает инженерный английский, резервный перевод, если правильный перевод отсутствует.

Последняя строка создаёт фактический перевод. Идентификатор формируется как <компонент>-<положение>-<описание>.

Переносы строк

Не рекомендуется использовать переносы строк в переводах пользовательского интерфейса, поскольку обычно переводы состоят из 1-2 предложений, а перенос строки может привести к неудачному выравниванию текста. Если нужно перевести несколько абзацев текста, следует использовать <\p> или <br> для переноса строки.

Двоеточия

В переводах двоеточия не поддерживаются. Если необходимы двоеточия, они добавляются на уровне кода. Следует обратить внимание, что для конструкций типа «ключ: значение» (например, выпадающие списки, информационные метки) двоеточия лучше не использовать. Вместо этого можно использовать цвет/выделение для различения двух элементов.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.