파일 확장명 |
.xlf, .xliff |
API 확장 |
xlf |
가져오기 |
예 |
내보내기 |
예 |
복수형 지원 |
예 |
설명 지원 |
예 |
형식 옵션 |
enclose_in_cdata include_translation_state indent_size indent_style ignore_source_translations ignore_target_translations export_key_id_as_resname export_key_name_hash_as_extradata override_file_language strip_placeholder_delimiters delimit_placeholders |
번역 산업에서 가장 널리 사용되는 파일 형식입니다. 소스 콘텐츠를 다양한 세그먼트로 분해하여 태그에 저장된 미러 파일로 볼 수 있습니다 (예: <trans-unit>
, <seg-source>
).
XLIFF는 XML 기반이며 유효성 및 잘 형성됨과 같은 기본 XML 규칙을 따릅니다. .xliff (.xlf)에서 .xml로 파일 확장자를 변경하고 웹 브라우저에서 열어 번역 전에 항상 정상성을 확인하십시오. 파일이 유효하면 잘 정리된 문서 구조가 표시되며, 그렇지 않으면 렌더링할 수 없거나 오류 메시지가 표시됩니다.
XLIFF는 XLIFF 2.0으로 업데이트되었습니다. 더 널리 사용되는 XLIFF와 유사하지만 일반적으로 XLIFF와 호환되지 않는 다른 파일 형식입니다.
Xcode는 지역화할 수 있는 문자열을 산업 표준 XLIFF 형식으로 패키징하여 Phrase와 함께 지역화할 수 있도록 보냅니다.
형식 옵션
식별자 |
enclose_in_cdata |
유형 |
부울 |
업로드 |
아니요 |
다운로드 |
예 |
기본값 |
false |
설명 |
HTML 태그가 포함된 번역을 CDATA로 감쌉니다. 비활성화된 경우 지원되지 않는 HTML 엔티티는 디코딩된 값으로 대체됩니다. 예:
|
식별자 |
include_translation_state |
유형 |
부울 |
업로드 |
아니요 |
다운로드 |
예 |
기본값 |
false |
설명 |
대상 로케일에서 번역 상태를 포함합니다. 모든 |
식별자 |
ignore_source_translations |
유형 |
부울 |
업로드 |
예 |
다운로드 |
아니요 |
기본값 |
false |
설명 |
업로드 중 파일의 소스 번역을 무시합니다 (우발적인 소스 언어 업데이트를 피하기 위해). |
식별자 |
ignore_target_translations |
유형 |
부울 |
업로드 |
예 |
다운로드 |
아니요 |
기본값 |
false |
설명 |
업로드 중 파일의 대상 번역을 무시합니다(우발적인 소스 언어 업데이트를 피하기 위해) |
식별자 |
export_key_name_hash_as_extradata |
유형 |
부울 |
업로드 |
아니요 |
다운로드 |
예 |
기본값 |
false |
설명 |
키 이름 해시를 extradata 속성으로 내보냅니다. |
식별자 |
override_file_language |
유형 |
부울 |
업로드 |
예 |
다운로드 |
아니요 |
기본값 |
false |
설명 |
이 파일 형식은 일반적으로 파일 자체에 언어 정보를 포함합니다. 이 옵션을 사용하여 언어를 지정한 언어로 재정의합니다. |
식별자 |
delimit_placeholders |
유형 |
부울 |
업로드 |
아니요 |
다운로드 |
예 |
기본값 |
false |
설명 |
번역 자리 표시자를 |
코드 샘플
<?xml version="1.0" encoding="UTF-8"?> <xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> <file original="global" datatype="plaintext" source-language="de-DE" target-language="en-GB"> <body> <trans-unit id="boolean_key"> <source xml:lang="de-DE">--- true </source> <target xml:lang="en-GB">--- true </target> </trans-unit> <trans-unit id="empty_string_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="key_with_description"> <source xml:lang="de-DE">이것 좀 봐! 이 키에는 설명이 있습니다!</source> <target xml:lang="en-GB">확인해 보세요! 이 키에는 설명이 있습니다! (일부 형식에서는 적어도) <note>이 키에 대한 놀라운 설명입니다!</note> </trans-unit> <trans-unit id="key_with_line-break"> <source xml:lang="de-DE">이 번역은 줄 바꿈을 포함합니다.</source> <target xml:lang="en-GB">이 번역은 포함되어 있습니다 a line-break.</target> </trans-unit> <trans-unit id="nested.deeply.key"> <source xml:lang="de-DE">나는 깊이 중첩된 키입니다.</source> <target xml:lang="en-GB">나는 깊이 중첩된 키입니다.</target> </trans-unit> <trans-unit id="nested.key"> <source xml:lang="de-DE">이 키는 네임스페이스 안에 중첩되어 있습니다.</source> <target xml:lang="en-GB">이 키는 네임스페이스 안에 중첩되어 있습니다.</target> </trans-unit> <trans-unit id="null_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="sample_collection"> <source xml:lang="de-DE">--- - 첫 번째 항목 - 두 번째 항목 </source> <target xml:lang="en-GB">--- - 첫 번째 항목 - 두 번째 항목 - 세 번째 항목 </target> </trans-unit> <trans-unit id="simple_key"> <source xml:lang="de-DE">간단한 키, 간단한 메시지, 너무 간단하다</source> <대상 xml:lang="en-GB">간단한 키, 간단한 메시지, 너무 간단합니다.</대상> </trans-unit> <trans-unit id="unverified_key"> <소스 xml:lang="de-DE">이 번역은 아직 확인되지 않았으며 기다리고 있습니다!</소스> <대상 xml:lang="en-GB">이 번역은 아직 확인되지 않았으며 기다리고 있습니다.</대상> (일부 형식에서는 이 상태도 내보냅니다)</대상> </trans-unit> </body> </file> </xliff>
복수 형태
복수형 키는 다음 구문을 사용하여 내보냅니다:
<trans-unit id="plural_key"> <소스 xml:lang="en">{"one":"하나의 의자","other":"{nrOfChairs} 개의 의자","zero":"의자가 없음"}</소스> <대상 xml:lang="de">{"one":"ein Stuhl","other":"{nrOfChairs} Stühle","zero":"keine Stühle"}</대상> </trans-unit>