Lokalizacja opisu rozszerzenia

Lokalizowanie w Gecko 1.9

Gecko 1.9 wprowadza nowe, bardziej rozbudowane metody lokalizacji opisów dodatków oraz innych meta danych. Teraz wszystkie opisy występują w pliku install.rdf we własności em:localized. Każdy z nich ma co najmniej jedną własność em:locale określającą lokalizację, dla której należy ją użyć oraz strumienie dla danej lokalizacji. Poniższy przykład demonstruje opisaną budowę (dla większej przejrzystości większość własności manifestu zostało usuniętych):

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>TabSidebar@blueprintit.co.uk</em:id>
    <em:localized>
      <Description>
        <em:locale>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</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</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>

W ten sposób można lokalizować wszystkie meta dane wymienione w dalszej części artykułu w sekcji Lokalizowane łańcuchy znaków. Informacje lokalizacyjne, dostarczane przez własność em:localized, można zastąpić zestawem własności lokalizacyjnych omówionych w sekcji Lokalizowanie opisu przed Gecko 1.9.

Proces doboru kodu lokalizacji dla własności em:localized przebiega następująco:

  1. Jeśli we własności em:locale istnieje kod odpowiadający żądanej lokalizacji, należy go użyć.
  2. Jeśli występuje kod nie w pełni odpowiadający lokalizacji, należy użyć część najbardziej odpowiadającą. Części powinny być oddzielone myślnikiem (np. kod pl będzie pasował do pl-PL i odwrotnie).
  3. Jeśli występuje więcej niż jedna lokalizacja z tą samą ilością pasujących części, należy użyć najbardziej ogólną (np. en dla kodu en-GB i en-US).

W trakcie instalacji będzie wyszukiwana lokalizacja właściwa dla obecnie używanych ustawień językowych aplikacji. Jeśli nie zostanie znaleziona, będzie użyta lokalizacja domyślna - en-US.

Jeśli kod jest określony i nie ma pasującej własności em:localized dla obecnie używanych ustawień językowych lub lokalizacji en-US, zostanie użyta, tak jak to było przed wprowadzeniem Gecko 1.9, lokalizacja określona w manifeście instalacyjnym.

Lokalizowanie opisu przed Gecko 1.9

W starszych wersjach Gecko, aby zlokalizować opis dodatku przeznaczonego dla aplikacji opartych na toolkicie (Firefox, Thunderbird, Sunbird), twórcy dodatków muszą zrobić to, stosując specjalną metodę definiowania tego opisu.

 

  • Jeśli w rozszerzeniu nie występuje, należy stworzyć lokalizacyjny plik własności dla każdej lokalizacji. Aby zapewnić prawidłowe wyświetlanie znaków w różnych językach, plik ten musi mieć kodowanie UTF-8 i być zapisany bez BOM (ang. Byte Order Mark - znacznik kolejności bajtów).
  • Do każdego lokalizacyjnego pliku własności dodać poniższy wiersz, gdzie ID_ROZSZERZENIA, to identyfikator rozszerzenia <em:id> określony w pliku install.rdf, a ZLOKALIZOWANY_OPIS, to opis rozszerzenia, jaki chce mu się nadać w danym języku.
    extensions.ID_ROZSZERZENIA.description=ZLOKALIZOWANY_OPIS
  • Jeśli w rozszerzeniu nie występuje, należy stworzyć domyślny plik własności.
  • Dodać do niego poniższy wiersz (gdzie ID_ROZSZERZENIA to identyfikator rozszerzenia <em:id> pochodzący z pliku install.rdf, a ŚCIEŻKA_DO_PLIKU_LOKALIZACYJNEGO jest ścieżką dostępu do pliku lokalizacyjnego utworzonego w pierwszym kroku):
    pref("extensions.ID_ROZSZERZENIA.description", "ŚCIEŻKA_DO_PLIKU_LOKALIZACYJNEGO");

Lokalizowane łańcuchy znaków

Stosując powyższą metodę można lokalizować następujące meta dane dodatku:

  • name (nazwa)
  • description (opis)
  • creator (autor)
  • homepageURL (nazwa - adres URL strony domowej)

Lokalizowane listy

W przypadku, gdy istnieje kilka takich samych wartości, indeks numeryczny przypisany do końcowej nazwy preferencji stanowi o kolejności ich wyświetlania:

extensions.ID_ROZSZERZENIA.contributor.1=PIERWSZA_ZLOKALIZOWANA_NAZWA
extensions.ID_ROZSZERZENIA.contributor.2=DRUGA_ZLOKALIZOWANA_NAZWA
extensions.ID_ROZSZERZENIA.contributor.3=TRZECIA_ZLOKALIZOWANA_NAZWA

pref("extensions.ID_ROZSZERZENIA.contributor.1", "ŚCIEŻKA_DO_PLIKU_LOKALIZACYJNEGO");
pref("extensions.ID_ROZSZERZENIA.contributor.2", "ŚCIEŻKA_DO_PLIKU_LOKALIZACYJNEGO");
pref("extensions.ID_ROZSZERZENIA.contributor.3", "ŚCIEŻKA_DO_PLIKU_LOKALIZACYJNEGO");

Tym sposobem można zlokalizować następujące elementy:

  • developer (nazwisko programisty)
  • translator (nazwisko tłumacza)
  • contributor (nazwisko współtwórcy)

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Teo951, Teo, Mgjbot, Witia, Bedi, Verruckt, Ptak82
 Ostatnia aktualizacja: teoli,