Intruder4 сентября 2020 г. 12:15

Проблема с созданием файлов перевода для составного проекта

Translations

Добрый день уважаемые Гуру программирования на Qt.

Столкнулся вчера вот с такой проблемой. Есть проект с файлом проекта .pro. В состав данного проекта добавлены проекты с файлами проектов .pri. У основного проекта и подпроекта есть свои файлы переводов. Раньше, когда проект был составной и каждый подпроект имел свой .pro файл, то с созданием файлов перевода не было проблем. Теперь, создается общий файл, который содержит перевод и основного проекта и одного из подпроектов (.pri) и там нет того, что я уже перевел.
Как быть в таком случае? Можно ли обойтись меньшей "кровью" или придется переопределять скомпилированный файл перевода в файлах ресурсов и переводить все заново?

Заранее благодарен за ответ!

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
3

Добрый день. Боюсь, что придётся переводить заново.

Я у себя в компании переписывал QtLinguist для внутренних нужд и пришёл к выыводу, что lupdate, который используется для создания ts файлов, при генерации файлов часто удаляет информацию, которую не может связать с какими-то перемещениями или новыми файлами переводов.

Думаю, что вы можете попытаться сохранить несколько файлов переводов, вместо одного, как у вас было реньше сделано. Поскольку pri - это часть pro проекта, хоть и не самостоятельный проект, но там также можно объявлять файлы переводов.

И ещё другая возможность. Написать парсер, на python например, который составит словарь переводов из старых файлов, а потом заменит все отсутствующие переводы в новых файлах перевода. Это должно быть быстрее, чем делать всё это вручную.

Евгений, добрый день.

Спасибо за ответ. Но по поводу Python не совсем понял. Там же нужно еще и компилировать эти файлы переводов. Или Вы имеете ввиду динамический перевод?

Я имею ввиду, если у вас был старые ts файлы, то написать парсер, который составил бы словарь переводов.
Например.

"Hello world" - "Привет мир"
"Hello dev" - "Привет dev"

и т.д.

А потом сделать новые ts файлы и добавить переводы, которые совпадают на 100%.

ts файлы - это обычные xml файлы. Так что там можно спарсить всё. В принципе можете использовать любой удобный вам язык программирования.

А потом уже компилируете qm файлы. Когда всё замените.

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг
k

C++ - Тест 002. Константы

  • Результат:33баллов,
  • Очки рейтинга-10
k

C++ - Тест 001. Первая программа и типы данных

  • Результат:40баллов,
  • Очки рейтинга-8
k

C++ - Тест 003. Условия и циклы

  • Результат:64баллов,
  • Очки рейтинга-1
Популярные публикации за последние 90 дней
Последние комментарии
R

Установка драйвера QIBASE (Firebird) Qt 6.2.1 на openSUSE Tumbleweed

Just that is necessary. A good theme, I will participate. Together we can come to a right answer. https://gay0day.com
C

Установка драйвера QIBASE (Firebird) Qt 6.2.1 на openSUSE Tumbleweed

ротационные прокси
Y
  • Yar
  • 15 ноября 2021 г. 2:33

QML - Урок 004. Сигналы и слоты в Qt QML

У связывания интерейса прогрммы с ядром через контекст (context->setContextProperty("appCore", &appCore);) есть один существенный недостаток, упоминание о котором я нигде не нашел, а выяв…
v
  • v
  • 9 ноября 2021 г. 22:07

Сборка драйвера QMYSQL (MariaDB) Windows 10 x64 QT 5.13.0 Mingw73_64

Спасибо, добрый человек! Перелопатил весь stackoverflow в поисках ответа почему MySql....no , не осознавая что mingw32-make clean не очищает то что надо. После удаления вышеуказаных…

Django - Урок 045. Перемещение моделей из одного приложения в другое

у меня была проблема что у меня в кубере автоматом миграция запускалась сделал так (как вариант решения, добовлял каждой миграции RunSQL): operations = [ migrations.RunSQL(''' …
Сейчас обсуждают на форуме
s

Ключевое слово class

Разобрался,на стаковерфлоу нашел топик и понял почему так происходило .
ИП

For each

For each разработан Microsoft для своего компилятора VS, в стандарте его нет, на официальном сайте не рекомендуется его использовать
U

Qt - как скомпилировать 32bit-программу под Linux 64bit?

Неожиданно появилась необходимость скомпилировать программу для 32-разрядного Linux-а сидя на 64-разрядном... Читал-листал интернеты, мало что понял... Проверил версию: gcc -v Target:…

Авторизация в приложении.

Ничего не надо скачивать, всё должно работать "из коробки".
o
  • ost.vld
  • 22 ноября 2021 г. 0:12

Создание страницы в QML, где нужно выровнить текст по всей ширине экрана и создать скроллинг

https://doc.qt.io/qt-5/qml-qtquick-controls2-scrollview.html https://evileg.com/ru/post/186/
О нас
Услуги
© EVILEG 2015-2021
Рекомендует хостинг TIMEWEB