В Drupal6 грядут большие изменения в локализации. Этим активно занимается венгр Gábor Hojtsy. Вот сегодня он опубликовал проект модуля XLIFF Tools (http://drupal.org/project/xliff). Требуется php5.
Этот модуль позволяет конвертировать заголовок и текст материала в специальный XML-формат XLIFF (OASIS XML Localisation Interchange File Format) и обратно.
Формат этот предназначен для удобства передачи (аутсорсинга) текстов сайта переводчикам, занесения переводов обратно на сайт, а также для переводческих программ со всякими возможностями автоперевода, сохранения баз переведенных строк и т.п. удобствами. Чем не устраивает используемый сейчас po-формат мне пока не вполне понятно - наверное, просто идет процесс всеобщей XML-изации ("машиночитаемость", семантическая разметка и все такое). Радует, что есть конвертеры po<-->xliff.
Комментарии
интересно, что там будет? какие новые возможности...
Наверное .po формат всё-таки излишне примитивен, а на xml можно описать всё, что хочешь... например, как следствие, будут удаляться дублируемые записи, которых скапливается после обновлений большое количество...
B.X пишет: Наверное .po формат всё-таки излишне примитивен, а на xml можно описать всё, что хочешь...
Мне кажется, xml-разметка для переводов вводится по другой причине.
Пример из другой области
Сейчас на Drupal.ru идет голосование за предпочтительную разметку для сообщений на Drupal.ru:
"Фильтр по умолчанию для drupal.ru?" http://www.drupal.ru/node/4738
За HTML-разметку - 65%, за BBCode-разметку - 20%, за вики-разметку - 9%.
HTML-разметка, при всех ее недостатках, имеет явное преимущество перед BBCode-разметкой и тем более вики-разметкой. HTML-разметка это стандарт. Большинство ее знает просто потому что это стандарт. Как у всякого стандарта, у HTML-разметки есть много сторонних программ, которые позволяют ее создавать.
А BBCode-разметку многим придется учить с нуля. И создавать руками.
XML vs .po
Продолжая аналогию, скажу, что формат XML - это общепринятый стандарт. А .po-разметка - тоже стандарт, но маленький.
Людей достает учить множество мелких стандартов, которые прекрасно и выглядят в своей нише, но за пределами своей ниши они не применимы. Эффективнее использовать как можно более общий стандарт, который можно применять сразу во многих нишах. В этом причина перехода в переводах от .po-разметки к XML-разметке.
Макс Кириленко
Razgonka.ru - Подбор названий сайтов и программ
Дневник
А как формат хранения данных влияет на функционал? Думаю, что из-за смены формата с po на xml дублирующиеся записи врядли начнут удаляться сами по себе, да и xml не более продвинут чем po
======================================================
[url=http://wiki.drupal.ru]Документация[/url],[url=http://wiki.drupal.ru/doc/poleznye_ssylki_dlya_dizainerov]Дизайн[/url],[url=http://wiki.drupal.ru/doc/gotovye_perevody]Переводы[/url]
ну, очень просто влияют... если формат позволяет больше возможностей, то этими возможностями можно будет воспользоваться... а в .po кроме комментариев больше ничего нет... xml же позволяет и шаблоны для сайтов делать, так что не надо нам тут рассказывать про ограниченность xml...
Почитайте основы XML. У него есть довольно строгое и хорошее описание в спецификации.
Ребята, давайте не будем путать формат разметки и функционал...
Для po можно добавить сколько угодно дополнительный параметров(ни кто не ограничивает), и он легко по этому показателю может задвинуть XML, который довольно ограничен в рамках своей спецификации. XML это не язык программирования(XSLT, кстати тоже), а язык разметки. И от того что куча строк лежит в TXT или DOC ничего в них не измениться кроме объёма файла.
XML не позволяет делать шаблоны, а позволяет гранить данные шаблонов, которые обрабатывает внешнее приложение.
Кстати, XML довольно избыточен, что сильно скажется на размере конечного файла с переводами.
======================================================
[url=http://wiki.drupal.ru]Документация[/url],[url=http://wiki.drupal.ru/doc/poleznye_ssylki_dlya_dizainerov]Дизайн[/url],[url=http://wiki.drupal.ru/doc/gotovye_perevody]Переводы[/url]
Очень рекомендую, если наедете: Валиков А.Н. "Технология XSLT" ISBN-5-94157-129-1
======================================================
[url=http://wiki.drupal.ru]Документация[/url],[url=http://wiki.drupal.ru/doc/poleznye_ssylki_dlya_dizainerov]Дизайн[/url],[url=http://wiki.drupal.ru/doc/gotovye_perevody]Переводы[/url]
Да, XML - это язык разметки... мы это знаем... что можно разметить в .po файлах, если там только комментарии и собственно текст? да ничего там нельзя сделать... PO - это хороший вариант, если просто нужны переводы...
Если же нужно, много параметров (например, версия, старый перевод, новый перевод, замена перевода), то XML - это лучший вариант... там можно и описать всё как тебе надо и всё остальное сделать...
а насчёт избыточности... так по сравнению с текстовыми файлами избыточно всё... давайте создавать всё в текстовых файлах, а? лично мне некритично, если будет перевод весить не 20kb а 200...
В.Х., ты не прав. Формат "po" позволяет добавлять дополнительные теги, поэтому ничем не хуже XML (в этом плане).
А формат XLIFF никто не смотрел? У меня пока руки не доходят.
"В.Х., ты не прав. Формат "po" позволяет добавлять дополнительные теги, поэтому ничем не хуже XML (в этом плане)."
добавить-то то может и можно... но я не это имел ввиду... XML больше предоставляет возможностей по обработке, он более расширяем и тд...
2 B.X : Опять мифы. Сорри я не придираюсь, но XML не расширяется.
Он самодостаточен и полная его спецификация довольно небольшая. Ничего добавить в XML от себя кроме неё нельзя. XML документ может быть только валидным(корректным) или нет - это основы.
Я привёл ссылку на лучшую(на мой взгляд) книгу, думаю найдите её и избавитесь от многих заблуждений, касаемо XML и XSLT.
Введение [url=http://www-128.ibm.com/developerworks/xml/library/x-localis2/?ca=dnt-543] от IBM [/url] (для любителей English) или [url=http://xmlhack.ru/texts/04/translation.memory/xmltm.html] неплохая статья [/url] на Русском для въезжания в тему.
Видать придётся опять XSLT вспоминать
Чувствую, быстрее 6 версия выйдет, чем axel наладит софт для коллективных переводов
======================================================
[url=http://wiki.drupal.ru]Документация[/url],[url=http://wiki.drupal.ru/doc/poleznye_ssylki_dlya_dizainerov]Дизайн[/url],[url=http://wiki.drupal.ru/doc/gotovye_perevody]Переводы[/url]
хех... да не нужны нам мифы, главное XML позволяет это: "гранить данные шаблонов, которые обрабатывает внешнее приложение." - больше от него и не требуется ничего...
сегодня общался со своим комунити(латвия, грузия, израиль) в чате на эту тему... пришли к тому, что даже локализация навигации им не нужна, если не будет локализованного контента, а такого количества альтруистов-переводчиков не найти... так что тема - "неблагодатная"
C переводом контента видно только два варианта: либо услуги платных переводчиков, либо добровольная работа "альтруистов". В обоих случаях необходима возможность "вытаскивать" исходный текст для перевода в стандартный формат (и наоборот).
Или вы предлагаете вообще отказаться от перевода? Думаю, что нет.
Начет альтруизма: в доинтернетовскую эпоху трудно было даже предположить, что найдется столько желающих искать информацию, перерабатывать и выкладывать бесплатно результаты своего труда. Просто надо искать новые способы мотивации.
Вот пресловутый web2.0 - "это про это", а не только крупные яркие буквы в дизайне и надпись "Бета-версия".
В частности уже есть гибридные формы работы "за деньги" и "почета ради" - всякие donation, "копилки смс", оплата членами сообщества работы по факту (через электронные платежные системы) и т.п.
да, Макс... я именно это и хотел сказать... не смог правильно подобрать слова...
но сейчас тебе скажут, что .po - это тоже стандарт и open source использует .po и чем он хуже? в том-то и дело, что ни чем, но о нём действительно меньше знают, чем об xml...
даже я, до Друпала, о нём не слыхал... а вот XML - мне был известен... и с ним действительно больше программ и технологий работает... это как CVS для распределённой работы (хотя существует много альтернатив, но везде CVS)...
Наткнулся на Drupal PO File WEB generator - http://www.fagioli.biz/?q=drupal-po-file-web-generator
Это веб-интерфейс, аналогичный extractor.php. Заливаем в окошко текст модуля, выпадающими меню указываем различные переменные (страна, язык и т.п.) и генерируется текст po-файла.
Есть также bash-скрипт с аналогичными функциями - http://www.fagioli.biz/?q=drupal-po-file-generator
Предупреждают, что все только в разработке.