Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: andrew.k от Апрель 28, 2012, 12:05



Название: [Решено] Qt - динамический переводчик
Отправлено: andrew.k от Апрель 28, 2012, 12:05
Есть некоторая библиотечная функция, которая возвращает некоторые строковые значения.
Пусть QString getText(); возвращает "red", "green", "blue".
Допустим я знаю все возможные возвращаемые значения.
И хочу добавить их в файл ts, но в коде их нет. Поэтому lupdate их не увидит.

Как мне это локализовать?


Название: Re: Qt - динамический переводчик
Отправлено: Пантер от Апрель 28, 2012, 12:14
Мапу же заведи:
Код
C++ (Qt)
QMap <QString, QString> map;
map ["red"] = tr ("red");


Название: Re: Qt - динамический переводчик
Отправлено: andrew.k от Апрель 29, 2012, 18:41
Мапу же заведи:
Код
C++ (Qt)
QMap <QString, QString> map;
map ["red"] = tr ("red");

Ну это понятно, но может есть какой штатный способ?
Типа "а ну-ка переведи мне эту строку", он смотрит, если у него такой перевод есть, возвращает перевод.
Собственно оно так и работает, вопрос лишь в том, как добавить в TS строчки не использованные в коде.


Название: Re: Qt - динамический переводчик
Отправлено: kambala от Апрель 29, 2012, 19:47
можно попробовать просто руками через блокнот - .ts это ведь обычный xml файл


Название: Re: Qt - динамический переводчик
Отправлено: andrew.k от Май 01, 2012, 19:08
можно попробовать просто руками через блокнот - .ts это ведь обычный xml файл
Да сработало.
Только это надо вынести в отдельный файл, иначе lupdate удаляет внесенные руками разделы.