Перевод сообщений Qt

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Установка перевода)
(Подправил ссылочку)
Строка 9: Строка 9:
# Поместите файл '''qt_ru.ts''' в каталог '''%QTDIR%\translations'''
# Поместите файл '''qt_ru.ts''' в каталог '''%QTDIR%\translations'''
# Создайте скомпилированый файл перевода ('''qt_ru.qm'''), одним из следующих способов :
# Создайте скомпилированый файл перевода ('''qt_ru.qm'''), одним из следующих способов :
-
#* Откройте файл '''qt_ru.ts''' спомощью [[QT Linguist]], в меню "Файл" выберите "Релиз";
+
#* Откройте файл '''qt_ru.ts''' спомощью [[Qt:Документация_4.3.2/linguist-manual | QT Linguist]], в меню "Файл" выберите "Релиз";
#* В командной строке, в каталоге '''%QTDIR%\translations''', скомандуйте <code>lrelease ''qt_ru.ts''</code>
#* В командной строке, в каталоге '''%QTDIR%\translations''', скомандуйте <code>lrelease ''qt_ru.ts''</code>
# Скопируйте файл %QTDIR%\translations\qt_ru.qm в каталог с исполняемым файлом вашей программы.
# Скопируйте файл %QTDIR%\translations\qt_ru.qm в каталог с исполняемым файлом вашей программы.

Версия 07:41, 3 марта 2009

Для перевода сообщений, встроеных в библиотеку Qt, на русский язык необходим исходный файл перевода для русского языка (qt_ru.ts). Этот файл обычно расположен в каталоге %QTDIR%\translations.


Содержание

Исходные файлы перевода

Команда Qt4 RTT внесла в клад в перевод этого и других файлов для Qt 4.3.2. Последнюю версию перевода этого файла можно взять здесь:

Установка перевода

  1. Поместите файл qt_ru.ts в каталог %QTDIR%\translations
  2. Создайте скомпилированый файл перевода (qt_ru.qm), одним из следующих способов :
    • Откройте файл qt_ru.ts спомощью QT Linguist, в меню "Файл" выберите "Релиз";
    • В командной строке, в каталоге %QTDIR%\translations, скомандуйте lrelease qt_ru.ts
  3. Скопируйте файл %QTDIR%\translations\qt_ru.qm в каталог с исполняемым файлом вашей программы.
  4. Добавте в функцию main() следующие строчки:
// загрузка перевода
	QString locale = QLocale::system().name(); // запрос языка (например: "ru")
	QTranslator* translator = new QTranslator; // создаем переводчик
	translator->load(QString("qt_") + locale);  // загрузка файла qt_*.qm*
	app.installTranslator(translator);         // устанока переводчика


для Qt 4.3.3

  1. QLocale::system().name() выдаёт не "ru" как описано выше а "ru_RU"
  2. В функцию translator->load() надо передавать полное имя файла (в описанном примере туда передаётся только название без разрешения).
QString strNameFile = QString("qt_") + locale;
strNameFile += ".qm" 
translator->load(strNameFile); // загрузка файла qt_ru_RU.qm

Актуализация перевода

(предстоит написать)

См. также