지원되는 파일 유형(Strings)

.PO - gettext 파일 (Strings)

컨텐츠는 영어 텍스트를 Phrase Language AI를 이용해 기계 번역한 것입니다.

파일 확장명 

.po

API 확장 

gettext

가져오기 

내보내기 

복수형 지원 

설명 지원 

형식 옵션

  • msgid_as_default

  • is_bilingual_file

.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 파일

  • .POT 파일 

  • 기계 읽기 가능한 .MO 파일

msgctxtmsgid와 결합되어 | |로 구분하여 키 접두사로 사용됩니다. 

형식 옵션

식별자

msgid_as_default

유형

부울

업로드

true

다운로드

false

기본값

false

설명

번역 컨텐츠를 msgstr 대신 msgid 값에서 가져옵니다.

식별자

is_bilingual_file

유형

부울

업로드

true

다운로드

false

기본값

false

설명

소스 및 대상 번역을 모두 업로드된 파일에서 가져옵니다. 소스 컨텐츠는 msgid 값에서 가져옵니다. 대상은 msgstr 값에서 가져옵니다.

코드 샘플

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 "내 소프트웨어 프로젝트"
도움이 되었습니까?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.