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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как зарядить текстовый файл в лингвист ?  (Прочитано 4001 раз)
vanessa
Гость
« : Март 08, 2011, 20:06 »

Давно хотел спросить, но все как-то было не критично, а теперь уже критично...
Иногда приходится ложить в ресурсы программы текстовый файл, строки из которого потом выводятся в разные места (в основном показываются в QLabel и QLineEdit), предварительно эти строки загружаются в хеш (примерно такой QHash<QString,QString> ) а далее в необходимых мне местах они извлекаются из этого хеша и вызовом setText() отправляются на екран.  Вот как его зарядить в лингвист  для перевода ?
Записан
Stiff
Гость
« Ответ #1 : Март 08, 2011, 21:22 »

Что-то подобное делают макросы QT_TR_NOOP и QT_TRANSLATE_NOOP, но в данном случае даже не знаю, как их можно применить, так как их аргументы - строковые константы.
Думаю, самое простое в данном случае - хранить в ресурсах несколько таких файлов для разных языков. Например file_ru, file_en итп. А уже в ходе выполнения определять файл для загрузки в зависимости от значения QLocale::system().name()
« Последнее редактирование: Март 08, 2011, 21:26 от Stiff » Записан
vanessa
Гость
« Ответ #2 : Март 08, 2011, 21:50 »

Что-то подобное и мне приходило в голову но вот только лингвист тут вроде как сбоку получается, для перевода нужно пользовать другую програму.
Записан
ритт
Гость
« Ответ #3 : Март 15, 2011, 08:25 »

а кто запрещает для перевода пользовать всё тот же лингвист?

и что-то у меня ни разу не возникало необходимости в костыле наподобии Вашего...
Записан
vanessa
Гость
« Ответ #4 : Март 15, 2011, 08:39 »

Цитировать
а кто запрещает для перевода пользовать всё тот же лингвист?
я и спрашиваю: как ? как оформить этот файл, как потом скормить его lupdate ?
Записан
twp
Гость
« Ответ #5 : Март 15, 2011, 11:40 »

это описано в асистенте в Internationalization with Qt. Если кратко, то просто в коде использовать tr, QT_TR_NOOP или QT_TRANSLATE_NOOP. Потом в pro-файле указать нужные ts-файлы в секции TRANSLATIONS и потом вскормить pro-файл lupdate, и он сам сгенерит нужные ts-файлы. И теперь можно будеть загружать их в лингвист
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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