텍스트 문자열 현지화

텍스트 문자열 현지화를 사용하면 이미지 카탈로그에 동일한 문자열 값에 대한 여러 로케일 특정 표현이 포함될 수 있습니다.

서버는 locale=에 지정된 로케일과 일치하는 표현을 클라이언트에 반환하여 클라이언트측 현지화를 방지하고, IS 텍스트 요청으로 적절한 locale= 값을 보내기만 하면 응용 프로그램이 로케일을 전환할 수 있습니다.

범위

텍스트 문자열 현지화는 다음 카탈로그 필드에 지역화 토큰 ^loc= *locId*^을 포함하는 모든 문자열 요소에 적용됩니다.

카탈로그 필드 필드의 문자열 요소

카탈로그::ImageSet

번역 가능한 문자열(',' ';' ':' 및/또는 필드의 시작/끝의 조합으로 구분)이 포함된 모든 하위 요소.

지역화 가능한 필드의 시작 부분에 있는 0xrggbb 색상 값이 지역화에서 제외되고 수정 없이 전달됩니다.

카탈로그::맵

coords= shape= 속성 값을 제외한 모든 단일 또는 이중 따옴표 속성 값

카탈로그::Target

대상의 값입니다.*.label target.*.userdata 속성을 사용합니다.

카탈로그::UserData

모든 속성의 값입니다.

문자열 구문

이미지 카탈로그의 로컬라이제이션이 활성화된 string 요소는 각각 현지화 토큰 앞에 있는 하나 이상의 현지화된 문자열로 구성됩니다.

stringElement

[ defaultString ]*{ localizationToken localizedString }

localizationToken

^loc= locStr ^

locId

localizationToken 다음에 나오는 localizedString 에 대한 내부 로케일 ID입니다.

localizedString

현지화된 문자열입니다.

defaultString

알 수 없는 로케일에 사용할 문자열입니다.

locId ASCII여야 하며 '^'를 포함할 수 없습니다.

'^'는 HTTP 인코딩이 있거나 없는 하위 문자열의 모든 위치에서 발생할 수 있습니다. 서버는 전체 localizationToken ^loc=locId^ 패턴과 일치하여 별도의 하위 문자열을 만듭니다.

stringElements 적어도 하나 이상의 지역화 localizationToken 에 포함되지 않은 항목은 지역화용으로 간주되지 않습니다.

번역 맵

attribute::LocaleStrMap 는 서버가 클라이언트로 반환할 규칙 localizedStrings 을 결정합니다. 입력 locales 목록(locale=로 지정된 값과 일치)으로 구성되며, 각각 하나 이상의 내부 로케일 ID( locId)가 없습니다. 예:

attribute::LocaleStrMap= en,E|nl,N|de,D|,

locId 값은 defaultString 가 반환되어야 하는 경우(가능한 경우) 나타냅니다.

자세한 내용은 attribute::LocaleStrMap 설명을 참조하십시오.

번역 프로세스

위의 번역 맵 예와 요청 /is/image/myCat/myItem?req=&locale=nl이 주어지면 서버는 먼저 로케일 맵에서 " nl"를 찾습니다. 일치하는 항목 nl,N은 각 stringElement​에 대해 ^loc=N^로 표시된 localizedString​가 반환됨을 나타냅니다. 이 localizationToken​이 stringElement​에 없으면 빈 값이 반환됩니다.

myCat/myItem에 대해 catalog::UserData에 다음(명확성을 위해 삽입된 줄 바꿈)이 포함되어 있다고 가정해 보겠습니다.

val1=111?? str1=Default1^loc=N^Dutch1^loc=D^German1?? val2=value2?? str2=^loc=E^English2^loc=N^Dutch2^loc=D^German2?? str3=Default3^loc=N^Dutch3^loc=D^German3

서버는 예제 요청에 응답하여 다음을 반환합니다.

val1=111 str1=Dutch1 val2=value2 str2=Dutch2 str3=Dutch3

알 수 없는 로케일

위의 예에서 attribute::LocaleStrMap에는 빈 locale 값이 있는 항목이 있습니다. 서버는 이 항목을 사용하여 번역 맵에 명시적으로 지정되지 않은 모든 locale= 값을 처리합니다.

번역 맵 예는 이 경우 defaultString​이(가) 가능한 경우 반환되도록 지정합니다. 따라서 이 번역 맵이 요청 /is/image/myCat/myItem?req=&locale=ja에 적용된 경우 다음과 같이 반환됩니다.

val1=111 str1=Default1 val2=value2 str2= str3=Default3

예제

언어 가족

여러 locId 값은 번역 맵의 각 locale​과 연결될 수 있습니다. 이렇게 하면 공통 기본 로케일(예: 국제 영어)로 대부분의 컨텐츠를 처리하는 동안 국가별 또는 지역별 변형(예: 미국 영어 및 영국 영어)을 선택 stringElements​에 지원할 수 있습니다.

이 예에서는 미국별 영어( *locId* EUS)와 영국별 영어( *locId* EUK)에 대한 지원을 추가하여 경우에 따라 대체 철자를 지원하려고 합니다. EUK 또는 EUS가 없는 경우 E로 폴백합니다. 마찬가지로, 대부분의 경우 일반 독일어 localizedStrings(D로 표시됨)를 반환하는 동안 필요한 경우 오스트리아별 독일어 변형( DAT)을 사용할 수 있습니다.

attribute::LocaleStrMap 다음과 같습니다.

en,E|en_us,EUS,E|en_uk,EUK,E|de,D|de_at,DAT,D|de_de,D

다음 표에서는 일부 대표자 stringElementlocale 조합의 출력에 대해 설명합니다.

stringElement 로케일

출력 문자열

^loc=E^English^loc=D^독일어

en,en_us, en_uk

de, de_at, de_de

기타

영어

독일어

-

^loc=E^English^loc=UKE^UK-English^loc=D^German^loc=DAT^오스트리아

en, en_us

en_uk

de, de_de

de_at

기타

영어

영국-영어

독일어

오스트리아

-

^loc=en^English^loc=USE^US-English^loc=D^German^loc=DDE^Deutsch

이 예제에서 locId DDE가 속성::LocaleStrMap 에 없으므로 이 locId 와 연결된 하위 문자열은 반환되지 않습니다.

en, en_uk

en_us

de, de_at, de_de

기타

영어

미국-영어

독일어

-

이 페이지에서는