IntruderSept. 4, 2020, 2:15 a.m.

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

Translations

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

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

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

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
3

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

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

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

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

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

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

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

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

и т.д.

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

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Fornex

Let me recommend you a great European Fornex hosting.

Fornex has proven itself to be a stable host over the years.

For Django projects I recommend VPS hosting

Following the link you will receive a 5% discount on shared hosting services, dedicated servers, VPS and VPN

View Hosting
Share on social networks
Donate

The EVILEG project has switched to a non-commercial basis and will develop solely on the enthusiasm of the site creator, the enthusiasm of users, donations and the hosting referral system

Thank you for your support

Available ways to support the project

PayPal

PatreonYandex.MoneyMore
ni

C++ - Test 001. The first program and data types

  • Result:33points,
  • Rating points-10
ni

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

  • Result:35points,
  • Rating points-10
AK

C++ - Test 005. Structures and Classes

  • Result:66points,
  • Rating points-1
Popular publications in the last 90 Days
Last comments

Qt/C++ - Lesson 027. Polymorphism in Qt by the example of geometric shapes in QGraphicsScene

Ну не видя вашего кода, сказать, где у вас ошибка невозможно. А что касается перетаскивания и разных манипуляций, то можете распотрошить код векторного редактора из этой статьи Qt/C++…
K
  • Kolja
  • May 22, 2022, 6:32 a.m.

Qt/C++ - Lesson 027. Polymorphism in Qt by the example of geometric shapes in QGraphicsScene

Крутой урок! Но как только захотел добавить функцию выделение объекта ( подразумевается перемещение и изменение размера) ничего не получается . Читал что нужно включить флаги ItemIsSelected и It…

Django - Tutorial 023. Like Dislike system using GenericForeignKey

Недостаток GenericForeignKey в том, что они достаточно плохо оптимизируются, поэтому я решил это с помощью кэширования. Собственно говоря, эти проблемы и послужили возникновению специальног…

PyQt5 - Tutorial 009. Using QThread with MoveToThread

Попробуйте принудительно вызывать сигнал started у потока. Это является потокобезопасным. И в данном случае вызов сигнала started должно запустить выполнения метода run, а потом продолжить выпол…
O
  • Otaku
  • May 16, 2022, 11:33 a.m.

PyQt5 - Tutorial 009. Using QThread with MoveToThread

Решение хорошее, сейчас так и делаю. Но все равно остается открытым вопрос подвязки ивента из вне. Проще говоря, не хочется гонять вечный цикл в run, постоянго проверяя изменения очереди (пусть …
Now discuss on the forum
AB

Sorting the added QML elements in the ListModel

I am writing an alarm clock in QML, I am required to sort the alarms in ascending order (depending on the date or time (if there are several alarms on the same day). I've done the sorting …
EK

HTTP server на Qt

Давно было, уже не помню как, но разрулил. Спасибо :)

Django MPTT вывод дерева категорий

Здраствуйте похоже я так и не понял всю суть Django-MPTT батарейки. Так как не могу решить простую задачу с выводом категорий. По этому обращаюсь к вам за помощью. Начну с начала. Изначальн…
AC

QScrollArea и автоматическая прокрутка при обходе элементов формы

Отвечаю сам на свой вопрос. Кому интересно: к примеру в scrollArea_organs_internal есть элементы QLineEdit = spleen_parenchyma (при обходе элементов формы д…
d
  • danya
  • April 26, 2022, 8:13 a.m.

Как вставить видео в QT6 6.3.0?

Я абсолютный новичок в Qt. Столкнулся с проблемой вставки видео. В прошлых версиях надо было подключть к про файлу multimedia. Сейчас пишет ошибку, что multimedia нет. Можете на просто…
About
Services
© EVILEG 2015-2022
Recommend hosting TIMEWEB