![]() |
|
|
![]()
|
|
| sergey_85 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
Привет!
Столкнулся с проблемой при добавлении многоязычности в приложение. делаю ручной перевод (без tr, т.к. надписи и названия кнопок будут динамические) делаю так:
далее, загружаю динамически массив строк для перевода из файла, сливаю все это в QStringList и затем пытаюсь сделать перевод этих строк через мой QTranslator
...и вот тут начинает весь прикол, если в ф-цию translate(...) в параметре приходит английское слово, например Hello или Privet, то тогда перевод происходит без проблем возвращается перевод на русский к примеру Привет, НО вот если на вход translate(...) приходит русское слово, например Привет, то во-первых, параметр baseWords[i].toAscii() даёт мусор, а перевод не находиться, хотя слово перевода в файле там 100% есть!!! в main у меня стоят следующие кодеки:
...еще дополню, что слова для перевода грузятся из файла в кодировке в utf-8, а файл перевода qm в кодировке utf-8 Может кто сталкивался с такой проблемой, думаю что проблема у меня с кодировкой, но где??? использую Qt4.4.3 Спасибо за помощь! Это сообщение отредактировал(а) sergey_85 - 21.5.2010, 08:15 -------------------- A good design always pays off. |
||||||
|
|||||||
| _GRIN_ |
|
||||||||||||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: 6 Всего: 7 |
1.
следовательно раз на выходе
значит перевод дейстительно 100% есть и он найден и дело в кодировке 2.
т.е. так как tr() не используется, то данная настройка кодека ни к чему. 3.По идее установка кодека для С-строк должна правильно настроить QString::toAscii()
но может быть установка кодека не сработала по какой-либо причине. Я советую попробывать QString::toUtf8() вместо QString::toAscii(). Правда сам с таким не сталкивался, а проверить времени нет. З.Ы. Имхо отказ от tr() оправдан только в случае если в процессе эксплуатации добавляется перевод. Если же все строки так и так забиты в коде, то отказ от tr() не оправдан. Честно говоря интересно подробнее узнать о причине отказа от tr() -------------------- Дорогу осилит идущий |
||||||||||||
|
|||||||||||||
| sergey_85 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 17.4.2007 Где: Россия, Челябинск Репутация: нет Всего: 1 |
почему отказался от tr(...) т.к. в программе динамический перевод, немного скажу, динамически грузиться gui (через ui loader), затем грузиться файл перевода и вот так вот идет перевод, фай перевода идет вместе с gui формой..
проблему пока не решил, как что так сразу напишу. спасибо за помощь! -------------------- A good design always pays off. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |