Programming/qt

qt5 qml 다국어지원

구차니 2026. 6. 30. 12:31

언제나 그렇듯(?) tr() 대신 qsTr()로 감싸줘야 한다.

Text {
    id: txt1;
    text: qsTr("Back");
}

[링크 : https://doc.qt.io/archives/qt-5.15/qtquick-internationalization.html]

 

qt5.10 이전에는 retranslate()가 정상적으로 작동하지 않는 문제가 있었다고.

함수 레벨이 다름에 주의.

그런데.. installTranslator 하기 전에 removeTranslator 해줘야 하나?

    if(lang == "bg") {
     qApplication->removeTranslator(&trEN);
     qApplication->installTranslator(&trBG);
    } else if (lang == "en") {
     qApplication->removeTranslator(&trBG);
     qApplication->installTranslator(&trEN);
    }

    qmlEngine->retranslate();

[링크 : https://forum.qt.io/topic/90018/problem-with-dynamic-language-change-in-qml]

[링크 : https://wiki.qt.io/How_to_do_dynamic_translation_in_QML]