Я пытаюсь перевести свое приложение с финского на английский. Я проверил Riverbank's short doc и получил в основном работу. Прежде чем я побежал приложение я называю:Проблема интернационализации PyQt5 с переменными
translator = QTranslator()
translator.load("gui/translations/mainwindow.qm")
app = QApplication(sys.argv)
app.installTranslator(translator)
И приложение переводит большинство текстов правильно ли я это по коде: QCoreApplication.translate("setapikeyheading", "Aseta tunnisteavain")
Теперь мое приложение имеет несколько ситуаций, в которых может возникнуть такое же сообщение об ошибке в другом контексте. Мне нравится DRY, поэтому я создал несколько «констант», как так как статические переменные:
_UNKNOWN_ERROR = QCoreApplication.translate("unknown_error", "Tuntematon virhe: ")
Тогда я побежал pylupdate5 и перевел строки в Лингвист. Однако во время выполнения эти сообщения не будут переведены, но вместо этого будут отображаться исходные тексты Финляндии.
Почему и как его исправить? У меня есть подозрение, что это имеет какое-то отношение к контексту, но мне еще не удалось это выяснить, так как я не смог найти углубленной документации по переводу PyQt (Riverbank довольно неопределен).
Кроме того, как я должен переводить Designer, созданный пользовательский интерфейс с PyQt, учитывая, что Riverbank рекомендует использовать translate() вместо tr()?