Russian Qt Forum
Ноябрь 23, 2024, 02:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Перевод с английского на русский  (Прочитано 16556 раз)
8Observer8
Гость
« Ответ #15 : Октябрь 02, 2014, 16:00 »

Классная штука это "Лингвист"!

Я ввёл такую команду:
Код:
lupdate Dialog.ui -ts Dialog_ru.ts

Открыл ".ts" с помощью "Лингвист" и он показал форму. Очень удобно переводить!

Кстати, переводы лучше в ресурсах хранить, чтобы не указывать путь так: qApp->applicationDirPath()
Записан
8Observer8
Гость
« Ответ #16 : Октябрь 02, 2014, 16:24 »

На диалоге есть кнопка при нажатии на которую - появляется сообщение. Для диалога создаётся файл "Dialog_ru.qm" из Dialog.ui, а из "Dialog.cpp" создаётся файл "Dialog_cpp_ru.qm". Но похоже этот код неверен:
Код
C++ (Qt)
 
#include <QTranslator>
#include <QApplication>
#include "Dialog.h"
 
int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
 
   QTranslator translator;
   translator.load( ":/Dialog_ru.qm", "." );
   translator.load( ":/Dialog_cpp_ru.qm", "." );
   app.installTranslator( &translator );
 
   Dialog w;
   w.show();
 
   return app.exec();
}
 
« Последнее редактирование: Октябрь 02, 2014, 16:27 от 8Observer8 » Записан
OKTA
Гость
« Ответ #17 : Октябрь 02, 2014, 16:27 »

Для каждого файла перевода надо отдельный объект QTranslator создавать. Иначе будет использоваться последний загруженный через load.
Записан
8Observer8
Гость
« Ответ #18 : Октябрь 02, 2014, 16:57 »

Спасибо! Значит в книжке ошибка:
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #19 : Октябрь 02, 2014, 17:03 »

Кстати, переводы лучше в ресурсах хранить, чтобы не указывать путь так: qApp->applicationDirPath()
спорное утверждение. в таком случае для обновления перевода придется отправлять бинарник, а не только новый файл перевода.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
torwig
Самовар
**
Offline Offline

Сообщений: 134



Просмотр профиля
« Ответ #20 : Октябрь 03, 2014, 10:23 »

п.с. 8Observer8, Вы просто жесткий  Улыбающийся С такой легкостью печатаете "В книге ошибка!!!!!111111"
Записан
OKTA
Гость
« Ответ #21 : Октябрь 03, 2014, 10:34 »

лично у меня отказывалось работать, когда я несколько файлов qm загружал в один транслятор. Если не прав, поправьте и аргументируйте кодом  Подмигивающий
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #22 : Октябрь 03, 2014, 11:31 »

За 5-ю версию не скажу, но вот цитата для 4.8:
Цитировать
The previous contents of this translator object are discarded
Т.е. в 4.8 в один объект транслятора 2 перевода не загрузишь.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #23 : Октябрь 03, 2014, 13:03 »

в книжке ошибка, факт
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #24 : Октябрь 03, 2014, 13:30 »

В книге Шлее ошибок более чем достаточно.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 22.