Я учусь, как использовать переводчик QT впервые для работы.У них уже есть что-то, что работает до некоторой степени, и моя работа состоит в том, чтобы очистить и заставить его работать должным образом, а также использовать lupdate, чтобы синхронизировать вещи, когда они меняются и т. Д. Мы также используем QML, в котором мы написали функцию-обертку для всехнаши строки, поэтому lupdate не находит нашу функцию для добавления в XML-файл .ts.Причина, по которой мы используем оболочку, заключается в том, чтобы одновременно централизовать другие функции для всех строк.Мы также не всегда используем строковый литерал в нашем аргументе 'source', но определяем свойство, например:
свойство string buttonTxt: "ButtonText"
then: commonTRFunction (context, buttonTxt)
который, конечно, lupdate не находит по обеим причинам.
Я очень кратко изучил вопрос об обновлении источника lupdate, и я не уверен, стоит ли пытаться взломать его, чтобы найти нашу функцию или написать нашу собственную.синтаксический анализатор, чтобы найти стандартные теги QT, а также наши новые?
Во-вторых, и в связи с первой частью, я хотел бы создать один контекстный раздел, содержащий все общие слова, которые мы используем в нашем приложении, такие как«Назад», «Сохранить», «Ок» и т. Д., Не повторяя это снова и снова по всему файлу .ts.lupdate, кажется, повторяет вещи снова и снова в разных контекстах, что кажется неэффективным и пустой тратой строк в файле ts.
Я не нашел ни одного документа QT, который действительно объяснял бы различия между tr()
, qsTr()
, qsTranslate()
, QT_TR_NOOP()
и QT_TRANSLATE_NOOP()
.Я знаю, что иногда вам нужен контекст и источник, а в других случаях просто используйте источник без контекста.Мы не используем однозначный аргумент.Большая часть нашего кода написана на QML, а не на C ++.
Также мы запускаем lupdate из командной строки.
Есть ли у кого-нибудь мысли, предложения или даже инструмент, написанный кем-то, который можно использовать длячто мы имеем?Я ценю вашу помощь.