Мультиязычность (многоязычность) сайта в Drupal

Аватар пользователя Макс К. Макс К. 18 мая 2008 в 13:29

Многоязычность (мультиязычность) сайта на Drupal Drupal в 6-ой версии приобрел многоязычность.

Сам я еще не озадачивался двуязычным меню, считаю что на многоязычном сайте навигация должна быть на одном языке. Особенно когда основной язык сайта английский.

Если языков нужно поддерживать не очень много, то можно попробовать сделать 2 параллельных меню, одно для одного языка, другое для другого. В зависимости от языка страницы показывать на одном и том же месте блок с меню на соответствующим языке и скрывать блок с меню на другом языке.

Выбор меню для перевода

Переводить в первую очередь следует коммерческий блок меню, пункты которого ведут на страницы с переведенными коммерческими предложениями.

Нужно еще учитывать риск, что посетитель забредет на страницу с меню на чужом языке и не сможет прочитать навигацию. Например, на русской странице слегка процитировали англоязычное описание чего-то и американец через поисковик попал на русскую, в общем-то, страницу. На этот случай на двуязычных сайтах стратегические пункты меню желательно продублировать в скобках на другом языке. Хотя бы так:

В русском меню написать ссылку: Сервисы (Services)
В английском меню написать ссылку: Services (Сервисы)

На многоязычных сайтах стратегические пункты меню подаются на языке страницы и в скобках дублируются на английском языке как на международном.

Раскройте себя для многоязычности

Но главная проблема в освоении многоязычности состоит отнюдь не в переводе меню.

Я столкнулся с тем, что многие искусственно зажимают свои сайты в то количество языков, которые они знают. Хотя Друпал - 6 подерживает не двуязычность, а многоязычность, на любом количестве любых языков, даже на китайском.

Нет нужды переводить весь сайт на каждый поддерживаемый язык. Вполне достаточно перевести на сайте на как можно больше языков коммерческие предложения сайта. Доллары от китайцев (турков, арабов,...) ничуть не хуже, чем доллары от американцев.

Страницы с прайс-листом на языках, которые вы не знаете, также позволят поисковикам соответствующих стран показывать ваши прайс-листы в результатах поиска.

Расширение списка поддерживаемых языков

Наличие прайс-листа, например, на китайском языке не обязывает создателей сайта общаться с китайцем на китайском. Общаться сможете на английском, он международный язык. Но коммерческое предложение клиенту гораздо приятнее прочитать на своем языке.

В конце страницы с прайс-листом на китайском можете дописать "Общение будет по-английски", это избавит вас от клиентов-китайцев, которые не знают английского языка. Хотя лучше держать на готове переводчика-китаиста, который за определенный процент от стоимости заказа с удовольствием будет переводить вашу переписку с клиентом-китайцем.

После 1-2-х клиентов китайцев можно будет оплатить перевод еще каких-то ключевых страниц на китайский язык, например, портфолио, отзывов благодарных клиентов или концептуальных статей. Жизнь сама подскажет, какого языка клиенты более активно заказывают ваши услуги.

Если не хотите тратиться на переводчика, в прайс-листе на английском языке укажите, что вы готовы дать скидку 10%, если клиент переведет на свой язык Ваш прайс-лист. Это позволит быстро расширить количество языков на сайте.

Пример

Султан Брунея Хассанал БолкиахМногоязычность Друпала, которая теперь поддерживается Друпалом "из коробки", открывает дверь к сайту на десятках языках. И надо использовать такую возможность по полной программе. Было бы глупо отказываться от заказа сайта султаном Брунея только потому, что я не знаю малайский. Был бы заказчик-султан, а уж с языком как нибудь-разберемся. Тем более, что в Брунее второй государственный язык это английский.

Когда осенью сайт Razgonka.ru перейдет на Друпал-6, я с удовольствием переведу коммерческие предложения по всем сервисам студии Razgonka.ru на другие языки. Для начала на украинский и английский языки. А также турецкий, узбекский и казахский языки. Это обойдется примерно по 500 рублей на каждый язык. И меня ничуть не смутит факт, что на турецком, например, я не могу общаться.

Бюджетный вариант многоязычного сайта

Нет по 500 рублей на каждый язык? Переведите качественно свой прайс-лист хотя бы на английский. А остальные 23 языка переведите с помощью бесплатного переводчика Гугла. Андрон не даст мне соврать, переведенные машиной страницы прекрасно индексируются поисковиками. В результатах поиска часто по одной строчке даже невозможно определить, что перевод машинный.

Список языков, на которые Гугл переводит с русского языка:

английский, арабский, болгарский, голландский, греческий, датский, испанский, итальянский, китайский, корейский, немецкий, норвежский, польский, португальский, румынский, финский, французский, хинди, хорватский, чешский, шведский, японский.

На каждый из этих языков должен быть сделан перевод прайс-листа. Гугл можно использовать также для общения с клиентами, не говорящими по-английски.

Когда с какого-то языка к вам начнут приходить клиенты, можно будет заказать уже качественный перевод на данный язык и озаботится поиском переводчика.

Образец перевода

Берем фразу на русском:

Наша студия разрабатывает многоязычные сайты.

Переводим с русского на арабский:

لدينا استوديو تطوير المواقع المتعددة اللغات.

Переводим обратно с арабского на русский:

У нас есть студия для разработки многоязычных сайтов.

Основной смысл предложения сохранился даже при двухкратном машинном переводе.

Пожелание

Гугл переводит на 24 языка. Drupal 6 стал поддерживать многоязычность "из коробки". Вау! Теперь нет никаких препятствий, чтобы вести свой бизнес сразу на 24 языках. Как вам так и вашим клиентам, которым вы ставите сайты.

  • Ставьте на компьютер китайские, японские шрифты и другие экзотические необходимые шрифты.
  • Меняйте в любимом мейлере дефолтную кодировку Windows-1251 на UTF-8
  • Ставьте на сайт тему с поддержкой написания справа-налево
  • Расширяйте свой бизнес с русскоязычной части до всего мира
  • Пишите в своем прайс-листе "Ставлю мультиязычный сайт на 24 языках мира".

Все необходимые инструменты для этого сегодня уже есть в ваших руках.

Удачи. (حظ سعيد)

Комментарии

Аватар пользователя kodo kodo 18 мая 2008 в 16:32

На мой вкус статья консептуально хороша. Технических заморочек с многоязычностью, да и с многими другими (особенно не стандартными) модулями в Друпал 6 хватает, но вот идеи очень логичны. По большому счету можно сделат и 10 меню для 10 языков пока страницы статические, тяжелее организовать инетмагазин на 10 языков, хотя может я просто еще не пробовал... Smile

Аватар пользователя Макс К. Макс К. 18 мая 2008 в 17:27

kodo пишет: "тяжелее организовать инетмагазин на 10 языков"

Друпальская система меню, которая выводится в блок - всего лишь удобный инструмент для быстрого формирования блоков через контрольную панель. Никто не заставляет пользоваться именно этим инструментом.

Интернет-магазин по определению подразумевает хороший бюджет для сайта. Для активно изменяющегося меню всегда можно формировать нужное меню на нужном языке скриптом и выводить его в блок вместе с информацией по корзине (на какую сумму уже отобрано товара).

Меню-хамелеон

Например, в блок можно выводить иллюстрированое "меню+витрину". В нем на каждую ссылку-категорию магазина выводится еще и картинка одного из товаров этой категории. Картинки меняется случайным образом каждый раз при заходе на очередную страницу сайта. Не одна, так другая картинка привлечет внимание посетителя и он щелкнет по ней, чтобы пройти в Интернет-магазин.

При заходе в магазин "меню+витрина" сменяется на "меню+корзина", в котором отображается полный список категорий товаров и информация по набранной корзине. Все надписи в нем на предпочитаемом языке посетителя.

Через контрольную панель "Меню" такое меню-хамелеон не организовать. Нужен скрипт, который выдает результат в блог.

Широкий спектр меню

Для бюджетных решений подходят меню, создаваемое через контрольную панель Друпала. Для высокобюджетных сайтов - меню, генерируемое скриптом или своим модулем. Где-то посередке между ними лежит меню, генерируемое сторонними модулями (облако тэгов, меню из пунктов таксономии, список активных блоггеров, и т.д.).

Главное, что Drupal -6 обеспечивает поддержку многоязычности статей. Это действительно важно, что теперь можно иметь на сайте тысячи страниц на разных языках. И что Друпал поддерживает их прямо "из коробки", без всяких сторонних модулей.

А меню само по себе это всего лишь навигация, которая относительно небольшая по объему и весьма редко меняется. Можно вообще обойтись меню на одном языке или на 2-х основных. Позже неизбежно появятся модули, которые отрабатывают многоязычность меню разным образом.

Более широкая проблема

Хотя сама проблема шире, чем локализация одних встроенных меню Друпала. У модулей, выводящих информацию в блоки в виде ссылок или текста, тоже встанет проблема с многоязычностью.

По мере накопления практики неизбежно будет найдено какое-то решение. Оно позволит не только с комфортом поддерживать многоязычность в штатных меню Друпала, но и перевод на нужный язык любой информации, выводимой любым модулем (скриптом) в блок.

Причем, переводится будет не только текстовая часть, но и будет возможность задавать для одного пункта меню разные ссылки для разных языков посетителя. Например, по ссылке "Поиск по сайту внешним поисковиком" отсылать русскоязычных посетителей на Яндекс, а англоязычных - на Google.

Или отсылать русскоязычных посетителей на поиск через Гугл русскоязычных страниц сайта (см. "Русский поиск" от Вадима Барсукова). А англоязычных посетителей на поиск через тот же Гугл, но по англоязычным страницам.

Аватар пользователя Химический Али Химический Али 18 мая 2008 в 17:38

А я считаю, юзабилити меню от коонструкций вида "Сервисы (Services) пострадает. Строчка с идентификаторами языка типа "RU EN DE FR" лаконичнее, понятнее и привычнее.

зы. "турок".

Аватар пользователя Макс К. Макс К. 18 мая 2008 в 19:11

Химический Али пишет: "юзабилити меню от коонструкций вида "Сервисы (Services) пострадает. Строчка с идентификаторами языка типа "RU EN DE FR" лаконичнее, понятнее и привычнее."

В целом Вы правы. Но многое зависит от сайта. Например, если сайт нацелен на зарабатывание денег, то приходится закрывать глаза на нарушение единой структуры навигации по разноязычным версиям страниц. Важнее, чтобы потенциальный клиент не проскочил мимо страницы сервиса.

Самый простой тест, клиент выбрасывается на одну из страниц сайта. Он должен сразу сообразить, где здесь можно заказать услуги на английском языке, пусть даже текущая страница окажется на китайском языке. Дублирование названия "Сервисы" на английском языке поможет клиенту в этом.

Верю, когда-нибудь и на Drupal.ru на каждой странице будет коммерческий блок "Сервисы" с услугами русских друпальщиков. Блок будет показываться на языке, выбранным посетителем. И для всех неанглийских языков внизу блока "Сервисы" будет иметь смысл добавить ссылку "Services". На всякий случай. Или даже вместе с коммерческим блоком на неанглийском языке показывать полноценный блок "Services" на английском языке.

"EN" != "Services"

Аватар пользователя Химический Али Химический Али 18 мая 2008 в 21:00

Может лучше просто сделать более заметной область с селектором языков? Если она будет визуально занимать 1\4 - 1\3 шапки, ее трудно будет незаметить.

А вообще, толковое указание языка посетителя, скажем, в идентификаторе браузера давно необходимо.

Аватар пользователя kodo kodo 19 мая 2008 в 3:09

Когда я говорил про сложность создания мультиязычного инет магазина я имел ввиду, что структура БД магазина должна быть на это заточена. Возможно у Ecommerce так и есть, я еще не разбирался. Ну чувствую, что наврядле мультиязычность у него заложена в структуру БД, как это сделано у монстров типа SAP и OeBS, где для каждого строкового элемента таблицы создана отдельная связанная таблица для внесения данных на разных языках. Если нет этого, то интерфейс уже не столь важен.

Аватар пользователя Hrundix Hrundix 19 мая 2008 в 14:35

>Самый простой тест, клиент выбрасывается на одну из страниц сайта. Он должен
> сразу сообразить, где здесь можно заказать услуги на английском языке, пусть даже
> текущая страница окажется на китайском языке.
Не согласен. Чушь!

Нормальный человек (в здавом уме) будет искать возможность переключиться на родной/знакомый язык и только тогда будет что-то заказывать, иначе посетитель просто покинет сайт.

Какой здравомылящий посетитель этого сайта будет заказывать авиабилет на этой странице (не зная финского): http://www.airberlin.com/site/start.php?all=1&MARKT=DE&LANG=fi ?

Поместить фложок языка / сделать ссылку другой язык на на видном месте - необходимо, а делать ссылку вида "сервис (service)" - бесполезно.

Аватар пользователя satyva satyva 28 декабря 2012 в 15:46

Вот и я походу через время буду переводить сайт на 24 языка, буду признателен, если поможете решить проблему мульти перевода ubercart, описанную тут: http://www.drupal.ru/node/94020