Полезная информация

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.
 

Как переводить расширения

Из чего состоит расширение

В наших рассуждениях мы будем работать в Windows и использовать Total Commander. В Total Commander перейдите на установочный файл расширения (расширение XPI) и нажмите клавиши CTRL+PgDn. Как видно установочный файл расширения XPI — это простой ZIP-архив. Он, как правило, содержит следующие файлы: chrome.manifest, install.rdf, install.js и файл с расширением jar (который обычно находится в подкаталоге chrome). Рассмотрим эти файлы поподробнее:

chrome.manifest — служебный файл для установки расширения, используемый в Firefox 1.4, 1.5.

install.rdf — служебный файл для установки расширения, используемый в Firefox 0.9 и выше, Thunderbird 0.7 и выше.

install.js — служебный файл для установки расширения, используемый в Mozilla Suite, Firefox 0.8 и ниже, Thunderbird 0.6 и ниже.

файл с расширением jar — файл содержащий собственно само расширение.

Перейдите на файл с расширением jar и войдите в него нажав клавиши CTRL+PgDn (потому что этот файл тоже простой ZIP-архив). В нем мы можете увидеть от одного до трех из следующих каталогов: content, locale и skin. Если в нем окажется каталог locale — это значит расширение легко поддается локализации.

Чем переводить

Хотя расширения можно переводить, используя простой текстовый редактор, лучше это делать, используя специализированную программу — Mozilla Translator. Mozilla Translator написан на Java, поэтому для работы вам понадобится Sun Java Virtual Machine.

Перевод расширения

  1. Извлеките из установочного файла в формате xpi файл с расширением jar.
  2. Удалите из него все переводы, кроме английского (если вы собираетесь переводить с английского). Для этого зайдите в jar файл и удалите все каталоги в подкаталоге locale кроме en-US.
  3. Запустите Mozilla Translator. Если у вас корректно установлена Java Virtual Machine, то он должен запуститься, иначе запустите его командой типа java -jar “C:\Program Files\Mozilla Translator\mt504.jar”. Должно появится окно:
  4. В Mozilla Translator перейдите в меню File — Manage Products. В открывшемся окне нажмите кнопку Add. Перед вами появится окно:
    • В поле «Name» наберите название расширения. В поле «Jar File» при помощи кнопки Choose выберите файл с расширением jar который вы сохранили вначале.
    • Нажмите OK, а потом Exit в окне Manage products.
  5. Перейдите в меню File и выберите пункт Update product.
    • Выберите название расширения, которое вы набрали в пункте 4 и нажмите Ok. Перед вами появится окно:
    • Оставьте те столбцы которые вы видите на картинке (выбирая их мышью и удерживая при этом клавишу CTRL). В поле Locale наберите код языка на который вы собираетесь переводить расширение (для русского — ru-RU). Нажмите OK. Перед вами появится следующее окно:
  6. Начните переводить расширение:
    • Для этого переместите курсор в поле Text:Translated и нажмите F2 или щелкните по нему мышью. Наберите перевод и нажмите Enter.
    • Если вы хотите только отредактировать исходное выражение, переместите курсор в поле Text:Translated и нажмите ALT+E. Перед вами появится окно:
    • Нажмите Copy, чтобы скопировать содержимое поля Original в поле Translated. Подредактируйте текст и нажмите кнопку Close чтобы сохранить изменения.
  7. Закончив перевод, перейдите в меню «Export → Jar file». Появится окно:
    • В него введите:
    • В поле «Locale» — код языка (для русского — ru-RU)
    • В поле «File» — имя файла, в который вы хотите сохранить перевод.
    • В поле «Export» — выберите название расширения которое вы ввели с суффиксом Neutral.
    • Нажмите «OK» для экспорта файла с переводом.
  8. Выйдите из Mozilla Translator. При выходе он попросит сохранить глоссарий и настройки. Сохраните их.

Упаковка перевода расширения в само расширение

  1. Получив файл с переводом, нужно решить что с ним делать. Лучше всего послать его автору расширения, чтобы он включил перевод в расширение. Или сделать русифицированное расширение самому. Для этого:
  2. Откройте полученный jar файл с переводом с помощью Total Commander. Вы увидите в нем структуру каталогов типа locale\ru-RU\flashgot (пример для расширения Flashgot).
  3. Откройте исходный jar файл извлеченный из установочного xpi файла с помощью Total Commander. Вы увидите в нем структуру каталогов типа locale\en-US\flashgot (пример для расширения Flashgot).
  4. Запакуйте переведенный файл в исходный jar файл. При этом должно получится структура такого типа — каталог locale, в нем 2 подкаталога — en-US и ru-RU.
  5. Запакуйте полученный jar файл с русской и английской локалями в xpi файл, из которого мы его извлекли.
  6. Теперь надо исправить служебный файл для установки расширения:
    • Откройте файл chrome.manifest с помощью простого текстового редактора и вы увидите в нем код типа:
locale reloadevery en-US jar:chrome/reloadevery.jar!/locale/en-US/

Добавьте сюда аналогичную строку:

locale reloadevery ru-RU jar:chrome/reloadevery.jar!/locale/ru-RU/
  • Откройте файл install.rdf с помощью простого текстового редактора и найдите в нем код типа:
<em:file>
  <Description about="urn:mozilla:extension:file:flahgot.jar">
    <em:locale>locale/en-US/flashgot/</em:locale>
  </Description>
</em:file>

Добавьте в эту секцию строку locale/ru-RU/flashgot/, чтобы получился следующий код:

 
<em:file>
  <Description about="urn:mozilla:extension:file:flahgot.jar">
     <em:locale>locale/en-US/flashgot/</em:locale>
     <em:locale>locale/ru-RU/flashgot/</em:locale>
  </Description>
</em:file> 
  • Для файла install.js не определен стандартный способ добавления локализаций, для каждого расширения он свой. Посмотрите этот файл, чтобы определить как в нем добавляются локализации. Это может быть например такой код:
registerChrome(iContentFlag, getFolder(oFolder, gJar), "content/" + gAppName + "/");
registerChrome(iLocaleFlag, getFolder(oFolder, gJar), 'locale/en-US/' + gAppName +'/' );

В этом случае добавьте строку, чтобы получился следующий код:

registerChrome(iContentFlag, getFolder(oFolder, gJar), "content/" + gAppName + "/");   
registerChrome(iLocaleFlag, getFolder(oFolder, gJar), 'locale/en-US/' + gAppName +'/' );
registerChrome(iLocaleFlag, getFolder(oFolder, gJar), 'locale/ru-RU/' + gAppName +'/' );
  1. Запакуйте файлы chrome.manifest, install.rdf и install.js в xpi файл, из которого мы их извлекли.
  2. Проверьте корректность процедуры перевода установкой полученного расширения.

Что делать при выходе новой версии расширения

  1. Извлеките новый jar файл из xpi файла расширения.
  2. Удалите из него все переводы кроме английского. Для этого зайдите в jar файл и удалите все каталоги в подкаталоге locale, кроме en-US.
  3. Запустите Mozilla Translator.
  4. В Mozilla Translator перейдите в меню File — Manage Products. В открывшемся окне выберите расширение, перевод которого вы хотите обновить и нажмите кнопку Edit. В поле «Jar File» при помощи кнопки Choose выберите файл с расширением jar. Нажмите OK, а потом Exit в окне Manage products.
  5. Перейдите в меню File — Update product. Выберите название расширения, которое вы набрали в пункте 4 и нажмите Ok. Перед вами появится окно:
    • Оставьте те столбцы, которые вы видите на картинке (выбирая их мышью и удерживая при этом клавишу CTRL).
    • В поле Locale наберите код языка на который вы собираетесь переводить расширение (для русского — ru-RU).
    • Нажмите OK.
  6. Перед вами появится окно в котором будут отображены только те строки, которые были добавлены или изменены в новой версии расширения.
  7. Далее проследуйте процедуре описанной в главе «Перевод расширения».
 
  extensions/translate.txt · Последние изменения: 2005/12/09 03:56
 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]