ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 154
Скачиваний: 0
Руководство для начинающего пользователя Joomla! 2.5
Глава 20
Многоязычные сайты
Я живу в многоязычной Европе: в Евросоюзе — 23 официальных языка. Если вы собираетесь строить сайты для европейцев, например, то должны задуматься над тем, как делать их многоязычными. Перевод языковых переменных и перевод контента — вот две задачи,
которые вам придется решать, создавая ресурсы для подобных аудиторий. Первая задача обычно решается легко, а вот вторая сопряжена с настоящими трудностями.
Исходная комплектация Joomla! доступна на 40 языках. Скоро эта цифра увеличится.
В этой главе я расскажу, как построить многоязычный сайт на основе исходной комплектации
Joomla 2.5.
Языковые пакеты для Joomla
Языковые пакеты можно загрузить с JoomlaCode или из каталога расширений Joomla! Extension Directory и установить их при помощи менеджера расширений. Подобным образом я добавил в систему немецкий и французский. Список доступных языков можно увидеть на странице
менеджера локализаций: текстовое меню административного раздела → пункт «Расширения» → подпункт «Менеджер языков».
Рис. 1. Установленные языки.
Языковые параметры
Сейчас все еще необходимо изучить языковые параметры, чтобы убедиться, что «языки» активированы (текстовое меню административного раздела → пункт «Расширения» → подпункт
7/14/12- |
241 - |
Руководство для начинающего пользователя Joomla! 2.5
«Менеджер языков» → вкладки «Языковые пакеты сайта» и «Языковые пакеты панели управления») и атрибуты записи языка контента заданы правильно (рис. 2). Взгляните на перечень записей языков контента: текстовое меню административного раздела → пункт
«Расширения» → подпункт «Менеджер языков» → вкладка «Языки контента». Если в нем нет записи для вновь установленного «языка», то создайте ее (пиктограмма «Создать»). Это то, что сделал я после того как установил франкоязычный пакет. В интерфейсе создания/ редактирования записей языков контента можно задать название сайта для каждой его языковой версии.
Рис. 2. Интерфейс создания/редактирования записей языков контента
ПЛАГИН ВЫБОРА ЯЗЫКОВ
Для того, чтобы Joomla могла «различать» языки, необходимо активировать плагин «Фильтр языка»: текстовое меню административного раздела → пункт «Расширения» → подпункт «Менеджер плагинов» → пункт «system» выпадающего списка выбора типа → пиктограмма активации в строке «Фильтр языка». Вы можете выбрать язык, используемый для страниц, открываемых посетителями, будь то основной язык сайта или язык, устанавливаемый в соответствии с настройками браузера, всего лишь задав значение соответствующему параметру
на панели настроек. Еще один параметр — «Автоматическая смена языка». Если ему задано значение «да», то язык контента будет автоматически меняться в соответствии с языком, выбранным для стороны посетителя.
7/14/12- |
242 - |
Руководство для начинающего пользователя Joomla! 2.5
Рис. 3. Панель настройки плагина «Фильтр языка»
Рис. 4. Страница изменения пользовательского профиля, форма «Основные настройки».
7/14/12- |
243 - |
Руководство для начинающего пользователя Joomla! 2.5
Каждый пользователь может выбрать язык сайта, войдя в систему при помощи соответствующей формы на стороне посетителей. В большинстве случаев, доступно меню пользователей, которое в зависимости от полномочий предоставляет им те или иные возможности. В данном меню среди прочих можно найти пункт «Изменить профиль пользователя». Клик по нему откроет страницу с пользовательскими данными, а также ссылкой на их редактирование. На странице редактирования в форме «Основные настройки» можно настроить и язык сайта (рис. 4). Можно выбрать основной язык сайта или один из языков контента. В зависимости от выбранного значения плагин будет выводить ту или иную языковую версию сайта.
МОДУЛЬ ПЕРЕКЛЮЧЕНИЯ ЯЗЫКОВ
Если модуль переключения языков активирован, то как посетители, так и пользователи (зарегистрированные) смогут выбирать язык сайта. На панели основных параметров [на странице настроек в административном разделе] можно задать тексты надписи и подписи, а также выбрать, как будут выводиться ссылки для переключения языков: в виде текста или в виде изображений флагов. Уверен, что в сторонних шаблонах в ближайшее время будут
появляться специализированные модульные позиции для переключателя. В «Beez2», шаблоне по умолчанию, есть позиция «position-7», которая хорошо подходит в случае варианта с флагами.
Рис. 5. Модуль переключения языков.
7/14/12- |
244 - |
Руководство для начинающего пользователя Joomla! 2.5
Очень важно внимательно прочитать описание модуля16. Желательно сделать это дважды.
При переключении языков, если пункт меню данной страницы не привязан к другому пункту меню, модуль перенаправит посетителя на Главную страницу сайта, соответствующую данному языку.
В противном случае, если включен соответствующий параметр в плагине ‘Система - Фильтр языка’, пользователь будет перенаправлен на пункт меню, соответствующий данной странице на выбранном им языке. Соответственно будут перестроены и прочие элементы навигации.
Обратите внимание, что, если плагин ‘Система - Фильтр языка’ снят с публикации, может возникнуть непредвиденная ситуация, которая приведёт к ошибке в системе.
Метод решения проблемы:
1.Перейдите в Менеджер Языков, на закладку Содержимое [прим. перев.: «Языки контента» в текущей версии локализации], и убедитесь, что языки, для которых вы хотите создать на сайте связанные страницы, опубликованы и каждому из них назначен Код Языка для использования в URL. Так же убедитесь, что указан префикс файла изображения, которое будет выводиться в модуле выбора языка.
2.Укажите страницу, которая будет являться Главной для каждого опубликованного языка содержимого.
3.После этого вы можете привязать к языку любой Материал, Категорию, Ленту новостей и прочее содержимое Joomla!
4.Убедитесь, что модуль и плагин опубликованы.
5.При использовании привязки пунктов меню к языку проверяйте, что модуль опубликован на всех привязываемых страницах.
6.Порядок показа полных названий языков или изображений флагов определяется в Менеджере Языков, на странице Содержимое [«Языки контента» в текущей версии локализации].
МНОГОЯЗЫЧНЫЙ КОНТЕНТ
Как я уже упоминал ранее, каждый элемент контента может быть отнесен к тому или иному языку. Теперь основная трудность состоит в создании элементов контента на всех языках оригиналов и переводов (рис. 6). Создавать контент можно на любом языке, но, к сожалению,
16 Прим. перев.: приводится контекстная справка из пакета локализации авторства «Портал
Joomla! по-русски».
7/14/12- |
245 - |
Руководство для начинающего пользователя Joomla! 2.5
в Joomla на данный момент нет средств организации переводческой работы, поэтому работать, во избежание ошибок, придется внимательно.
Рис. 6. Поле выбора языка.
МНОГОЯЗЫЧНЫЙ САЙТ
Мой сайт-образец состоит из следующих разделов и страниц:
•главная страница со статьями,
•блог,
•страница «О нас»,
•страница обратной связи.
Весь контент должен быть доступен на всех языках сайта (рис. 7).
7/14/12- |
246 - |
Руководство для начинающего пользователя Joomla! 2.5
Рис. 7. Сайт-образец.
Главная страница
Прим. перев.: в помощь тем, кто понимает английский, — созданный автором скринкаст. Он иллюстрирует процесс создания многоязычного сайта на основе Joomla 1.7, однако применим и к версии 2.5.
На каждом из языков я создаю несколько статей с атрибутом «Избранные» (подробности в главе «Типичная статья»).
Я создаю меню с названием «default», а в нем — пункт «default» для списка статей с атрибутом «Избранные». Затем я назначаю его пунктом по умолчанию (пиктограмма с изображением звездочки). Меню «default» не нуждается в модуле, по идее оно должно просто существовать [вывод на сайт — необязателен]. (Такое положение дел свойственно текущей версии, Joomla 2.5. Будем надеяться в следующих версиях оно будет изменено.)
7/14/12- |
247 - |
Руководство для начинающего пользователя Joomla! 2.5
Далее, я создаю по одному меню для каждого языка и по одному модулю для каждого из созданных меню. Затем я создаю по пункту в каждом из созданных меню и даю
им следующие названия [фраза «главная страница» на английском, немецком и французском языках]: «Home», «Startseite», «Accueil». Каждый из них должен быть назначен пунктом меню по умолчанию (пиктограмма с изображением звезды). Если после этого в таблице, напротив пунктов появятся изображения флагов, то все — в порядке. В противном случае, посмотрите скринкаст.
Рис. 8. Заглавные страницы для каждой языковой версии сайта.
Блог
В моем случае блог наполнен внешними записями: я импортирую их с Cocoate при помощи компонента «Каналы новостей». Я создаю новостной канал для каждой языковой версии сайта (подробности — в главе «Компонент „Ленты новостей“»), а также соответствующие пункты меню.
Страница «О нас»
Я создаю по одной странице «О нас» для каждой языковой версии сайта так, как это описывается в главе «Создаем страницу „О нас“».
7/14/12- |
248 - |
Руководство для начинающего пользователя Joomla! 2.5
Страница обратной связи
Я использую единую для всех языков страницу обратной связи, предназначенную для общих вопросов. Так как мне нужна всего одна запись контактных данных, нет необходимости относить ее к какому-либо языку. Создавать запись для каждой языковой версии понадобилось бы, если бы для посетителей из каждой языковой группы у меня был отдельный почтовый адрес или адрес электронной почты.
Форма входа в систему
Форма входа в систему будет выводиться на каждой странице. Я создал две копии англоязычного модуля «Вход на сайт», настроил «привязки» к меню и языку, а также дал каждой из них подходящее название. Теперь на моем сайте можно регистрироваться, аутентифицироваться.
Пользовательское меню
Я использовал уже имеющееся меню, содержащее ссылки на страницу с данными пользователя, интерфейс создания статей (рис. 9) и отправки ссылок на рассмотрение.
Рис. 9. Редактирование статьи на стороне посетителей.
Как видите, создать многоязычный сайт на основе исходной комплектации Joomla 2.5 — очень просто.
7/14/12- |
249 - |
Руководство для начинающего пользователя Joomla! 2.5
ПЕРЕОПРЕДЕЛЕНИЕ ЯЗЫКОВЫХ КОНСТАНТ
Если вас не устраивают какие-либо слова, фразы или предложения на сайте [не относящиеся к контенту], их можно изменить при помощи менеджера языков: текстовое меню
административного раздела → пункт «Расширения» → подпункт «Менеджер языков» → вкладка «Переопределение констант».
[Фрагмент контекстной помощи17]
Строки в языковых файлах состоят из двух частей: языковой константы
и ее значения. Например, в строке: COM_CONTENT_READ_MORE="Подробнее: " ’COM_CONTENT_READ_MORE’ это языковая константа, а ’Подробнее: ’ —
её значение. Для переопределения какого-либо значения необходимо знать языковую константу. С помощью формы, размещенной ниже, вы можете найти языковую константу по названию или по значению (тексту). Клик мышью по найденной константе автоматически заполнит поля «Языковая константа» и «Текст».
При помощи данной формы можно находить константы, содержащие не устраивающие вас фрагменты текста, и менять их значения (рис. 10).
Рис. 10. Интерфейс переопределения языковых констант.
17 Прим. перев.: приводится контекстная справка из пакета локализации авторства «Портал
Joomla! по-русски».
7/14/12- |
250 - |