SeLarin
ОК! Сами напросились... smile))
Ну а ты на плюсик напросился!
Круто. работает. парсит и манифест, и инсталл.рдф! Сильно не проверял, но пока что без ошибок пашет.
Сортировку по алфавиту неплохо бы приделать... И придумать бы какой-нибудь механизм, чтобы переводить эти en-US в Английский. Хотя бы для основных языков (кодов).
Даже не повторяет, если прописаны локали и в манифесте и в рдф. класс...
зы. У тебя в страничке ошибок много, не по стандартам W3C. Ничего страшного, просто всё же стандарты... Хочешь, переделаю?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Могу приделать сортировку (это достаточно просто), а вот на переводом надо думать, причем долго... Коль скоро расширение делается мультиязычным, то надо делать так, чтобы названия языков тоже были мультиязычными...
А не повторяется он потому что парситься только один файл из двух на наличие локалей... Если есть chrome.manifest, то локали в install.rdf даже не ищутся.
P.S. Подумаешь 101 предупреждение... На самом деле эти странички я экспортирую из WikidPad, так что это будет до тех пор пока сам не сделаю все руками... А пока вносить изменения гораздо проще именно в WikidPad, так что с ошибками придется мириться. )
Отредактировано SeLarin (03-07-2006 19:08:42)
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
Могу приделать сортировку (это достаточно просто), а вот на переводом надо думать, причем долго...
Тогда добавишь поле {localecodessort}? заранее спасибо.
Коль скоро расширение делается мультиязычным, то надо делать так, чтобы названия языков тоже были мультиязычными...
А если добавить в файл перевода строки типа
ru-RU=Русский
en-US=Английский
...
и ещё приделать поле {localenames}, которое будет брать из этого файла перевод? имхо, это не сложно.
Список кодов локалей получить тоже не сложно. Перевести, что получится, а остальное добавлять позже и оставлять на переводчиков. Хотят - переводят, не хотят - тогда просто и переводиться не будет.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
1. Сразу сортированными будет выводить по {locales}
2. Здравая идея, но если учесть, что возможных локалей около 200 и что для красоты надо хотя бы на английском их всех забить... Это просто атас! Хотя можно и не забивать все... Сделать те, которые у меня встречаются... А там пусть уж сами как-нибудь добавляют... Так в принципе тоже можно...
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
1. Сразу сортированными будет выводить по {locales}
может всё-таки сделать раздельные поля, а? мало ли, понадобится, чтоб выводил, как есть они в списке...
2. Здравая идея, но если учесть, что возможных локалей около 200 и что для красоты надо хотя бы на английском их всех забить... Это просто атас! Хотя можно и не забивать все... Сделать те, которые у меня встречаются... А там пусть уж сами как-нибудь добавляют... Так в принципе тоже можно...
Могу сделать список из всех кодов. на Английском, потом перевести на русский тоже могу.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
1. Определенный порядок локалей не имеет особого смысла, на мой взгляд. Так что два отдельных поля под одно и тоже (а по сути там будет одно и то же) будут излишком.
2. Если тебе не сложно, то сделай. Буду очень благодарен!
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
Слушай, а зачем все указывать? Есть сайт Babelzilla - типа, стандарт переводов. Зачем мудрить? Там, имхо, все возможные локали указаны, им лучше знать. Вот по их списку и сделал список. 60 кодов.
Из-за проблем с доменом выкачивать не стал файлом, постю сюда
af-ZA=Afrikaans sq-AL=Albanian ar=Arabic ar-SA=Arabic (Saudi Arabia) ast-ES=Asturian az-AZ=Azerbaijani (Azerbaijan) eu-ES=Basque br-FR=Breton bg-BG=Bulgarian ca-AD=Catalan zh-CN=Chinese (Simplified) zh-TW=Chinese (Traditional) hr-HR=Croatian cs-CZ=Czech da-DK=Danish nl-NL=Dutch en-US=English en-GB=English (British) eo-EO=Esperanto et-ET=Estonian (Estonia) fi-FI=Finnish fr-FR=French fy-NL=Frisian gl-ES=Galician ka-GE=Georgian (Georgia) de-DE=German de-CH=German (Switzerland) el-GR=Greek gu-IN=Gujarati he-IL=Hebrew hi-IN=Hindi (India) hu-HU=Hungarian id-ID=Indonesian (Indonesia) ga-IE=Irish it-IT=Italian ja-JP=Japanese ko-KR=Korean lt-LT=Lithuanian mk-MK=Macedonian mt-MT=Maltese mn-MN=Mongolian nb-NO=Norwegian (Bokmal) fa-IR=Persian pl-PL=Polish pt-BR=Portuguese (Brazilian) pt-PT=Portuguese (Portugal) pa-IN=Punjabi ro-RO=Romanian ru-RU=Russian sr-Yu=Serbian (Yugoslavia) sk-SK=Slovak sl-SI=Slovenian es-AR=Spanish (Argentina) es-CL=Spanish (Chile) es-ES=Spanish (Spain) sv-SE=Swedish th-TH=Thai (Thailand) tr-TR=Turkish uk-UA=Ukrainian cy-GB=Welsh
Если надо полный - у меня есть список в таком же формате, но ~560 кодов. Вроде все возможные там. Но это, имхо, лишнее. Вообщем, реши, что надо - я тогда переведу и на русский.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Однако, есть коды локалей из двух букв, так что моё мнение: Взять список, который я уже указал+тот же список, но урезанный до двух символов.
И написать плагин так, чтобы, если есть перевод в соответствующем файле *.lng, то переводит, если нет - то просто выводит код.
И уже после этого проводить proof-reading:lol: по всем расширениям и искать неуказанные локали и добавлять их. Имхо, это наилучшее решение.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Unghost
Круто. спасибо. 192 кода. А нет таких же, но с определением региона?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Unghost
Не. я имел ввиду коды вида en-US
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Не видел.
Вообще бы я думаю что вам нужно внести лишь коды, для которых есть (или будет) хоть какая-то локализация Firefox, Thunderbird и SeaMonkey. Зачем нужны остальные?
Они приведены на
http://wiki.mozilla.org/L10n:Localization_Teams
http://wiki.mozilla.org/SeaMonkey:Localization_Teams
Там есть и их коды.
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Unghost
Ну да, наверное.
SeLarin
В каком формате делать список? нельзя ли как-нибудь сделать, чтобы можно было в файл языка добавлять строки вида
ru, ru-RU=Russian
или что-то вроде этого.
Просто прописывать отдельно муторно.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Я так думаю, что добавлять надо "языки", а им соответствуют именно первые две буквы кода локали, так что список, который предложил Unghost, на мой взгляд, явлется оптимальным решением. А в файле локализации достаточно будет указывать строки типа таких
Отредактировано SeLarin (05-07-2006 00:43:29)
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
Есть расщирения, где сть локали en-US и en-GB. И они разные. Так что надо все коды. нельзя писать так:
ru,ru-RU=Russian
?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Надо придумывать "workaround", т.е. способ обхода проблемы. Я виже такое решение. Ищем сначала по имени локали, как оно представлено в списке. Если нашли, то хорошо, если не нашли, то ищем усеченный вариант. Если нашли, то хорошо, иначе выдаем просто код локали...
У такого метода есть недостаток: необходимо будет дублировать некоторые коды в языковом файле... Но для русского, например, достаточно будет просто писать
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
хм. дублировать? ну и ладно. конечно лучше в одной строке все коды для одной локали.
Тогад всё парево снимается. Есть код (или полный, или краткий, или оба) - перводит, нет - выводит код.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Но если все коды указывать в одной строке сильно затруднится работа программы с ними. Она ведб должна будет "угадать" какие именно коды перечислены в "ключе". А если сделать так, как предложил я, то все упроститься: надо будет перечислить языки, список которых дал Unghost, а потом перечислить локали с одинаковыми языками, но отличающиеся по содержанию (как en-US и en-GB), а их, по-моему, не должно быть очень много.
Welcome to mozilla@conference.jabber.ru
Отсутствует
Описываем в виде:
Russian=ru,ru-RU
И при поиске локали проверяем на вхождение названия локали в список локалей.
Можно еще в памяти генерировать динамическую таблицу поинтеров вида:
ru -> 1
ru-RU -> 1
en -> 2
en-US -> 2
en-GB -> 3
и таблицу стран:
1 -> Russian
2 -> English
3 -> English (Great Britan)
где в первой таблице 1, 2, 3 это номера ячеек в массиве названия стран, а во второй это номера ячеек массива названий стран.
В принципе подобным образом можно это реализовать на винте... Даже в виде двух файлов. Тогда Локализовывать (если вдруг кому приспичит) нужно будет только второй, со странами. Не будет дублей, не будет лишней работы.
Отсутствует
SeLarin
Получил по почте плагин. Ай, молодца, ай, голова! Хватай новый плюсик в коллекцию! Всё работает!
Но пара комментариев всё же есть. Извини, что не по почте - gmail тупит:
* Натолкнулся на локаль en-UK. Надо бы включить. Плагин определил как Английский, а надо Английский (Великобритания)
* Расширение del.icio.us - не определяет локали вообще. Хотя en-US там прописан.
* В одном расширениии была локаль nb-NO. Посмтрел - плагин вывел Норвежский букм/s46d4. То что жирным шрифтом - это я от балды написал, но что-то подобное там было. Потом скрыл окно и посмотрел опять - всё нормально. Наверное глюк маленький "одноразовый" проскочил.
* Рашсирение Lightning: там в манифесте такие строки:
... locale lightning en-US jar:chrome/en-US.jar!/locale/en-US/lightning/ locale lightning ru-RU jar:chrome/ru-RU.jar!/locale/ru-RU/lightning/ ... locale calendar en-US jar:chrome/calendar-en-US.jar!/locale/en-US/calendar/ locale calendar ru-RU jar:chrome/calendar-ru-RU.jar!/locale/ru-RU/calendar/ ...
То есть там chrome на части разделён. И переводы для каждой части отдельно прописываются. А плагин вывел: en-US, ru-RU, en-US, ru-RU. Так что было бы неплохо вставить функцию проверки на повторения. Понимаю, одно расширение, но вдруг в каком-то другом будет добавлена локаль вроде en-RU (примерно говорю). А обычная Английская там тоже прописана (en). Тогда плагин выведет дважды инфу о Английской локали.
И я всё-таки не понял, если даже и не найдётся перевода кода, что плагин делать будет?
Вроде больше не было ошибок, пока проверял на всех файлах (~260). Осталось добавить сортировку по алфавиту.
И ещё: добавь, пожалуйста, поле с именем файла расширения. Не помню, просил я уже или нет. оч. надо.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
Во-первых, спасибо!
* Локали при необходимости можно добавлять самому. Только при это просьба писать мне, что я и у себя их добавлял.
* С del.icio.us разобрался. Все работает.
* С nb-NO наверное просто компьютеру твоему скучно стало.
* Мдя... Так не хотелось делать проверку на повторения... А придётся...
* Если локали нет в файле, то выдастся не название языка, а просто её код (попробуй, например, сотри ru и посмотри что будет).
Welcome to mozilla@conference.jabber.ru
Отсутствует
SeLarin
Во-первых, спасибо!
Всегда пожалуйста!
Вообщем, когда 0.9?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Обновил шаблончики: http://people.mozilla.ru/stoneflash/misc/xpiinfo_tmpl/
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует