Как мне начать использовать QtLinguist для перевода моего проекта QtCreator?
У меня простой .pro
Проект Qt Creator. У меня есть большая часть, если не все, текст моего приложения в Qt .ui
XML-файлы форм. Я хочу использовать Qt Linguist для перевода текста в этом проекте, но я не знаю, с чего начать. В интернете нет полезной статьи "Начало работы с Qt Linguist". Страница, гордо называющая себя Qt Linguist Manual, также не очень полезна, поскольку содержит только общую информацию, а не практические советы.
Я нашел эти предметы в Qt Creator:
Я не совсем уверен, что нужно сделать, чтобы заставить их работать, и как они связаны с Qt Linguist, который является полностью автономным приложением. Я открыл Qt Linguist, и он даже не содержит никаких File
-> New...
пункт меню, с которого я бы начал.
2 ответа
В начале это требует некоторой работы, но затем все это происходит автоматически.
Исходный код
В вашем исходном файле вы должны поместить переводимые строки внутри tr()
функция. Все производные классы QObject имеют свои tr()
функция. Для строк внутри этого класса используйте функцию tr этого класса: так вместо
QString str ="string to be translated";
использование
QString str = MyClass::tr("string to be translated");
Если у класса нет tr()
использование функции
QString str = QOject::tr("string to be translated");
Qt Creator
В Qt Creator вы идете в Инструменты / Внешние / Конфигурировать... и заполняете местоположение lupdate и lrelease. Вы можете жестко указать их местоположение или использовать макросы. Эти утилиты находятся в подкаталоге bin каталога установки Qt.
TS файлы
Предположим, вы хотите перевести с английского на голландский. Вам понадобятся два файла. Мы назовем их: myapp_en.ts
а также myapp_nl.ts
, В принципе, вам не нужно включать файл английского языка ts, но он помогает рассматривать английский на том же уровне, что и другой язык.
Файл проекта
добавить в про файл
TRANSLATIONS+= /path_to_/myapp_en.ts
TRANSLATIONS+= /path_to_/myapp_nl.ts
Первый раз файлы TS
При первом запуске lupdate будут созданы файлы ts.
Актуальный перевод
Откройте файл ts с помощью Qt Linguist. Вы можете установить некоторые свойства этого файла. Все строки, которые нужно перевести, теперь должны быть видны в представлении Qt Linguist в файле ts. Вы можете вставить переводы. И сохраните измененный файл TS.
Обновление файлов TS
Каждый раз, когда вы меняете свой исходный код, вы должны запускать lupdate. Добавьте переводы любых новых строк с помощью Qt Linguist и запустите lupdate, а затем lrelease. Программа lrelease преобразует текстовые файлы в сжатые двоичные файлы (расширение "qm").
Загрузить перевод
Осталось только сказать приложению, что нужно загрузить определенный перевод (то есть загрузить определенный файл qm). Вы делаете это с помощью класса Qt QTranslator с отличной документацией.
Будет ли возможность просмотреть файл ".ts", выбрать любой файл правой кнопкой мыши и посмотреть, показывает ли он возможность открытия файла с помощью лингвиста qt4?
если не просматриваете перейти к свойствам / открыть с
в последнем будет нажатие кнопки сброса, теперь можно будет увидеть.
если не установить пакет "qt4-dev-tools - скачать qt linguist"
Вики Шарма