对于Qt翻译:有没有办法为未完成的翻译设置替代翻译的顺序?

问题描述 投票:0回答:1

我有一个大型 Qt 应用程序,支持 6 种不同的语言。不幸的是,许多文本短语尚未翻译。源文本中的基本语言是德语。因此,如果缺少翻译,则会使用基本语言。有没有办法为各种语言指定除基本语言之外的替代语言,并且仅在缺少该语言的情况下才切换到实际的基本语言。
例如,使用语言cz:
缺少翻译,但有英文翻译。那么应该使用这个,
如果也没有英文翻译,则应该使用基本语言(德语)。

qt translation qt-linguist
1个回答
0
投票

好的,现在可以按预期工作了。这是我的代码如何安装两个翻译器。

    const QString languageFilePrefix = ":/lang/resources/lang/MyApp_";
    const QList<QString> supportedLanguages({ "en","cs","pl","fr","pt"});

    QTranslator en_translator;
    QTranslator translator;

    int langIndx = gSettings.getLanguageIndex();
    if ((langIndx > 0) && (langIndx <= supportedLanguages.size())) {
        if (langIndx > 1) {
            // for all languages ​​except standard (German) and English
            // load English language first
            QString enlang = languageFilePrefix + supportedLanguages[0];
            if (en_translator.load(enlang)) {
                installTranslator(&en_translator);
            }
        }
        QString lang = languageFilePrefix + supportedLanguages[langIndx - 1];
        if (translator.load(lang)) {
            installTranslator(&translator);
        }
    }

© www.soinside.com 2019 - 2024. All rights reserved.