Gecko 1.9의 지역화
Gecko 1.9는 부가 기능 설명과 기타 메타데이터를 지역화하는 새롭고 더욱 견고한 방법을 포함합니다. 모든 다양한 설명은 이제 em:localized
속성을 사용하여 install.rdf 파일에 나타납니다. 각각은 정보가 사용되는 로케일을 표시하는 적어도 하나 이상의 em:locale
속성을 포함하고 나서 로케일에 대한 다양한 문자열을 포함합니다. 다음 예제는 이를 잘 보여줍니다(명료하게 하려고 대부분의 일반적인 선언 속성은 삭제했습니다).
<?xml version="1.0"?> <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <em:id>[email protected]</em:id> <em:localized> <Description> <em:locale>de-DE</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Zeigt in einer Sidebar Vorschaubilder der Inhalte aller offenen Tabs an.</em:description> </Description> </em:localized> <em:localized> <Description> <em:locale>es-ES</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Muestra una vista previa de sus pestañas en su panel lateral.</em:description> </Description> </em:localized> <em:localized> <Description> <em:locale>nl-NL</em:locale> <em:name>Tab Sidebar</em:name> <em:description>Laat voorbeeldweergaven van uw tabbladen in de zijbalk zien.</em:description> </Description> </em:localized> <em:name>Tab Sidebar</em:name> <em:description>Displays previews of your tabs in your sidebar.</em:description> </Description> </RDF>
아래에 언급한 모든 메타데이터는 이러한 방식으로 지역화합니다. em:localized
속성이 제공하는 지역화 정보는 아래에 자세히 설명하듯이 지역화 선택 사항을 사용하여 덮어 쓸 수 있습니다.
주어진 로케일에 대해서 사용할 em:localized
속성을 선택하는 과정은 다음과 같습니다.
- 로케일과 정확하게 일치하는
em:locale
을 가진 속성이 있으면 그것을 사용합니다. - 부분적으로 일치하는 것이 있으면 대시로 구분된 가장 일치하는 부분을 가진 것을 사용합니다 (예: es는 es-ES와 일치하고 반대로도 마찬가지).
- 일치하는 부분의 수가 같은 하나 이상의 로케일이 있으면 가장 일반적인 것을 사용합니다 (예: en-US를 찾을 때 en-GB보다 en을 선호).
현재의 애플리케이션 로케일을 검색하고 나서 en-US에 대한 대체(fallback) 검색을 합니다.
선택 사항이 지정되어 있지 않고 현재 로케일이나 en-US에 대해 일치하는 em:localized
속성이 없는 경우에는 최후 방편으로 설치 선언에 직접 지정된 속성을 사용합니다. 이는 Gecko 1.9 이전에 항상 사용되었기 때문입니다.
Gecko 1.9 이전 버전의 지역화
Gecko 1.9 이전 버전에서는 (Firefox나 Thunderbird와 같은) 툴킷 기반의 애플리케이션을 대상으로 하는 부가 기능에 대한 지역화된 부가 기능 설명을 정의하려면 부가 기능 개발자가 특별한 과정을 밟아야 합니다.
- 지역화된 속성 파일이 없으면 만듭니다. 외국어 문자가 제대로 표시될 수 있도록 꼭 UTF-8 인코딩을 사용해야 합니다.
- 각각의 지역화된 속성 파일에 (EXTENSION_ID가 여러분의 확장 아이디(install.rdf의
<em:id>
)와 일치하고 LOCALIZED_DESCRIPTION이 주어진 언어에서 표시할 여러분의 확장에 대한 설명인 곳에) 다음 줄을 추가합니다:extensions.EXTENSION_ID.description=LOCALIZED_DESCRIPTION
- 기본 선택 사항 파일이 없으면 만듭니다.
- 그 파일에 (EXTENSION_ID가 여러분의 install.rdf의 애플리케이션 아이디와 일치하고 PATH_TO_LOCALIZATION_FILE가 앞서 추가한 지역화 파일의 크롬 경로인 곳에) 다음 줄을 추가합니다:
pref("extensions.EXTENSION_ID.description", "PATH_TO_LOCALIZATION_FILE");
지역화 가능 문자열
다음의 부가 기능 메타데이터를 이 과정에 따라 지역화할 수 있습니다.
- name
- description
- creator
- homepageURL
지역화 가능 목록
여러 값이 존재하는 경우에 대비하여 숫자 색인이 선택 사항 이름 뒤에 붙습니다.
extensions.EXTENSION_ID.contributor.1=FIRST_LOCALIZED_CONTRIBUTOR_NAME extensions.EXTENSION_ID.contributor.2=SECOND_LOCALIZED_CONTRIBUTOR_NAME extensions.EXTENSION_ID.contributor.3=THRID_LOCALIZED_CONTRIBUTOR_NAME pref("extensions.EXTENSION_ID.contributor.1", "PATH_TO_LOCALIZATION_FILE"); pref("extensions.EXTENSION_ID.contributor.2", "PATH_TO_LOCALIZATION_FILE"); pref("extensions.EXTENSION_ID.contributor.3", "PATH_TO_LOCALIZATION_FILE");
다음의 부가 기능 메타데이터를 이 과정에 따라 지역화할 수 있습니다.
- developer
- translator
- contributor