Вопрос:
У меня есть простой проект .pro Qt Creator. У меня есть, если не все, текст моего приложения в файлах форм Qt .ui XML. Я хочу использовать Qt Linguist для перевода текста в этот проект, но я не знаю, как начать. В Интернете нет полезной статьи “Начало работы с Qt Linguist”. Страница, с гордостью называющая себя Qt Linguist Manual также не очень полезна, поскольку она содержит только общую информацию, а не практические советы.
Я нашел эти элементы в Qt Creator:
Я не уверен, что делать, чтобы заставить их работать и каково их отношение к Qt Linguist, которое является полностью автономным приложением. Я открыл Qt Linguist, и он даже не содержит меню элементов File → New…, в котором я начинал.
Лучший ответ:
В начале это требует некоторой работы, но затем все автоматически.
Исходный код
В исходном файле вы должны поместить переводимые строки внутри функции 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
В Qt Creator вы заходите в Tools/External/Configure… и заполняете местоположение lupdate и lrelease. Вы можете жестко закодировать свое местоположение или использовать макросы. Эти утилиты расположены в поддирете bin места установки Qt.
ts
Предположим, что вы хотите перевести с английского на голландский. Вам понадобятся два файла. Мы будем называть их: myapp_en.ts и myapp_nl.ts. В принципе вам не нужно включать английский ts файл, но он помогает рассматривать английский язык на том же основании, что и на другом языке.
Файл проекта
добавить в файл pro
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). Вы делаете это с QTranslator Qt class с отличной документацией.
Ответ №1
Будет ли доступен файл “.ts”, выберите любой щелчок правой кнопкой мыши и увидите, что он показывает возможность открытия файла с помощью qt4 linguist?
если не просмотр перейти к свойствам/открыть с помощью
в последний раз будет нажата кнопка reset.
если не установить пакет “qt4-dev-tools – загрузить qt linguist”
Вики Шарма