Programming/qt

qt5 다국어 지원 테스트

구차니 2026. 4. 28. 11:38

이거.. 넣었던가.. 자동으로 다국어 지원한다고 하면 들어갔던가 기억이 안나네..

#include <QTranslator>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "prjname_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    MainWindow w;

    w.show();
    return a.exec();
}

 

qt creator 에서

tools - external - linguist - update translation 하면 ts 확장자를 가진 파일들이 생성된다.

 

그리고 그걸 linguist 에서 복수의 파일을 ctrl 누르고 열면 다음과 같이 나오는데

하나의 메시지(원본 텍스트)에 대해서 American(en_US 파일), 한국어(ko_KR 파일) 에 대해서 번역을 진행하고

 

linguist - 파일 - 모두 배포를 눌러주면 확장자가 qm인 파일이 배포되고

 

빌드를 한 후,

아래와 같이 하면 언어 "영어"로 선택되서 실행된다.

LANG=en_US ./prjname
LC_ALL=en_US ./prjname