현지화 파일은 Notepad 또는 TextEdit와 같은 텍스트 편집기 또는 프로그래머가 사용하는 수많은 강화 텍스트 편집 도구에서 열고 편집할 수 있는 텍스트 파일입니다. 이러한 파일은 일반적으로 키 값 원리를 따릅니다. 즉, 고유한 ID(키)와 연결된 텍스트 스냅킷 목록((Strings))이 포함되어 있습니다. 각 문자열은 키의 값입니다(이 간단한 예는 Java 프로그래밍에서 사용되는 현지화 파일의 형식입니다.):
-
key1 = value1
-
key2 = value2
-
...
-
keyN = valueN
현지화 파일의 생성
현지화 파일은 간단한 구조로 일반 텍스트 파일입니다. 수동으로 생성할 수 있지만 대개 다양한 개발 환경에 사용할 수 있는 국제화 유틸리티 또는 스크립트를 통해 자동으로 생성됩니다. 현지화 파일의 자동 생성이 파일 구조가 유효한지 확인합니다.
현지화 파일을 생성 표시 가능한 모든 텍스트가 파일의 고유한 ID로 대체됩니다. 그런 다음 텍스트 Strings ID로 현지화 파일에 추가됩니다.
현지화 파일의 사용
실제 텍스트 Strings 대신 코드에 이제 키만 포함되어 있습니다. 소프트웨어가 사용자 보기를 생성할 때 이 키는 현지화 파일에서 연결된 Strings 을 검색하는 데 사용됩니다.
응용 프로그램이 영어와 스페인어로 사용되도록 설정된 경우 모든 영어 텍스트는 English.txt
이름의 파일에 저장되며 기본 텍스트 위치입니다. 사용자 언어 선택 않으면 이 파일에서 모든 텍스트가 가져와 디스플레이를 생성합니다. 사용자가 스페인어를 선택하면 소프트웨어는 Spanish.txt로
리디렉션됩니다. 이와 같은 시스템에서는 많은 언어를 사용할 수 있습니다.
장점은 디스플레이의 언어 선택이 코드에 영향을 주지 않다는 점입니다. 소프트웨어에 로그인 버튼을 표시해야 하는 경우 키와 연결된 문자열 login_ 버튼
이 필요할 수 있습니다. 지정된 언어에 대한 적절한 문자열을 검색하기 위해 어떤 파일을 찾을지 알아야 합니다.
문자열 관리
키 기반 번역 플랫폼으로서 Phrase는 다양한 자원 파일 유형을 지원합니다. 파일 업로드 후, 키와 연결된 문자열 값이 추출됩니다. 그런 다음 키와 Strings 표준화된 형식 번역가 전송됩니다. 번역가는 현지화 파일의 정확한 형식 대해 걱정할 필요 없이 과업 집중할 수 있습니다. 키 자체가 중요한 컨텍스트를 제공하고 단어 선택을 올바르게 안내할 수 있으므로 키를 검사할 수 있습니다.
모든 Strings 번역될 때 파일이 다운로드됩니다. 이 과정에서 원본 소스 파일과 일치 항목 필요한 현지화 파일 형식 생성됩니다.
자원 파일 형식
네 가지 광범위한 리소스 유형이 지원되며 모두 기본적으로 텍스트 기반이며 텍스트 편집자 열고 검토할 수 있습니다.
스프레드시트
.XLSX 및 .CSV 파일은 지원됩니다. 이 형식은 현지화 목적으로 동등하며 키 값 쌍의 행을 포함합니다. 키는 하나의 행에 있고, 해당 값은 연관된 행에 있습니다. 정확히 어떤 열이 어떤 목적으로 사용되는지 응용 프로그램에 따라 달라지며 현지화자가 phrase 구성하여 열을 올바르게 해석해야 합니다. Zendesk .CSV 파일의 구조가 고정되어 있으므로 이 파일 형식에는 추가 조정이 필요하지 않습니다.
"목표","기본 언어","기본 텍스트","영어 텍스트","변수 상태" "simple_key","German","Einfacher Schlüssel.","Simple key.","Current"
XML
XML은 <tags>
형식으로 메타 정보를 제공하는 형식입니다. 태그 구조는 Android XML 파일에서 여기에 표시된 대로 키와 해당 값의 위치를 결정하는 데 사용됩니다.
< 문자열 이름="simple_key">메시지가 포함된 키입니다.</ 문자열>
표준 XML 번역 형식이 2개입니다.TMX 및 .XLIFF. 이는 하나의 언어 키와 값을 보유하고 있을 뿐만 아니라 소스 언어 값 쌍을 대상 언어 해당 값과 연결합니다. 이러한 파일은 일반적으로 이중 언어이며, Symfony Xliff 파일의 이 번역 단위는 다음과 같이 표시됩니다.
<trans-unit ID="simple_key" resname="simple_key"> < 소스 xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</ 소스 <대상 xml:lang="en-GB">간단한 메시지가 담긴 간단한 키.<대상 </trans-unit>
QT 프로그램은 표준화된 형식과 매우 유사한 구조의 자원 파일을 사용, 역사적 이유로 다른 레이아웃을 가지고 있습니다.
평가 키 값 목록
Ruby on Rails YAML의 이 스냅처럼 간단한 키와 값 목록만 포함하는 자원 파일도 있습니다.
simple_key: 간단한 메시지가 담긴 간단한 키
다양한 프로그래밍 언어나 플랫폼은 이러한 형식을 사소한 문제 레이아웃 차이로 사용.
이 파일은 단언어 파일이므로 현지화 프로그램은 소스 언어 대상 언어와 관련하여 병렬 버전을 유지해야 합니다.
Gettext는 설명 주석 또는 복수 변형과 같은 추가 정보가 포함된 키 값 파일을 생성합니다.
# 이 키 대한 놀라운 설명입니다! msgid "key_with_description" msgid_plural "" msgstr[0] "검토하세요! 이 키에는 설명이 있습니다! (최소 일부 형식으로)" msgstr[1] "검토하세요! 이 키에는 %s 설명이 있습니다! (최소 일부 형식으로)"
유사한 기능과 레이아웃을 갖춘 경쟁 형식도 있으며 상대적으로 사소한 문제 측면에서 다릅니다.
조합 스토리지
다른 형식에서는 사용자 지정 코드(파서)가 필요하지만, 일부 형식은 개발자와 현지화자가 더 쉽게 사용할 수 있습니다. .JSON(JavaScript) 및 .PHP 어레이를 기반으로 하는 형식은 쉽게 조작할 수 있는 일반 코드 구조(arrays)로 직접 읽고 맵화할 수 있습니다. 정렬은 복잡할 수 있고 서로 다른 애플리케이션은 사용자 지정 정렬 구조를 생성합니다.
예를 들어, go-i18n JSON 는 키를 ID
로 참조합니다.
{ "id": "simple_key", "번역": "간단한 키, 간단한 메시지, 아주 간단합니다." },
Angular는 스토리지에서 키로 스스로 키를 사용합니다.
"simple_key": "나는 간단한 메시지가 담긴 간단한 키입니다."
이러한 사소한 문제 중요한 차이들이 있기 때문에 널리 사용되는 .JSON 및 PHP 스토리지 구조가 지원됩니다.