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

Вы решили выходить на зарубежный рынок. Первое, что нужно — перевести сайт на язык клиента. Но перевести только «кнопки» недостаточно. Клиент хочет видеть контент (описания товаров, услуги) на своём языке. И личный кабинет (интерфейс, сообщения об ошибках, письма) тоже должен быть на его языке.

Мы реализовали мультиязычность для нескольких проектов: HR-площадка для IT-специалистов (английский + русский), маркетплейс вин Грузии (русский, английский, грузинский). Расскажу, как организовать мультиязычный сайт с личными кабинетами на Falcon Space.

Три уровня мультиязычности

1. Интерфейс. Меню, кнопки, надписи в формах, сообщения об ошибках. Статические фразы.

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

3. Системные уведомления. Письма, SMS, push-уведомления, счета. Должны приходить на языке пользователя.

Первый уровень технически прост. Второй и третий требуют продуманной архитектуры.

Как мы делаем мультиязычность на Falcon Space

Интерфейс. Все строки интерфейса вынесены в файлы ресурсов (.resx). Вы загружаете перевод для нужного языка (например, английский). Платформа автоматически подставляет нужные фразы. Переключение языка — кнопка в шапке сайта.

Пользовательские данные. Самый правильный способ — хранить переводы в отдельных таблицах. Например, таблица products содержит только ID, а все текстовые поля вынесены в product_translations (product_id, lang, name, description). При отображении система ищет перевод на язык пользователя. Если нет — показывает перевод по умолчанию (например, английский).

Системные уведомления. Шаблоны писем хранятся в БД с полем lang. При отправке письма пользователю система подставляет шаблон на его языке.

Реальный кейс: HR-площадка для IT-специалистов (английский + русский)

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

Таблица vacancies хранит ID, дату создания, статус. Таблица vacancy_translations — заголовок, описание, требования, город. Для поиска сделали полнотекстовый индекс по двум языкам.

Результат: 40% трафика из Казахстана и Беларуси, 20% из Европы. Без мультиязычности потеряли бы этих посетителей.

Из отзыва: «Разумный компромисс между коробочными решениями и разработкой с нуля. Готовность разработчиков развивать функционал. Возможность дальнейшей поддержки силами собственных разработчиков».

Схема переключения языков

Два способа:

Мы используем второй вариант для большинства проектов. Поддомены настраиваются в DNS и IIS, Falcon Space автоматически определяет язык. Sitemap генерируется для каждого поддомена отдельно.

Сколько времени и денег стоит мультиязычность

Если у вас уже есть проект на Falcon Space, добавление второго языка:

Итого: 100-200 тыс. руб за полноценную поддержку второго языка. Третий язык — дешевле (30-50 тыс. руб).

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

Выход на новый рынок — это всегда риск. Мультиязычный сайт увеличивает шансы в разы, потому что клиенту комфортнее на родном языке. Если конкуренты ещё не перевели сайты — это ваш шанс.

Страница-источник на сайте falconspace.ru