Как начать использовать QtLinguist для перевода моего проекта QtCreator?

qt
Вопрос:У меня есть простой проект .pro Qt Creator. У меня есть, если не все, текст моего приложения в файлах форм Qt .ui XML. Я хочу использовать Qt Linguist для перевода текста в этот проект, но я не знаю, как начать. В Интернете нет полезной статьи "Начало работы с Qt Linguist". Страница, с гордостью называющая себя

Вопрос:

У меня есть простой проект .pro Qt Creator. У меня есть, если не все, текст моего приложения в файлах форм Qt .ui XML. Я хочу использовать Qt Linguist для перевода текста в этот проект, но я не знаю, как начать. В Интернете нет полезной статьи “Начало работы с Qt Linguist”. Страница, с гордостью называющая себя Qt Linguist Manual также не очень полезна, поскольку она содержит только общую информацию, а не практические советы.

Я нашел эти элементы в Qt Creator:

image description

Я не уверен, что делать, чтобы заставить их работать и каково их отношение к 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”

Вики Шарма

Оцените статью
Добавить комментарий