GNU gettext PO (Portable Object)¶
자유 소프트웨어 번역에 가장 널리 사용되는 형식.
파일에 저장된 컨텍스트 정보는 헤더를 조정하거나 해당 소스 파일에 연결하여 지원됩니다.
더 보기
원문 문자열 변경 표시¶
Weblate는 PO 파일에 이전 원문 문자열이 있으면 추출하고 이를 기반으로 편집 필요 문자열의 차이를 표시할 수 있습니다. 이를 포함하려면 msgmerge 를 --previous 와 함께 실행해야 하며, 결과 PO 파일에는 다음과 같은 줄이 포함됩니다:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
This is controlled by the po_keep_previous 파일 형식 매개변수
parameter. It does not affect obsolete entries marked with #~.
Obsolete strings¶
msgmerge keeps strings removed from the POT file as obsolete #~
entries by default. Enable the po_remove_obsolete 파일 형식 매개변수
parameter to remove obsolete entries when Weblate saves PO files.
PO 파일 헤더¶
PO 파일의 헤더는 Weblate에서 자동으로 관리됩니다. 파일 형식 매개변수 를 사용하여 Language-Team, Last-Translator, X-Generator 및 Report-Msgid-Bugs-To 헤더를 포함하도록 구성할 수 있습니다.
Contributor comments¶
Use the po_contributor_comments 파일 형식 매개변수 parameter to add
contributor names and years to PO header comments. Choose gettext for
traditional comments or spdx for SPDX copyright entries. The default,
none, disables contributor updates without removing existing comments.
This setting works independently of the Last-Translator header setting.
With gettext, contributor comments look like this:
# Jane Doe <jane@example.com>, 2024, 2026.
With spdx, the same entry becomes:
# SPDX-FileCopyrightText: 2024, 2026 Jane Doe <jane@example.com>
On the next commit by an eligible contributor, SPDX mode converts all recognized contributor comments, preserves historical contribution years, and adds the current year for that contributor. Anonymous Weblate authors are skipped. Unrelated comments and copyright notices are preserved. Weblate does not infer copyright claims from translated credit strings or add project-specific notices or license identifiers; handle these in custom tooling.
줄 바꿈¶
줄 바꿈은 대부분 GNU gettext 동작과 일치합니다. GNU gettext의 줄 바꿈 알고리즘과 줄 바꿈 기반 유니코드 데이터 모두 발전하므로 일부 특수한 경우에 차이가 발생할 수 있습니다.
줄 바꿈 너비는 po_line_wrap 매개변수를 사용하여 구성할 수 있습니다 ( 파일 형식 매개변수 참조).
일치하는 MO 파일 생성¶
MO 파일이 PO 파일과 함께 저장소에 보관되는 경우 MO 파일 생성 를 사용하여 PO 파일과 동기화 상태를 유지할 수 있습니다.
POT 파일에서 PO 파일 업데이트¶
PO 파일을 POT에 맞게 업데이트 (msgmerge) 를 사용하여 POT 파일에서 PO 파일을 업데이트할 수 있습니다 ( 대상 언어 파일 업데이트 참조).
단일 언어 gettext¶
일부 프로젝트는 gettext를 단일 언어 형식으로 사용하기로 결정합니다. 소스 코드에 ID만 코딩하고 문자열은 영어를 포함한 모든 언어로 번역해야 합니다. 이는 지원되지만 Weblate에 구성요소를 가져올 때 이 파일 형식을 명시적으로 선택해야 합니다.
파일 예시¶
이중 언어 gettext PO 파일은 일반적으로 다음과 같음:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"
단일 언어 gettext PO 파일은 일반적으로 다음과 같음:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"
기본 언어 파일은 다음과 같음:
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"
#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"
#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"
Weblate 구성¶
이중 언어 gettext용 일반적인 Weblate 구성요소 설정 |
|
|---|---|
파일 마스크 |
|
단일언어 기반 언어 파일 |
빈 |
신규 번역의 템플릿 |
|
파일 형식 |
Gettext PO 파일 |
단일 언어 gettext용 일반적인 Weblate 구성요소 설정 |
|
|---|---|
파일 마스크 |
|
단일언어 기반 언어 파일 |
|
신규 번역의 템플릿 |
|
파일 형식 |
Gettext PO 파일 (단일 언어) |
파일 형식 매개변수¶
po_* 패턴의 파일 형식 매개변수 를 사용하여 gettext 형식의 동작을 구성할 수 있습니다.