Перевод сообщений Qt
Материал из Wiki.crossplatform.ru
(Различия между версиями)
Lit-uriy (Обсуждение | вклад) (→Исходные файлы перевода) |
Flankerr (Обсуждение | вклад) (→Установка перевода) |
||
Строка 19: | Строка 19: | ||
translator->load(QString("qt_") + locale); // загрузка файла qt_*.qm* | translator->load(QString("qt_") + locale); // загрузка файла qt_*.qm* | ||
app.installTranslator(translator); // устанока переводчика}} | app.installTranslator(translator); // устанока переводчика}} | ||
+ | |||
+ | |||
+ | для Qt 4.3.3 | ||
+ | # QLocale::system().name() выдаёт не "ru" как описано выше а "ru_RU" | ||
+ | # В функцию translator->load() надо передавать полное имя файла (в описанном примере туда передаётся только название без разрешения). | ||
+ | {{code|qt | ||
+ | |code= | ||
+ | QString strNameFile = QString("qt_") + locale; | ||
+ | strNameFile += ".qm" | ||
+ | translator->load(strNameFile); // загрузка файла qt_ru_RU.qm}} | ||
== Актуализация перевода == | == Актуализация перевода == |
Версия 09:12, 2 марта 2009
Для перевода сообщений, встроеных в библиотеку Qt, на русский язык необходим исходный файл перевода для русского языка (qt_ru.ts). Этот файл обычно расположен в каталоге %QTDIR%\translations.
Содержание |
Исходные файлы перевода
Команда Qt4 RTT внесла в клад в перевод этого и других файлов для Qt 4.3.2. Последнюю версию перевода этого файла можно взять здесь:
Установка перевода
- Поместите файл qt_ru.ts в каталог %QTDIR%\translations
- Создайте скомпилированый файл перевода (qt_ru.qm), одним из следующих способов :
- Откройте файл qt_ru.ts спомощью QT Linguist, в меню "Файл" выберите "Релиз";
- В командной строке, в каталоге %QTDIR%\translations, скомандуйте
lrelease qt_ru.ts
- Скопируйте файл %QTDIR%\translations\qt_ru.qm в каталог с исполняемым файлом вашей программы.
- Добавте в функцию 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
- QLocale::system().name() выдаёт не "ru" как описано выше а "ru_RU"
- В функцию translator->load() надо передавать полное имя файла (в описанном примере туда передаётся только название без разрешения).
QString strNameFile = QString("qt_") + locale; strNameFile += ".qm" translator->load(strNameFile); // загрузка файла qt_ru_RU.qm
Актуализация перевода
(предстоит написать)