Qt 이야기: .ts 를 .qm 으로 자동 컴파일하기
Qt 에서프로그래밍을 할 때, 가장 아쉬운 점 중의 하나는 .ts 파일을 .qm 파일로 알아서 컴파일 해주지 않는다는 것이다. 대신에 lupdate 를 수행해서 .ts 파일을 만들고, lrelease 를 수행해서 .qm 파일로 컴파일하는 것을 수작업으로 해야 한다. 이 작업은 매우 번거로울 뿐만 아니라, 나중에 배포 과정에서 언어 파일들이 제대로 반영되지 않는 경우가 생길 수도 있다. qmake 는 매우 다양한 기능을 지원하고 있는데, 이 중에서 외부 컴파일러 지원 기능이 있다. 이 기능을 이용하면 .ts 파일을 .qm 파일로 자동으로 컴파일할 수 있다. lrelease.input = TRANSLATIONS lrelease.output = ${ OBJECTS_DIR }/${QMAKE_FILE_BASE}.qm lrelease.commands = lrelease ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} lrelease.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += lrelease 위 내용을 .pro 파일에 추가하면, TRANSLATIONS 에 나열되어 있는 .ts 파일을 .qm 파일로 자동으로 컴파일 한다. 이 때 .qm 파일은 오브젝트 파일이나 실행 파일이 생성되는 디렉토리에 만들어진다. 출처: http://www.freehackers.org/thomas/2009/03/10/fixing-qmake-missing-rule-for-ts-qm/ https://github.com/Arora/arora/blob/master/src/locale/locale.pri