이 페이지에서

lupdate 사용법

lupdate 명령줄 도구는 C++ 소스, C++ 헤더, Java, Python, QML 및 UI 파일에서 번역 가능한 문자열을 찾아 TS 파일을 생성하거나 업데이트합니다.

qmake로 빌드할 때는 명령줄이나 .pro 파일에서 처리할 파일을 지정하십시오.

CMake로 빌드할 때는 CMake 명령어를 사용하여 TS 파일을 생성하거나 업데이트하고 이를 QM 파일로 변환하는 타깃을 추가하십시오. lupdate 도구는 타깃을 빌드할 때 명령어에 전달하는 옵션을 사용하여 실행됩니다.

프로젝트 파일에서 번역을 지정하는 방법에 대한 자세한 내용은 ‘애플리케이션 현지화’를 참조하십시오.

lupdate 구문

lupdate [options] [project-file]...
lupdate [options] [source-file|path|@lst-file]... -ts ts-files|@lst-file

여기서:

  • options 는 하나 이상의 lupdate 옵션을 의미합니다.
  • project-file 는 프로젝트 구성 파일입니다.
  • source-file 번역 가능한 문자열이 포함된 파일입니다.
  • path 번역 원본 파일이 포함된 폴더의 경로입니다.
  • @lst-file lst-file에서 추가 파일 이름(한 줄에 하나씩) 또는 포함 경로(한 줄에 하나씩, -I 접두사가 붙음)를 읽습니다.
  • ts-files 생성하거나 업데이트할 TS 파일들입니다.

최신 도움말을 보려면 다음을 입력하십시오:

lupdate -help

lupdate options

옵션작업
-help최신 도움말 정보를 표시하고 종료합니다.
-no-obsolete사용되지 않거나 삭제된 문자열을 모두 제거합니다.
-extensions <ext>[,<ext>]...지정된 확장자를 가진 파일만 처리합니다. 목록에서 확장자를 구분할 때는 쉼표를 사용하십시오. 공백은 사용하지 마십시오. 기본값은 다음과 같습니다: java,jui,ui,c,c++,cc,cpp,cxx,ch,h,h++,hh,hpp,hxx,js,qs,qml,qrc.
-pluralonly복수형 메시지만 포함합니다.
-silent현재 수행 중인 작업에 대한 설명은 표시하지 않습니다.
-no-sortTS 파일에서 컨텍스트를 정렬하지 마십시오.
-sort-messagesTS 파일에서 컨텍스트 내 메시지를 알파벳순으로 정렬하십시오.
-no-recursive디렉터리를 재귀적으로 스캔하지 마십시오.
-recursive디렉터리를 재귀적으로 스캔합니다(기본값).
-warnings-are-errors경고를 오류로 취급합니다.
-I <includepath> or -I<includepath>이 추가 위치에서 포함 파일을 찾습니다. 여러 경로를 지정할 수 있습니다.
-locations {absolute|relative|none}TS 파일에 소스 코드 참조를 저장하는 방식을 지정하거나 재정의합니다.
  • absolute 이는 소스 파일 경로가 대상 파일을 기준으로 상대적이지만, 줄 번호는 절대적임을 의미합니다.
  • relative 이는 소스 파일 경로가 대상 파일을 기준으로 상대 경로임을 의미합니다. 줄 번호는 동일한 소스 파일 내의 다른 항목을 기준으로 상대적입니다.
  • none 소스 위치에 대한 정보를 저장하지 않습니다.

위치를 지정하지 않으면 lupdate 가 기존 TS 파일을 기반으로 위치를 결정합니다. 새 파일의 기본값은 absolute 입니다.

-no-ui-linesUI 파일 참조 시 줄 번호를 기록하지 않습니다.
-disable-heuristic {sametext|similartext}명명된 병합 휴리스틱을 비활성화합니다. 여러 번 지정할 수 있습니다.
-project <filename>JSON 형식으로 프로젝트 설명이 포함된 파일의 이름입니다. lupdate-pro -dump-json <file> 를 사용하여 .pro 파일에서 이 파일을 생성할 수 있습니다.
-pro <filename>.pro 파일의 이름입니다. .pro 파일 구문을 따르지만 다른 파일 확장자를 가진 파일에 유용합니다. 프로젝트가 재귀적으로 탐색되어 병합됩니다. 이 옵션은 더 이상 권장되지 않습니다. 대신 lupdate-pro 도구를 사용하십시오.
-pro-out <directory>후속 .pro 파일을 처리하기 위한 가상 출력 디렉터리입니다.
-pro-debug.pro 파일 처리 과정을 추적합니다. 더 자세한 정보를 보려면 두 번 지정하십시오.
-source-language <language>[_<region>]새 파일의 소스 문자열 언어를 지정합니다. 지정하지 않으면 기본값은 POSIX입니다.
-target-language <language>[_<region>]새 파일의 번역 언어를 지정합니다. 언어를 지정하지 않으면 lupdate 가 파일 이름을 기준으로 언어를 결정합니다.
-tr-function-alias <function>{+=,=}<alias>[,<function>{+=,=}<alias>]...+= 를 사용하면, <alias> 을 <function> 의 대체 철자로 인식합니다. =, 를 사용하면, <alias> 을 <function> 의 유일한 철자로 인식합니다.

사용 가능한 ` <function> ` 값(현재 정의된 별칭 포함)은 다음과 같습니다:

  • Q_DECLARE_TR_FUNCTIONS (=Q_DECLARE_TR_FUNCTIONS)
  • QT_TR_N_NOOP (=QT_TR_N_NOOP)
  • QT_TRID_N_NOOP (=QT_TRID_N_NOOP)
  • QT_TRANSLATE_N_NOOP (=QT_TRANSLATE_N_NOOP)
  • QT_TRANSLATE_N_NOOP3 (=QT_TRANSLATE_N_NOOP3)
  • QT_TR_NOOP (=QT_TR_NOOP)
  • QT_TRID_NOOP (=QT_TRID_NOOP)
  • QT_TRANSLATE_NOOP (=QT_TRANSLATE_NOOP)
  • QT_TRANSLATE_NOOP3 (=QT_TRANSLATE_NOOP3)
  • QT_TR_NOOP_UTF8 (=QT_TR_NOOP_UTF8)
  • QT_TRANSLATE_NOOP_UTF8 (=QT_TRANSLATE_NOOP_UTF8)
  • QT_TRANSLATE_NOOP3_UTF8 (=QT_TRANSLATE_NOOP3_UTF8)
  • findMessage (=findMessage)
  • qtTrId (=qtTrId)
  • tr (=tr)
  • trUtf8 (=trUtf8)
  • translate (=translate)
  • qsTr (=qsTr)
  • qsTrId (=qsTrId)
  • qsTranslate (=qsTranslate)
-ts <ts-file>...출력 파일을 지정합니다. 이 설정은 TRANSLATIONS 을 재정의합니다.
-versionlupdate 의 버전을 표시하고 종료합니다.

예제

CMake에서 lupdate 사용

CMake로 빌드할 때는 CMake 명령어를 사용하여 CMakeLists.txt 파일에 대상에 대한 번역을 추가한 다음, 해당 대상을 빌드하십시오.

다음 옵션 중 하나를 선택하십시오:

해당 타깃(예: ` app_lupdate`)을 빌드하여 해당 타깃의 .ts 파일을 업데이트하십시오. 모든 타깃의 .ts 파일을 업데이트하려면 ` update_translations` 타깃을 빌드하십시오.

qmake에서 lupdate 사용

단일 QML 파일에 대한 번역 파일을 생성하려면:

lupdate main.qml -ts main_en.ts

다른 언어(예: 프랑스어)용 번역 파일을 만들려면, main_en.ts 파일을 main_fr.ts로 복사한 다음, 프랑스어 TS 파일 내의 문자열을 번역하십시오.

lupdate .qrc 파일에 나열된 QML 파일을 처리합니다:

RESOURCES += qml.qrc

lupdate 를 통해 모든 QML 파일을 처리하려면:

lupdate application.qrc -ts myapp_en.ts

.qrc 파일을 사용하지 않고 현재 작업 디렉터리(또는 그 하위 폴더)에 있는 모든 QML 파일을 처리하려면:

lupdate . -extensions qml -ts myapp_en.ts

QML 및 C++ 소스 파일 모두에서 번역 가능한 문자열을 확인하려면:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts

프로젝트 파일에서 언어를 명시하지 않고 영어와 프랑스어에 사용할 .ts 파일을 생성하려면:

lupdate qml.qrc filevalidator.cpp -ts myapp_en.ts myapp_fr.ts

TS 파일을 번역가에게 전달하면, 번역가는 ‘ Qt Linguist ’를 사용하여 파일을 열고 번역 내용을 삽입합니다.

XLIFF 형식 파일

TS 파일 형식은 사람이 읽기 쉬운 간단한 XML 형식으로, 버전 관리 시스템과 함께 사용할 수 있습니다. 또한 lupdate 는 XLIFF(Localization Interchange File Format) 파일(.xlf)을 처리할 수 있습니다.

참고: 현재 XLIFF 1.1 및 1.2버전만 지원됩니다.

Qt Linguist 에서 XLIFF 파일을 열고 편집할 수 있습니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.