Многоязычный сайт. 16 проблем и 5 способов решения

Многоязычность, многосайтовость и многоскладовость. Мифы и разоблачение.

png;base646042077655eb19d6.png

Вам приходилось видеть сайты на нескольких языках?

Уверен, да.

А вы знаете как они устроены, какие забавные проблемы с ними возникают и насколько возрастает трудоемкость поддержки и развития такого сайта ?

Сегодня публикуется первая статья  — про Многоязычность .

png_base64334fa7341519ac5.png

Как вы думаете, сделать несколько сайтов (сайт и интернет-магазин, сеть интернет-магазинов или сайты для группы компаний) на одном движке — правильный шаг?

Что будет проще, а что — сложнее?

Вторая части статьи будет про Многосайтовость .



png;base6472c3fd3f6ceff743.png

Если интернет-магазин работает в трех регионах, возникает желание сделать поддомены вроде saratov.eshop.ru, написать там местные контакты и … правильно, местные цены и остатки на складе. Знаете как это делается? А сбор агрегированной отчетности, индивидуальное ценообразование, контроль цен и наличия — видели?

Готовится третья часть — про Многоскладовость интернет-магазина.


Буду говорить о сайтостроении вообще, но конкретные вопросы реализации опишу на примере системы 1С-Битрикс. Причины две:
  • система занимает лидирующие позиции на рынке и многие читатели захотят решать задачи именно на ней;
  • я хорошо знаю эту систему и весьма поверхностно — другие.
 

Как сделать сайт на нескольких языках? Многоязычность сайта. 16 проблем и 5 способов решения

— Sprechen Sie Deutsch?

— Я? ... Ja! Ja!

Владимир Войнович

Приключения солдата Ивана Чонкина

http://www.youtube.com/watch?v=tZF5i103IiI , 1:40

Что тут вообще обсуждать? Это же просто?

Зачем нужен сайт на нескольких языках?

Чаще всего делают корпоративный сайт для разных стран. Это самый простой случай.

Значительно реже создаются мультиязычные СМИ, интернет-магазины и интранет-порталы.

И правда, ничего сложного

Некоторым кажется, что многоязычный сайт — это очень просто.

В статье использованы скриншоты многоязычных веб-проектов:

  1. microsoft.com — софтверная компания мирового масштаба;

  2. rusal.ru — крупная транснациональная коммерческая компания;

  3. rt.com — Russia Today, СМИ на 4 языках, представляющее Россию в мире;

  4. government.ru — правительство Российской Федерации;

  5. salesforce.com и bitrix24 — многоязычные saas-сервисы.

По ходу статьи мы порадуемся тому, что встречается на этих сайтах.

Кодировка

Если у вас в проекте не только латиница, придется подумать о том, в какой кодировке символов вы будете работать.

Кодировок великое множество, и нужно знать какую когда выбирать.

Вопрос кодировки для создания многоязычного сайта решается просто. Надо использовать Unicode, как правило — UTF-8. Этот формат универсален и экономичен. Недостатков у него почти нет.

Проблемы с кодировками возникают в двух ситуациях: смешение кодировок и конвертация проектов.

Вавилонское смешение кодировок в работающем проекте

Может так случиться, что html сайта будет в utf-16, база в utf-8, код в национальной кодировке типа cp1251, а КЛАДР в cp866. Такой салат сайт может работать, но придется сделать преобразования и помнить где какая кодировка.

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

png;base64d00c85a9aff6229e.png

Конвертация проекта целиком

Иногда приходится конвертировать проект целиком (например, сделали сайт в cp1251, а через полгода решили что нужна японская версия) в другую кодировку. Это крайне неприятная процедура.

png;base6487299ef280b289b6.png

В частности, в системе 1С-Битрикс нет штатного механизма для этого. Есть скрипт миграции, написанный поддержкой для себя и официально не выдаваемый разработчикам, клиентам и партнерам.
Наша практика показала, что если возникла необходимость преобразовать сайт с cp1251 на utf-8, например, то гарантированный способ — поставить свежий Битрикс в нужной кодировке и все аккуратно перенести, преобразовав код и статику, где нужно, средствами IDE и текстовых редакторов.

Одного рабочего дня хватит для большинства проектов. Не быстро, но гарантированно.

Если же возомнить себя Богом-Творцом и пойти по пути последовательных преобразований, можно легко получить куски текста из базы в cp1251, прочитанную кодом, как будто это utf-16 и записанную в xml в какой-то третьей кодировке. Обратный разбор таких цепочек конвертации займет все свободное и несвободное время.

Если сразу делать все аккуратно, в одной универсальной кодировке, то проблем не будет.

Требования к мультиязычности. Организационные и технические проблемы с полноценным переводом.


— Зачем ты это сделал?

— Хотел ощутить биение жизни, — сказал Татарский и всхлипнул.

— Биение жизни? Ну ощути, — сказал сирруф.

Когда Татарский пришел в себя, единственное, чего ему хотелось, — это чтобы только что испытанное переживание …  больше никогда с ним не повторялось. Ради этого он был готов на все

Виктор Пелевин. Generation П

Что такое правильный и полноценный перевод сайта на другой язык? Будем перфекционистами и максималистами. Сделаем так, чтобы иностранец, не владеющим основным языком сайта, не испытал неудобств.

Итак, вы решились на полноценный перевод сайта. Что вас ждет?

1. Нет контента

Контент — король. Все для него, ничего без.

Это теория. На практике никогда не бывает так, что все готово или будет появляться своевременно.

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

png_base642d07607e3f159414.png

В крайнем случае — делайте так, чтобы отсутствие перевода конкретного элемента не мешало работе.

Хороший компромисс — перевести 2-3 самые важные страницы.

2. Разные товары, новости, акции, баннеры


Сначала вам покажется, что новости, товары и статьи на всех языковых версиях будут одинаковыми, и их надо просто хранить и выводить тексты на разных языках.
Как только вы заложите такую логику в проект, окажется что:
  • новость об открытии третьего филиала в Усть-Козлюйске европейцам показывать не нужно,
  • для Китая свой ассортимент товаров,
  • а именно в странах Латинской Америки продвигается специально для них разработанная акция.

Контент не будет совпадать на 100%. Сайт должен позволять:
  • легко дублировать записи и переводить их;
  • делать так, чтобы конкретная сущность выводилась на одной языковой версии и не выводилась на другой.

3. Разная структура

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

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

png;base645b01bc2f0192c99d.png

4. Работа переключателя между языковыми версиями



Обычно между языковыми версиями переключаются с помощью переключателя RU / EN / DE / UA или флажков.

Нажатие такого переключателя на любой странице должно приводить к открытию переведенной версии ТОЙ ЖЕ СТРАНИЦЫ.

Теоретически это несложно, на практике выдержать такой принцип не получится, если структура и содержание языковых версий не строго совпадают. 

5. Перевод системных сообщений CMS

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

Если на “лице” сайта такие сообщения иногда появляются, их тоже придется перевести.

6. Перевод сообщений и файлов внешних модулей

png;base64801887dbc046e703.png

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

7. Перевод пользовательского контента

Современные сайты часто включают не только информацию от администрации, но и user generated контент.

Такую информацию перевести невозможно, и вы обречены иметь кашу из языков.

Ярким примером такой каши является страница победителя Евровидения 2014 на Youtube — ругательства на русском, греческом, немецком и английском.

Досмотрит и дочитает только исключительно толерантный полиглот.

8. Перевод юридически значимых текстов

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

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

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

png_base64a349b0efa437203e.png

Как результат — перевод юридических текстов делают обычно только когда в стране открывается полноценное бизнес-представительство.

Так, например, выглядит страница с правилами использования сервиса Instagram. Все по-русски (даже ЧаВо), кроме самого главного.

В системе Битрикс24 печатные формы счетов на немецкий переведены, а правила использования — оставлены на английском.

9. Разная длина текстов на разных языках.

Дизайнеры знают эту особенность: английский текст выглядит красивее, аккуратнее и … короче, чем русский.

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

Отдельные немецкие слова могут оказаться еще и длиннее русских. Например Корпоративные коммуникации станут длинным, как рельс, словом Unternehmenskommunikation .

png;base644eb357a46b21a997.png

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

10. Языки с другим направлением текста. LTR и RTL.

Представьте: вы решили выпустить версию сайта для Израиля. Там, конечно, на четверть бывший наш народ, но все же версию на иврите нужно сделать.

png;base6456ef2e5dfe2493fa.png

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

Оффтоп: пока я писал эту статью, Adwords запутался в моих языковых пристрастиях и стал показывать мне рекламу Битрикс24 на немецком. QSoft по-прежнему предлагает себя по-русски.

11. Надписи на картинках

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

12. Почтовые уведомления

Сайты присылают уведомления о регистрации, заказе, неуспешном логине, попытке смены пароля и тому подобном.

В Битриксе, например, предустановлено несколько таких шаблонов, и их часто оставляют без изменений.

Сделать понятные иностранцу почтовые уведомления (а там не только текст, но и ссылки, внешние картинки), можно только с переводчиком и программистом.

13. Национальные стандарты для валют, календаря, оформления писем.

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

Однако если мы хотим сделать хорошо, нужно учитывать все.

png_base6434e18624b23273e.png

Программисты скажут: ну это же просто, установка локали автоматизирует такие преобразования. В теории да, а на практике — вы всегда даты выводите таким образом? А валюты? А стиль написания адреса — тоже локаль сделает?

14. Перевод личного кабинета клиента

Если вы из России управляете многоязычным проектом, кабинет администратора CMS можно не переводить.

А вот личный кабинет покупателя интернет-магазина — придется.

Для SAAS-проектов нужна полная локализация.

Это крайне трудоемкая задача, например, великий salesforce.com сразу после регистрации на русском показывает вот что:

png;base64f9d7d59cf9c41cae.png й

Неясно что от меня хотят, а тут еще и смесь языков. Обратите внимание на косноязычное “7ч. просрочено”. Это явная калька с английского.

Интерфейс системы переведен “почти” весь.

png;base643c50379fc64b84cd.png

У Ebay тоже не все гладко с русским интерфейсом.

png_base646dc66faac1679871.png

Salesforce не смог. Ebay не смог. А вы все еще думаете что это просто?

15. Ссылки на мобильные приложения

Ссылки на приложения в магазинах Apple, Google и Microsoft могут включать язык интерфейса.

Например, на arabic.rt.com ссылки ведут на русскую версию приложения для Windows Phone. И не работают.

png;base646b74cd2cb83eeba2.png

16. Добавление еще одного языка

Когда вы решите предыдущие 15 вопросов для своего проекта, кто-то главный может сказать: “Отлично! Теперь мы легко добавим японскую и португальскую версии? Все же готово?”.

Есть несколько способов добавления новых и новых языков, однако вариант, который снится некоторым руководителям — кнопка “Добавить язык” — мне видеть не приходилось. Вернее, кнопка была, но не работала.

Техника. Как же сделать сайт на нескольких языках?

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

Способ 1. “Идите лесом, я на тракторе”. Автоматический перевод

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

Формально все хорошо.

Так, например, решает этот вопрос правительство Волгоградской области.

png;base64505ef90e157d036e.png

Качество среднее, трудоемкость крайне низкая, новые языки добавлять не надо — Google знает все.

Способ 2. “Наивный программист”. Поля и папки.

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

Поэтому в базе данных появляются поля для текстов на других языках.

В программном коде появляется настройка $lang , которая для английского языка $lang = “_en”

png;base6448f83cd43bbbb6bc.png

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

png;base64c3e00ab832d07e28.png

Теоретически все нормально. На практике:

  1. Если английского контента нет, придется показывать русский. Для этого проверять существование файлов и так далее. Нужно редактировать код.

  2. Нужно будет сделать пакет флагов видимости новости в каждой языковой версии. И написать код для проверки. Везде.

  3. “Хлебные крошки” часто берутся из свойств разделов, таблиц, каталогов и сами не заработают. Писать код.

  4. Добавление французской версии требует повторения всей процедуры и еще одного усложнения кода.

Судя по всему, на этой схеме основана работа сайтов РУСАЛа и Правительства РФ.

Способ 3. “Вы сами напросились”. Язык как настройка

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

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

Я сделал в базе данных таблицу языков, все тексты пронумеровал, вынес в отдельную таблицу значения текстов на разных языках.

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

На примере новостей это выглядело так (таблицы const и lang вспомогательные, для удобства администрирования):

png;base6465f574cbfaf13923.png

Теперь, чтобы вывести заголовок и краткий текст новости с id=3, вместо

sel ect title, shorttext fr om news where id=3

для языка с номером 2 приходилось писать

select lv1.value as title, lv2.value as shorttext

from news

inner join lang_value as lv1 on lv1.id_const=news.title

inner join lang_value as lv2 on lv2.id_const=news.shorttext

where news.id=3 and lv1.id_lang=2 and lv2.id_lang=2

Красиво, пока не начинаешь этим пользоваться. Проблемы:
  • на каждое поле добавляется join на таблицу значений. если на странице 200 надписей, это все начинает крепко тормозить.

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

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

  • вопрос управления картинками схема не решает.


Эта и подобные архитектуры имеют право на существование (почти так в Битриксе работают инфоблоки), но:
  • должны быть поддержаны на всех уровнях проекта;

  • иметь программный уровень преобразования запросов к lang-виду;

  • разумную денормализацию;

  • средства кеширования, отладки и администрирования.

Я не видел качественных реализаций такой схемы управления языками.

Способ 4. “Я в отчаянии”. Почти полное дублирование

Говорят, копипаст — признак тупости. Однако для задачи создания языковых версий этот вариант оказывается неплохим.


Полная независимость копий дает свободу управления, но умножает работу:
  • редактора (новости создаем везде, товары копируем и переводим)

  • программиста (внесение изменений в несколько языковых версий, особенно если они успели пожить собственной жизнью, требует упорства и аккуратности)

  • администратора (комментарии, пользователи, рассылки, фиксация и устранение ошибок)

Тем не менее этот вариант де-факто принят очень многими компаниями. Например 4 версии сайта Russia Today имеют разный контент, дизайн и структуру, хотя выросли из одного корневого сайта.

Способ Х. “Хитрый”

Непрозрачным хитрым способом реализована многоязычность в облачных сервисах SalesForce и Битрикс24, а также на сайте microsoft.com.

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

Отдельно надо сказать о microsoft.com.

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

Работа титаническая, и сделана она прекрасно.

Microsoft.com — эталон, по крайней мере в вопросе языковых версий.

Что для многоязычности есть в Битриксе?

В CMS 1С-Битрикс есть несколько элементов, предназначенных для реализации многоязычности.

Разработчики и идеологи Битрикса считают правильным скопировать все файлы сайта и инфоблоки контента. При этом сложная бизнес-логика остается реализованной через компоненты и модули без копирования.

Многосайтовость

Через многосайтовость можно реализовать схему “Дублирование”. Отсылаю вас к соответствующему разделу документации .

Этот способ реализации многоязычности можно рекомендовать для большинства случаев. Другими способами тоже пользуются .

Языковые сообщения и модуль “Перевод”

Система Битрикс имеет встроенные средства для хранения текстов на разных языках и повсеместного использования их в коде и интерфейсе. Это сделано через текстовые файлы без вышеописанных извращений с базой данных.


Я считаю использованную Битриксом схему оптимальной:
  • языки добавляются через панель управления и файловый менеджер;

  • управление переводом в визуальном интерфейсе выполняет одноименный модуль;

  • работа системы прозрачна для программиста;

  • дополнительной нагрузки многоязычность не создает;

  • от поддержки будущей многоязычности в коде легко отказаться, просто начав использовать русский текст вместо ссылок на языковые сообщения;

  • стандартные компоненты поставляются с переводами, дополнительные языки можно скачать и установить

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

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

Опять же отошлю интересующихся к документации по модулю Перевод .

Перевод административного интерфейса CMS 1С-Битрикс

Битрикс работает в нескольких странах с другими языками, в частности это Украина и Казахстан, где есть полноценные представительства. За пределами СНГ работа тоже ведется, оставим ее за скобками.

Честно говоря, начиная эту статью, я был уверен что полноценного перевода нет. Даже фразу написал:

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

Однако в реальности все оказалось лучше. Я позволю себе процитировать почти без изменений рассказ Дмитрия Суслова, директора Украинского и Белорусского офисов.

Дмитрий  Суслов:

На данный момент есть полная локализация всей платформы, то есть вся админка в любом нашем продукте будет украинской. Полностью локализован облачный Битрикс24, включая публичную часть. ну и есть отдельное решение "госсайт для украины", которое, кстати, очень скоро выйдет в совершенно новом варианте.

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

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

Мы выработали подходящую схему работы с переводами. Сам процесс передачи и отслеживания теперь прост и понятен. Иногда бывает сложно взять и перевести, ибо в одних случаях это 100 фраз, а в других - 10 000. Вот эта часть является самой трудоёмкой. Потому что важно не просто перевести, а именно локализовать.

Дмитрий  Суслов: например, в русском варианте есть фраза "Кажется, что-то пошло не так...", если перевести её просто на украинский, то она не передаст эмоциональности этого выражения. Но в украинском языке есть поговорка "Не так сталося, як гадалося" и она чудесно передаёт смысл исходной фразы, хотя при дословном переводе довольно далека от неё  

Казахской версии админки Битрикса пока нет. Процитирую директора “1С-Битрикс Казахстан” Сармантая Касенова:

Потребность в админке огромная только теоретически. Я опрашивал партнеров - они

1. проявили небольшой интерес к проблеме

2. мнения, что именно локализовать (БУС или КП) - разделились.

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

Технически, как показывает опыт украинской версии, перевод возможен.

Трудоемкость поддержки сайта на нескольких языках

Возрастает кратно. И для технологов, и для менеджеров.

Очень сложно сделать все хорошо, а ошибки видны всем.

png;base647c9bcec01d19ad66.png

png;base6453f8909834c17bcb.png

Чеклист работ над многоязычностью

  1. Обсужден и выбран способ реализации многоязычности
  2. Кодировка всех частей проекта едина и универсальна
    1. Статика
    2. сторонние модули
    3. код
    4. верстка
    5. база данных
  3. Кто и когда готовит контент?
    1. Вопрос задан
    2. Ответственный найден
    3. Получена первая часть контента
    4. Система отлажена
  4. Что может различаться в контенте между языками?
    1. товары
    2. новости
    3. акции
    4. баннеры
    5. цены
    6. валюты
    7. способы доставки
    8. ….
  5. Есть разделы, созданные только для некоторых версий?
    1. Скрывать в языке ___________ раздел ________
    2. Скрывать в языке ___________ раздел ________
    3. Скрывать в языке ___________ раздел ________
    4. Показывать только в языке ___________ раздел ________
    5. Показывать только в языке ___________ раздел ________
    6. Показывать только в языке ___________ раздел ________
  6. Обсудили как должен работать переключатель?
  7. Перевод системных сообщений CMS возможен? Кто его делает?
    1. Составили список того, что надо перевести
    2. Назначен ответственный за перевод
    3. Назначен ответственный за проверку самописных модулей
    4. Назначен ответственный за операторскую работу по вводу
  8. Перевод пользовательского контента - все предупреждены что этого не будет?
    1. Задать вопрос
    2. Получить согласие что user generated content останется на языках оригинала
  9. Перевод юридически значимых текстов.
    1. Оставляем как есть. Все предупреждены
    2. Ищем юриста. Есть ответственный
  10. Разная длина текстов на разных языках.
    1. Сделали тестовую страницу и проверили ее работу в верстке
  11. Продумали изменение дизайна для языка с другим направлением текста. LTR и RTL.
  12. Изображения в дизайне и контенте
    1. Нашли все картинки в дизайне, на которых есть буквы, и перевели их.
    2. Написали регламент подготовки картинок для сайта
  13. Почтовые уведомления
    1. Составили полный список.
    2. Назначили ответственного за тексты
    3. Назначили ответственного за программирование
  14. Национальные стандарты для валют, календаря, оформления писем.
    1. Обсудили вопрос
    2. Составили белый список: что будет сделано.
    3. Предупредили всех что придираться к тому чего нет в списке не нужно
  15. Перевод личного кабинета клиента
    1. Обсудили
    2. Написали требования
    3. Составили белый список: что будет сделано.
    4. Предупредили всех что придираться к тому чего нет в списке не нужно
  16. Ссылки на мобильные приложения и родственные проекты содержат верный язык
  17. Добавление других языков
    1. Когда, какие и сколько?
    2. Вы правда этого хотите?
    3. Сформирована и сообщена трудоемкость добавления еще одного языка

Выводы

  1. Сайтов с полноценным переводом на несколько языков почти нет.

  2. Вопрос локализации сайта, как правило, существенно недооценивается.

  3. Все технические вопросы теоретически решены.

  4. Вопросы управления, контента и практического сопровождения требуют больших затрат.
    Работа менеджера проекта растет на 20% с каждым новым языком, Технологов на 30-40%, контент-редакторов и маркетологов на 100%.

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

ИНТЕРВОЛГА сделала около 30 сайтов с многоязычностью. Мы пользовались разными методами и приобрели опыт, которым теперь пользуемся и которым делимся.
Хочу многоязычность