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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перевод модуля "serialport"  (Прочитано 4300 раз)
Yegor
Гость
« : Апрель 18, 2015, 10:04 »

Здравствуйте!

Использую Qt 5.4.0

Делаю приложение, которое использует виджеты и последовательный порт.

Для этого в .pro файле подключаю такие модули:
Код:
#Qt modules.
QT += widgets serialport

Чтобы перевести такое приложение на русский, беру и подключаю к приложению такой готовый, поставляемый с Qt5.4.0 файл перевода:
qtbase_ru.qm

Это переводит gui, окна сообщения, сообщения об ошибках ядра, и т.д. Но данные, касающиеся модуля serialport, не переводит (например тексты ошибок, возникающие при работе с последовательным портом).

Подскажите, пожалуйста, есть ли готовый файл перевода, входящий с поставкой в Qt 5.4.0, чтобы переводить модуль serialport?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Апрель 18, 2015, 14:06 »

Цитировать
например тексты ошибок, возникающие при работе с последовательным портом

Тексты ошибок не переводятся, т.к. являются системными. По идее, они должны уже быть в нужном переводе (за исключением пары-трех, которые не системные, а "самописные"). Например в "русском" Windows все сообщения генерируются на русском.. Но как в Linux/Mac я не знаю (там, вероятно все на английском будет)..

Цитировать
Подскажите, пожалуйста, есть ли готовый файл перевода, входящий с поставкой в Qt 5.4.0, чтобы переводить модуль serialport?

Нет такого, т.к. в QtSerialPort нет нигде сток, обернутых в tr().

UPD:

Цитировать
Но как в Linux/Mac я не знаю (там, вероятно все на английском будет)..

По идее, оно должно быть также локале-зависимым (как я понял), т.к. внутри Qt-шных кишок используется вызов strerror. Но другое дело, что, кажется, это невозможно из-за ограничений в текущей реализации Qt-шной функции
Код
C++ (Qt)
QString qt_error_string(int errorCode)
 
которая используется для преобразования кода системной ошибки в текст, в которой это делается для *nix так:
Код
C++ (Qt)
...
ret = QString::fromLocal8Bit(strerror(errorCode));
...
 

т.е. здесь меня смущает fromLocal8Bit, что не даст желаемое...
« Последнее редактирование: Апрель 18, 2015, 14:27 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #2 : Апрель 25, 2015, 10:01 »


т.е. здесь меня смущает fromLocal8Bit, что не даст желаемое...

Даст
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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