Разработка модуля на примере создания блока

Прислано: i_byte

вс, 28/02/2010 - 17:53

Судя по форуму, количество людей работающих с Drupal не так уж и мало, а количество и объем русскоязычных статей о разработке модулей под Drupal оставляют желать лучшего. Поэтому решил один раз сесть, разобраться, написать русскоязычную документацию по написанию шаблона для модуля типа блок, дабы каждый раз не вгрызаться в дебри англоязычного текста.
Приведенный ниже материал является вольной интерпретацией документации с drupal.org. Попытался не обойти стороной и локализацию модуля. Подразумевается, что используется переведенный на русский "движок" Drupal. В конце теории будет приведен код простого модуля для отображения самых активных пользователей сайта на основе подсчета количества оставленных комментариев.
Любые конструктивные замечания и советы приветствуются.
Итак

Разработка модулей для Drupal 6.x на примере блока

В каталоге modules создаем каталог латиницей по имени модуля (без пробелов)
Создаем файл латиницей имямодуля.info
В файле необходимо заполнить как минимум следующие данные

; $Id$
name = Module name
description = A description of what your module does.
core = 6.x

где
; $Id$ - тег для подстановки системой контроля версий (CVS) номера версии, даты создания и автора данного файла; используется при публикации модуля на drupal.org и контроля версий

name - отображаемое имя модуля

перевод модуля Chatblock (Чатблок)

Прислано: m16

ср, 24/02/2010 - 20:41

Понадобился мне на сайт мини-чат размещённый в блоке. Нашел вот этот Chatblock, версии 6.x-1.x-dev. Перевод, взятый с сайта drupaler.ru, имел переведённые всего лишь 3 строчки. Теперь он перевёдён на 100%.

Установка обычная, скопировать файлы в папку module/chatblock. Для импортирования перевода, в адресной строке введите http:<имя Вашего сайта>/admin/build/translate/import
Справа поля "Файл с переводом:" нажмите кнопку "Обзор". Найдите скопированный с сайта файл chatblock-6.x-1.x-dev-ru.po.
В поле "Импортировать в язык:" должен быть выбран язык "Русский". В разделе "Режим" - поставьте точку где вам кажется, что так будет правильно. (Я например, ставлю точку в опции "Строки из загружаемого файла заменят существующие, новые строки будут добавлены". В этом случае я иду на сознательный риск, заменить уже существующий перевод других модулей, этим переводом.)
После нажатия кнопки "Импорт", Drupal, а точнее модуль Locale импортирует файл перевода.

Возможности модуля Chatblock:
1. Отображается блоком.
2. Обновления через Ajax (не работет если Javascript не включен).
3. Когда Вы администрируете сайт, то можете отключить вывод этого блока (чтобы не мешал).
4. Включение/отключение вывода сообщений в окне чата, о входе/выходе на/с сайта зарегистрированного пользователя.
5. Выбор разрешения для ролей пользователя: Просмотр чата, Разрешить работать в чате, Просмотр журнала чата.
6. Включение поддержки замены СМАЙЛИКА/URL.

Официальная локализация localize.drupal.org

Прислано: Psixo

ср, 03/02/2010 - 16:14

Другие статьи по теме:

Я ОЧЕНЬ удивлен.
Почему на http://localize.drupal.org еще нет русского языка!?

Извлечение перевода из cvs

Прислано: molfar@drupal.org

пт, 08/01/2010 - 21:28

Устанавливаю и обновляю Drupal из cvs репозитория. Но возник вопрос как правильно быть с импортом перевода.
Проблема 1: при исталяции модуля он вроде переводится (пишется что перевод импортирован), но всегда он какой-то неполный. Если потом вручную експортировать его с drupaler.ru и импортировать в систему - то после автоматического "перевода" допереводится еще очень много строк. Вопрос в том как сделать чтобы при инсталяции модуля импортировался самый полный перевод, такой как на drupaler.ru
И проблема 2: Когда скачиваю архив перевода ядра, распаковываю его в папку с Drupal? то в последствии cvs все время сообщает о неизвестных ей файлах переводов. Вопрос в том, как можно извлекать перевод из репозитория cvs?
Если в вопросах есть какие-то нестыковки, прошу не смеяться, а помочь разобраться)

Рашширеная локализация статей

Прислано: Vessel_C

вт, 10/11/2009 - 18:14

Допустим у меня есть одна статья на двух языках (украинский и русский), каждой прописана собственная ссылка (напр. "/airlines"). К каждой протянут локализированый пункт в меню. Можно ли сделать так, чтобы при просмотре мультиязычной ноды (как указанная) при переключении языка на переключателе изменялся и язык ноды?

Невозможно сохранять кириллические страницы

Прислано: alexey098

вс, 04/10/2009 - 18:22

Не могу сохранять страницы на русском (кириллице). Хостер 5 gigs.net (бесплатный), друпал 6.10. при превью - русские символы отображаются. При попытке сохранить страницу русские символы переходят в знаки вопроса "????????". В чем проблема, как решается?

Как заменить строку меню в форме для регистрации на англоязычном сайте?

Прислано: Rossini

вт, 28/07/2009 - 14:20

Если бы надо было сделать translate на русский, тогда понятно, как делать замену строк.
А если сайт англоязычный?

Там проблема в том, что заказчику не нравится формулировка "Create new account", он хочет просто заменить на "Register". Как это сделать?

Перевод интерфейса налету. Модуль Live translation.

Прислано: Dock@drupal.org

ср, 08/07/2009 - 13:36

Когда-то при активной разработке нескольких сайтов на Drupal и перетаскивании туда-сюда переводов у меня возникла идея написать модуль, который бы автоматом проверял наличие перевода того или иного модуля на drupaler.ru и давал возможность в один клик скачать его.
Какого же было мою удивление, когда я нашел уже готовый модуль Live translation. Правда на тот момент модуль был не совсем рабочий вообще и абсолютно нерабочий с drupaler.ru. На что я пожаловался PVasil, а сам ушел в отпуск.
И вот сейчас я попробовал модуль вновь - и о чудо, он работает. Теперь переводить модули одно удовольствие!
Собственно, настроек практически никаких: сервер прописывается автоматом, но его можно поменять на страничке admin/settings/live-translation, а посмотреть доступные переводы и скачать нужный, можно на admin/reports/live-translation.

Локализация

Прислано: sigma

сб, 06/06/2009 - 08:55

Не знаю, как реализовать может что посоветуете ?
Есть сайт на двух языках русский и английский. Перевод выполнен с помощью модуля i18. Переключение языков с помощью ст. блока "Переключатель языка". Дефолтный язык русский.

Есть страница (node/10) на русском с url=www.example.org/ru/test, однако перевода на анг пока еще нет в Переключателе языка мы видим следующие ссылки:

Русский=www.example.org/ru/test
Eglish=www.example.org/en/node/10

тут - en/node/10 не что иное как ссылка на русскоязычную страницу при щелчке на которую мы ее и видим.

Собственно теперь вопрос:

Как сделать чтобы для страниц для которых нет перевода на английский переключатель языка выглядел следующим образом:
Русский=www.example.org/ru/test
Eglish=www.example.org/en

Локализация меню: порядок действий

Прислано: andriy.olischuk

чт, 28/05/2009 - 09:32

Другие статьи по теме:

Я совершил небольшую ошибку - сначала создал меню на основе словаря и только потом установил и настроил i18n. Словарь настроил как Localize terms. Terms are common for all languages, but their name and description may be localized. В итоге при попытке перевести пункты меню - процедура перевода проходила, но меню на перевод не реагировало (хотя в настройках стояло "Все языки" в списке языков меню).
Проблема решилась пересохранением пунктов меню - т.е. нужно зайти в правку каждого пункта и нажать "Сохранить". Тогда настройка "Все языки" действительно вступит в силу и меню будет выводится на нужном языке.

RSS-материал

Новое на сайте