파일 확장명 |
.po |
API 확장 |
gettext |
가져오기 |
예 |
내보내기 |
예 |
복수형 지원 |
예 |
설명 지원 |
예 |
형식 옵션 |
|
.PO(Portable Object)는 GNU gettext, GNU 소스 라이브러리로 현지화되는 표준 파일 형식입니다. GNU gettext를 사용하면 Localizable Strings 소스 코드에서 번역을 위해 PO 파일로 추출됩니다. .PO 파일은 키 값 쌍의 시리즈입니다. 키 msgid
는 소스 문자열의 위치이고 값 msgstr
는 번역의 위치입니다.
gettext는 소스 코드에서 Strings .POT(포함 가능한 객체 템플릿로 추출합니다. 정의된 로캘을 기반으로 gettext는 .POT 파일을 로캘별 .PO 파일로 변환하여 번역을 위해 CAT 도구에 업로드합니다. 번역 후 gettext 번역된 .PO 파일을 .MO 파일(기계 객체 파일)로 변환하여 현지화에 사용합니다.
.PO 파일은 .POT 파일을 제외하고 일반적으로 gettext 로캘별 .PO 파일을 생성하는 데 사용됩니다. .POT 파일을 직접 번역하고 나중에 원하는 로캘 따라 이름을 변경하면 문제가 발생하지 않습니다. phrase 다음의 번역을 지원합니다.
-
.PO 파일
-
이중 언어 .PO 파일
-
기계 읽기 가능한 .MO 파일
msgctxt
는 msgid
와 결합되어 | |
로 구분하여 키 접두사로 사용됩니다.
형식 옵션
식별자 |
is_bilingual_file |
유형 |
부울 |
업로드 |
true |
다운로드 |
false |
기본값 |
false |
설명 |
소스 및 대상 번역을 모두 업로드된 파일에서 가져옵니다. 소스 컨텐츠는 |
코드 샘플
msgid "" msgstr "" "언어: English\n" "MIME 버전: 1.0\n" "컨텐츠 유형: text/plain; charset=UTF-8\n" "컨텐츠 전송 인코딩: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- true\n" msgid "empty_string_translation" msgstr "" # 이 키 대한 놀라운 설명입니다! msgid "key_with_description" msgstr "검토하세요! 이 키에는 설명이 있습니다! (최소 일부 형식으로)" msgid "key_with_line-break" msgstr "This translations contains\na line-break." msgid "nested.deeply.key" msgstr "Wow, 이 키 더 깊게 중첩되어 있습니다." msgid "nested.key" msgstr "이 키는 네임스페이스 내에 중첩되어 있습니다." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] "복수화가 하나만 발견되었습니다." msgstr[1] "Wow, you have %s pluralizations!" msgid "sample_collection" msgstr "---\n- 첫 번째 항목\n- 두 번째 항목\n- 세 번째 항목\n" msgid "simple_key" msgstr "간단한 키, 간단한 메시지, 정말 간단해.2" #, 퍼지 msgid "unverified_key" msgstr "확인이 필요합니다. 확인 주십시오! (일부 형식에서는 이 상태도 내보냅니다.)"
일반적인 gettext 가입:
# 설명(옵션) msgid "key-name" msgstr "내 번역"
gettext 헤더
gettext 파일의 헤더에는 가져오기 중 추출되는 복수형에 대한 로캘 이름과 데이터가 포함될 수 있습니다.
msgid "" msgstr "" "언어: en\n" "MIME 버전: 1.0\n" "컨텐츠 유형: text/plain; charset=UTF-8\n" "컨텐츠 전송 인코딩: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n"
설명
gettext 파일의 주석은 가져오기 중 키 설명으로 추가됩니다.
# 내 설명입니다 msgid "app_title" msgstr "내 소프트웨어 프로젝트"
컨텍스트
gettext는 동일한 msgid
에 대한 서로 다른 컨텍스트를 구별하기 위해 msgctxt
언급을 사용합니다. 각 키 이름은 고유해야 하므로 msgctxt
가 키 이름의 첫 번째 부분으로 추가되며 두 개의 파이프 기호로 구분됩니다 | |
:
msgctxt "menu" msgid "Open" msgstr "번역한다" msgctxt "forum" msgid "Open" msgstr "나는 다른 번역입니다"
새 키에 msgctxt를
추가하려면 키 이름에 먼저 기재해 주십시오.
my_context||my_key_name
결과 gettext 아웃풋:
... msgctxt "my_context" msgid "my_key_name" ...
복수 형태
gettext는 번역을 위한 복수형을 지원합니다.
msgid "new_messages" msgid_plural "" msgstr[0] "새 메시지가 있다" msgstr[1] "귀하에게 %{count}개의 새 메시지가 있습니다"
퍼지
퍼지 키워드는 번역가 확인에 사용됩니다. 퍼지 앱 내에서 미확인 프로세스를 자동으로 호출합니다.
#, 퍼지 msgid "app_title" msgstr "내 소프트웨어 프로젝트"