И всё-таки, я ничего не понял.

MDC предлагает такой способ локализации описания расширений:

Выделить код

Код:

defaults/preferences/defaults.js:
----
pref("extensions.{GUID}.description", "chrome://extName/locale/extName.properties");
----

chrome/extName.jar!/locale/ru-RU/extName/entName.properties [unicode]
----
extensions.{GUID}.description=Extension's Description
----

Он не работает.

Итальянец MatrixIsAllOver предлагает делать вот так:

Выделить код

Код:

//~ 0.5.3/../locale/ru-RU/imglikeopera.properties
initialDescription=Управление загрузкой графики, настройка работы графического кеша.

//~ 0.5.3/../content/imglikeopera.js
//~ localizing initial description here :o)
//~ "Goofy-method", thanks Luana aka MatrixIsAllOver (extenzilla.it)

ILO_BUNDLE = document.getElementById("imglikeopera-string-bundle");

var iloDescription = Components.classes["@mozilla.org/supports-string;1"]
                               .createInstance(Components.interfaces.nsISupportsString);

iloDescription.data = ILO_BUNDLE.getString("initialDescription");

Components.classes["@mozilla.org/preferences-service;1"]
          .getService(Components.interfaces.nsIPrefService)
          .getBranch("extensions.{b1d008f4-5fcd-4a34-8506-b3143b6caf94}.")
          .setComplexValue("description",
           Components.interfaces.nsISupportsString, iloDescription);

Причем, в ImgLikeOpera это действительно работает, но в последней версии этот код находится внутри Components и использует не document.getElementById, а обращение к самому файлу через Components.classes

У меня такой способ без Components не работает, с Components не пробовал, ибо это всё бесцельная трата времени.

Существует ли документ для криворукого имбецила в стиле "Steps 1-2-3", где объяснили бы: как перевести это чёртово описание расширения для Firefox? и почему у одних работает первый способ, а у других - вообще никакого?

В superDragAndGo работает так (сам добавлял:) вроде практически не отличается от твоего; на форуме валяется ссылка на расширение, можешь скачать, проверить, что я не вру :)):
<ext folder>:
defaults\preferences\superdrag.js:
pref("extensions.{GUID}.description", "chrome://superdrag/locale/superdrag.properties");
chrome\locale\en-US\superdrag.properties
extensions.{GUID}.description = ля-ля-ля...
Описание, ессно, в UTF-8.
Может у тебя неправильно путь прописан немного? :confused:

Не! Всё оказалось в сто раз проще, но в я в ярости.
После 6 часов пляски с бубном установлено:

Не один из способов не работает, бросает ошибки и всячески издевается над бедным разработчиком, если...
строчка extensions.{GUID}.description является 1-ой в файле.

Мало того, ни одно из определений из самой-самой первой строчки не может быть прочитано. Лечится добавлением в начало пустой строки или комментария.
Наверное, тут стоит задать вопрос, а у всех ли такой хитрый баг обработки properties есть?

bassmandion
У меня нормально все, одна единственная строчка в файле... Что в js, что в properties.

Добавлено Втр 28 Ноя 2006 23:35:33 :
Залей расширение, посмотрим, может найдем че-нить другое?

bassmandion
Есть же документация по локализации описания расширения. Или Вы по ней и делали всё (я немного не понял из того, что написано выше)?:)
P.S.

Итальянец MatrixIsAllOver

Итальянка:)

Merlyel
Updated: А ещё лучше ссылку на релиз

Quicksilver tears
Читал и доводил напильником до стандартного вида, ещё с сентября. Даже представить не могу, где могут быть различия между расширением нормально поддерживающим properties и ненормально.

bassmandion
Скачал, удалил перенос строки, запаковал - работает...
ЗЫ. Расширение лучше упаковывать так: jar в chrome не сжимать, т.е. степень сжатия - store. А вот xpi потом уже упаковывать. Это позволяет повысить конечную степень сжатия xpi-файла :)

Merlyel
У меня тоже работает... А почему-ж не работало?
Ладно, аозже попробую повторить техпроцесс запаковки с этими файлами, посмотрим, что выйдет.