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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Локализация QWebView  (Прочитано 9324 раз)
Faust
Гость
« : Март 11, 2015, 12:55 »

День добрый, подскажите, есть ли в Qt готовый способ для локализации WebView?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Март 11, 2015, 13:22 »

Есть, и он годится для любого виджета qt из коробочки Улыбающийся
Смотрите про перевод, в частности QTranslator
Грубо говоря нужно будет просто подгрузить файл перевода qm и будет у вас переведенный QWebView

Посмотрите эту статью: http://habrahabr.ru/post/51319/
Записан

Faust
Гость
« Ответ #2 : Март 11, 2015, 14:07 »

У меня подгружается локальная html и локализировать нужно текст именно в ней. Есть может что то вроде lupdate, но для html?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Март 11, 2015, 14:34 »

Если та html является строкой, обернутой в функцию tr, да Улыбающийся
Записан

Faust
Гость
« Ответ #4 : Март 11, 2015, 15:04 »

Нет, html грузится из файла, ее не получится обернуть в tr():

view.load(QUrl::fromLocalFile("C:\\index.html"));
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #5 : Март 11, 2015, 18:25 »

Оба два, жжоте, однако.

to gil9red - хватит издеваться над человеком

to Faust - включайте логику:
Есть у Вас локальный сайт. Создайте структуру типа
C:\ru
  index.html
  toc.html
  ...
C:\en
  index.html
  toc.html
  ...
А в коде уже грузите нужный файл в зависимости от текущей локали...
Ну и переводить придется самому, тут уж никак ( 
Записан
Faust
Гость
« Ответ #6 : Март 11, 2015, 18:40 »

Описанная вами структура мне не подходит. Слишком много html файлов получается. Если уж на то пошло, то куда проще будет перед загрузкой пройтись по тем местам, которые нужно локализировать в html и позаменять их через boost::locale::translate() или тем же tr(). Но этот вариант мне тоже не очень нравится. Думалось, что в Qt есть стандартное решение, без велосипедов.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #7 : Март 11, 2015, 19:38 »

О как... Всем web-программерам подходит, а вам нет?
Ну чтож, удачи...
Записан
Faust
Гость
« Ответ #8 : Март 11, 2015, 19:41 »

Это десктопное приложение. Все эти html придется хранить в ресурсах.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #9 : Март 11, 2015, 21:48 »

Дык, не суть. Просто вместо папок будут префиксы...
Но с ресурсами есть нюанс - непонятно (возможно, только мне ) ) как реализовать переход по ссылке на другой файл из ресурса.
Записан
Faust
Гость
« Ответ #10 : Март 12, 2015, 12:14 »

Для 10 языков файлов будет в 10 раза больше. По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #11 : Март 12, 2015, 12:34 »

Для 10 языков файлов будет в 10 раза больше.
Повторюсь, этого не избежать.

По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.
Имеется ввиду переход по html-ссылке...
Записан
Faust
Гость
« Ответ #12 : Март 12, 2015, 12:49 »

мне не нужно ходить по html ссылкам ))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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