Russian Qt Forum
Ноябрь 22, 2024, 01:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt Script, QtWebKit
>
Локализация QWebView
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Локализация QWebView (Прочитано 9320 раз)
Faust
Гость
Локализация QWebView
«
:
Март 11, 2015, 12:55 »
День добрый, подскажите, есть ли в Qt готовый способ для локализации WebView?
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Локализация QWebView
«
Ответ #1 :
Март 11, 2015, 13:22 »
Есть, и он годится для любого виджета qt из коробочки
Смотрите про перевод, в частности QTranslator
Грубо говоря нужно будет просто подгрузить файл перевода qm и будет у вас переведенный QWebView
Посмотрите эту статью:
http://habrahabr.ru/post/51319/
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Faust
Гость
Re: Локализация QWebView
«
Ответ #2 :
Март 11, 2015, 14:07 »
У меня подгружается локальная html и локализировать нужно текст именно в ней. Есть может что то вроде lupdate, но для html?
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Локализация QWebView
«
Ответ #3 :
Март 11, 2015, 14:34 »
Если та html является строкой, обернутой в функцию tr, да
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Faust
Гость
Re: Локализация QWebView
«
Ответ #4 :
Март 11, 2015, 15:04 »
Нет, html грузится из файла, ее не получится обернуть в tr():
view.load(QUrl::fromLocalFile("C:\\index.html"));
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Локализация QWebView
«
Ответ #5 :
Март 11, 2015, 18:25 »
Оба два, жжоте, однако.
to
gil9red
- хватит издеваться над человеком
to
Faust
- включайте логику:
Есть у Вас локальный сайт. Создайте структуру типа
C:\ru
index.html
toc.html
...
C:\en
index.html
toc.html
...
А в коде уже грузите нужный файл в зависимости от текущей локали...
Ну и переводить придется самому, тут уж никак (
Записан
Faust
Гость
Re: Локализация QWebView
«
Ответ #6 :
Март 11, 2015, 18:40 »
Описанная вами структура мне не подходит. Слишком много html файлов получается. Если уж на то пошло, то куда проще будет перед загрузкой пройтись по тем местам, которые нужно локализировать в html и позаменять их через boost::locale::translate() или тем же tr(). Но этот вариант мне тоже не очень нравится. Думалось, что в Qt есть стандартное решение, без велосипедов.
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Локализация QWebView
«
Ответ #7 :
Март 11, 2015, 19:38 »
О как... Всем web-программерам подходит, а вам нет?
Ну чтож, удачи...
Записан
Faust
Гость
Re: Локализация QWebView
«
Ответ #8 :
Март 11, 2015, 19:41 »
Это десктопное приложение. Все эти html придется хранить в ресурсах.
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Локализация QWebView
«
Ответ #9 :
Март 11, 2015, 21:48 »
Дык, не суть. Просто вместо папок будут префиксы...
Но с ресурсами есть нюанс - непонятно (возможно, только мне ) ) как реализовать переход по ссылке на другой файл из ресурса.
Записан
Faust
Гость
Re: Локализация QWebView
«
Ответ #10 :
Март 12, 2015, 12:14 »
Для 10 языков файлов будет в 10 раза больше. По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.
Записан
kai666_73
Крякер
Offline
Сообщений: 319
Re: Локализация QWebView
«
Ответ #11 :
Март 12, 2015, 12:34 »
Цитата: Faust от Март 12, 2015, 12:14
Для 10 языков файлов будет в 10 раза больше.
Повторюсь, этого не избежать.
Цитата: Faust от Март 12, 2015, 12:14
По поводу перехода на другие страницы - в обработчике нажатия на батон загружать другой html.
Имеется ввиду переход по html-ссылке...
Записан
Faust
Гость
Re: Локализация QWebView
«
Ответ #12 :
Март 12, 2015, 12:49 »
мне не нужно ходить по html ссылкам ))
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...