При переводе расширений столкнулся с такой проблемой!
Пытаясь сделать полный перевод расширения и редактируя файлы содержащие alert'ы не зависимо от выбранной кодировки в результате отображается нечитаемый текст (при использовании кириллицы). Введенное латиницей отображается правильно. Что нужно изменить, чтобы alert's содержащие русский текст отображались правильно? (еще раз напомню, что изменение кодировок не помогает).
Спасибо!
Через сомнения приходим к истине. Цицерон
Отсутствует
В Unicode, причем не текстом, а представляя каждый символ его кодом, примерно вот так:
\u0422\u0435\u043a\u0441\u0442
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
А более простого метода нет типа автоматичекого перевода в код, для последующей вставки?
Через сомнения приходим к истине. Цицерон
Отсутствует
Ну, если мне когда-нибудь это понадобится, я воспользуюсь конвертором в PSPad'е. А может, и лучшее решение есть.
ФФ с ТБ, надо думать, не вручную ведь переводились.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
И еще при установке Unicode в расширении, например Copy Plain Text, alert's вообще перестает отображаться, а в других кодировках, символы отображаются как код, а не как текст.
Через сомнения приходим к истине. Цицерон
Отсутствует
При возможности лучше идти другим путём.
___.xul: <stringbundleset id="stringbundleset"> <stringbundle id="extension-string-bundle" src="chrome://extension/locale/extension.properties"/> </stringbundleset> extension.properties: testAlert=Привет! testConfirm=Вы уверены? ___.js: var MY_BUNDLE = document.getElementById("extension-string-bundle"); ...... alert(MY_BUNDLE.getString("testAlert")); confirm(MY_BUNDLE.getString("testConfirm"));
Отредактировано Mash (02-05-2005 17:20:49)
Отсутствует
И еще при установке Unicode в расширении, например Copy Plain Text, alert's вообще перестает отображаться
Copy_Plain_Text_0.3
алерты:
файл copyplaintext.js
alert("\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430\n"+ err)
файл options.js (в порядке появления)
alert("\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.\n"+ e);
alert("\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.\n"+ e);
alert("\u0411\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u043d\u043e\u0432\u044b\u0445 \u043e\u043a\u043d\u0430\u0445!");
Отредактировано Anton (02-05-2005 17:35:40)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
У меня такой вариант прекрасно работает:
var myString=”Это тестовая строка”; var utf = Components.classes["@mozilla.org/intl/utf8converterservice;1"].createInstance(Components.interfaces.nsIUTF8ConverterService); var utfMyString = utf.convertStringToUTF8(myString,"windows-1251","false"); alert(utfMyString);
Бди!
Отсутствует
Нет Yan, вы ошибаетесь, самый простой способ - мой Выделил, и применил конвертор. Все.
Разумеется, применительно только к переводчикам расширений.
Способ alc'а (имхо) удобен для отладки. А если исключить первую строку (а в нужных случаях - последнюю) - так и совсем становится весьма полезным.
Способ, приведенный Mash'ем, вообще обязателен для всякого, уважающего себя разработчика расширений. (Некоторые буржуйские девелоперы, видимо, себя не уважают )
Отредактировано Anton (04-05-2005 14:17:47)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Ну, когда я писал, что самый простой, я имел в виду и простоту дальнейшей правки перевода. Т.е. если например через некоторое время захочется что-нибудь поменять, то копаться в unicode будет не очень удобно.
Отсутствует
Ну, конвертер работает в обе стороны. Даже если писать в .properties, и оформлять через stringbundle, все равно придется мириться с юникодом, т.к. первый же байт с кодом 04 обозначит конец строки (не в файле, а в строковой переменной).
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Про юникод в .properties само собой.
Я имел в виду что юникод вида
для дальнейшего редактирования не особо нагляден и удобен.
Отсутствует
для дальнейшего редактирования не особо нагляден и удобен.
Есть редакторы для такого кода, я даже ссылку приводил где-то на форуме.
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Столкнулся с переводом расширений, чего-то не получается, раньше как-то работало.
Открываю в Winrar расширение, захожу в jar файл, добавляют туда переведённые файлы, но расширение не ставится, и еще в какой кодировке нужно переводить, я тут смотрел что расширения переведены в Dos 866, я пробовал и в Dos 866 и в UTF-8 закидывать их в Jar файл, использую AkelPad, но ничего не работает всеравно, может Winrar глючит или кодировка?
Отредактировано lcraFTl (04-06-2005 15:48:41)
Отсутствует
расширение не ставится
может, в rar-овский формат перепаковывается ?
Желательно подробней.
Отредактировано Anton (04-06-2005 21:07:00)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
может, в rar-овский формат перепаковывается ?
Я тоже так думаю, если бы дело было в кодировке, то даже кракозяблы показывались, я пробовал также в 7zip, в Total Commander, но такой же глюк, они все пакуют в ZIP, так где взять нормальный JAR архиватор. Надо попробовать Power Arhiver, пишут что он поддерживает JAR - JavaARchiver.
Отсутствует
1) никаких DOS и попробуй другой редактор, м.б. этот шалит;
2) если не поможет, то лучше было бы выложить куда-нибудь на всеобщее обозрение переведённые (изменённые в процессе перевода) файлы и ссылку на само расширение. А то гадать тут,...
Отсутствует
Я кажется понял, глючит только из-за одного файла ieview.dtd, тут теперь только в кодировке дело http://forum.mozilla.ru/uploaded/ieview … t_work.xpi
Отсутствует
Вот готово http://forum.mozilla.ru/uploaded/ieview … u_test.xpi, кто хочет протестируйте, отправляю разработчику.
У меня работает только если переводить через Mozilla Translator, как же обойтись без него? Какой редактор использовать вместо AkelPad?
Отредактировано lcraFTl (05-06-2005 01:07:12)
Отсутствует
Отсутствует