Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: Faust от Март 11, 2015, 12:55



Название: Локализация QWebView
Отправлено: Faust от Март 11, 2015, 12:55
День добрый, подскажите, есть ли в Qt готовый способ для локализации WebView?


Название: Re: Локализация QWebView
Отправлено: gil9red от Март 11, 2015, 13:22
Есть, и он годится для любого виджета qt из коробочки :)
Смотрите про перевод, в частности QTranslator
Грубо говоря нужно будет просто подгрузить файл перевода qm и будет у вас переведенный QWebView

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


Название: Re: Локализация QWebView
Отправлено: Faust от Март 11, 2015, 14:07
У меня подгружается локальная html и локализировать нужно текст именно в ней. Есть может что то вроде lupdate, но для html?


Название: Re: Локализация QWebView
Отправлено: gil9red от Март 11, 2015, 14:34
Если та html является строкой, обернутой в функцию tr, да :)


Название: Re: Локализация QWebView
Отправлено: Faust от Март 11, 2015, 15:04
Нет, html грузится из файла, ее не получится обернуть в tr():

view.load(QUrl::fromLocalFile("C:\\index.html"));


Название: Re: Локализация QWebView
Отправлено: kai666_73 от Март 11, 2015, 18:25
Оба два, жжоте, однако.

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

to Faust - включайте логику:
Есть у Вас локальный сайт. Создайте структуру типа
C:\ru
  index.html
  toc.html
  ...
C:\en
  index.html
  toc.html
  ...
А в коде уже грузите нужный файл в зависимости от текущей локали...
Ну и переводить придется самому, тут уж никак ( 


Название: Re: Локализация QWebView
Отправлено: Faust от Март 11, 2015, 18:40
Описанная вами структура мне не подходит. Слишком много html файлов получается. Если уж на то пошло, то куда проще будет перед загрузкой пройтись по тем местам, которые нужно локализировать в html и позаменять их через boost::locale::translate() или тем же tr(). Но этот вариант мне тоже не очень нравится. Думалось, что в Qt есть стандартное решение, без велосипедов.


Название: Re: Локализация QWebView
Отправлено: kai666_73 от Март 11, 2015, 19:38
О как... Всем web-программерам подходит, а вам нет?
Ну чтож, удачи...


Название: Re: Локализация QWebView
Отправлено: Faust от Март 11, 2015, 19:41
Это десктопное приложение. Все эти html придется хранить в ресурсах.


Название: Re: Локализация QWebView
Отправлено: kai666_73 от Март 11, 2015, 21:48
Дык, не суть. Просто вместо папок будут префиксы...
Но с ресурсами есть нюанс - непонятно (возможно, только мне ) ) как реализовать переход по ссылке на другой файл из ресурса.


Название: Re: Локализация QWebView
Отправлено: Faust от Март 12, 2015, 12:14
Для 10 языков файлов будет в 10 раза больше. По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.


Название: Re: Локализация QWebView
Отправлено: kai666_73 от Март 12, 2015, 12:34
Для 10 языков файлов будет в 10 раза больше.
Повторюсь, этого не избежать.

По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.
Имеется ввиду переход по html-ссылке...


Название: Re: Локализация QWebView
Отправлено: Faust от Март 12, 2015, 12:49
мне не нужно ходить по html ссылкам ))