Добавить конкретные фразы из Qt framework в файлы перевода моего приложения - PullRequest
1 голос
/ 07 марта 2011

Есть ли способ добавить конкретные фразы из внутренних файлов .ts фреймворков Qt в файлы переводов моего приложения? Мне нужно только перевести несколько фраз для QMessageBox и друзей.

EDIT:

Я тоже хочу:

  1. Объедините фразы в файле .ts моего приложения
  2. Предотвратить их выход устаревших после процедуры lupdate

Всегда есть альтернатива подклассу QMessageBox, но я хотел бы сначала попробовать перфекционистское решение.

РЕДАКТИРОВАТЬ # 2:

Я решил проблему безобразно, отправив файл .qm вместе с моим приложением из дистрибутива Qt. Я оставлю этот вопрос открытым, если кто-нибудь придумает более элегантное решение.

Ответы [ 2 ]

1 голос
/ 07 марта 2011

РЕДАКТИРОВАНИЕ: Для пользовательского перевода внутренних фраз Qt вам нужно сделать всего несколько шагов:

  1. Изменить соответствующую папку qt_lang.ts в translation внутри каталога Qt SDK.Я настоятельно рекомендую вам использовать Qt linguist для этой цели.
  2. Используйте утилиту lrelease на qt_lang.ts для создания файла .qm.
  3. Измените свой код.Вам необходимо установить сгенерированный файл перевода в ваше приложение, используя QTranslator class.
  4. Распространите ваше приложение с помощью сгенерированного .qm.Все файлы .qm должны быть расположены в специальном каталоге относительно двоичного файла вашего приложения.По умолчанию это папка translations, но вы можете изменить этот каталог, используя пользовательский qt.conf .

Поэтому, когда вы меняете язык приложения, вы будете нуждаться (переведеновами) фразы.

Например, если вы хотите получить пользовательский перевод для русских друзей, вам нужно открыть qt_ru.ts в Qt Linguist, найти там QMessageBox контекст и перевести все необходимые фразы.Затем следуйте описанным выше инструкциям.

0 голосов
/ 08 марта 2011

В Qt вы можете загружать различные файлы ts для вашего приложения, я бы попытался не извлекать нужные фразы, а загрузить файлы qt ts вместе с собственным переводом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...