PyQt - 다국어 지원

2024. 7. 4. 14:49Frontend

    목차
반응형

PyQt는 다국어를 지원합니다. 이를 위해 가장 먼저 ts 파일을 생성합니다. 

pylupdate5 main.py -ts translations_ko.ts

 

이후, 생성된 파일에 내용을 추가합니다. 

linguist translations_ko.ts

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
    <name>MainWindow</name>
    <message>
        <location filename="main.py" line="10"/>
        <source>Test Control</source>
        <translation>시험 제어</translation>
    </message>
    <message>
        <location filename="main.py" line="11"/>
        <source>Test Results</source>
        <translation>시험 결과</translation>
    </message>
</context>
</TS>

 

작성 완료 후 ts 파일을 qm 파일로 release 합니다.

lrelease translations_ko.ts

 

이제 생성된 transation_ko.qm 파일을 로드합니다. 

if __name__ == "__main__":
    app = QApplication(sys.argv)

    translator = QTranslator()
    if translator.load("translations_ko.qm"):
        app.installTranslator(translator)

    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

 

그리고 이를 다음과 같이 사용합니다. 

        self.label = QLabel(self.tr("Test Control"))
반응형

'Frontend' 카테고리의 다른 글

JSP 란  (0) 2021.12.31