Проект, который продаёт за пределы одной страны, рано или поздно упирается в платёжный шаг: витрину перевели, письма перевели, а страница оплаты осталась на русском. Покупатель из Варшавы или Джакарты доходит до неё и вводит данные карты вслепую — если вообще решается.
Разберём, что именно нужно переводить на платёжном шаге, как выбирать язык, почему форматы чисел важнее, чем кажется, и где многоязычность ломается тише всего.
Что переводить, а что нет
Соблазн перевести только кнопку и заголовок понятен и вреден: наполовину переведённая страница вызывает больше подозрений, чем полностью иностранная. Человек видит английский заголовок и русскую надпись об ошибке и делает вывод, что попал не туда.
Переводить нужно всё, что покупатель может увидеть: подписи полей и кнопок, названия способов оплаты, статусы платежа, сообщения об ошибках, подсказки про комиссию и сроки, письма и сообщения после оплаты, страницу успеха и страницу неудачи. Отдельно — тексты юридических ссылок: если условия оферты доступны только на одном языке, это стоит честно обозначить.
Не переводятся имена собственные: название вашего продукта, названия платёжных систем, идентификаторы заказов. «Оплата через SBP» звучит нормально, «Payment via Fast Payment System» — уже требует пояснения.
Как выбирать язык
Автоматика ошибается чаще, чем принято думать. Заголовок браузера показывает язык интерфейса системы, а не язык, на котором человек предпочитает читать: русскоязычный разработчик с английской macOS получит английскую страницу, турист в роуминге — язык страны пребывания по IP.
Рабочая схема из трёх уровней: язык, явно выбранный покупателем и сохранённый, важнее всего; затем язык, переданный вашим сайтом в ссылке на оплату; затем настройки браузера как запасной вариант. Определение по стране IP лучше не использовать вовсе или использовать последним — оно даёт самые обидные ошибки.
Переключатель языка должен быть виден на платёжной странице, а не только на витрине. Человек попадает на оплату по прямой ссылке из письма или бота, и там у него нет доступа к настройкам сайта.
Форматы: числа, даты, валюта
Перевод слов — половина работы. Вторая половина — форматы, в которых цифры выглядят привычно.
- Разделитель дробной части. «24,90» и «24.90» — одно и то же число для вас и повод усомниться для покупателя из другой страны.
- Разделитель разрядов. Пробел, запятая или точка — зависит от локали. Сумма «1.500» читается как полторы тысячи в одной стране и как полтора в другой.
- Символ валюты. Его место относительно числа тоже меняется: одни ставят символ впереди, другие после суммы.
- Даты. «03.04» — третье апреля или четвёртое марта, зависит от читателя. Для дат списания подписки лучше писать месяц словом.
В браузере это решается штатными средствами форматирования по локали, а не ручной сборкой строк. Ручная сборка — источник ошибок, которые всплывают на конкретных языках и не воспроизводятся у разработчика.
Язык и валюта — разные вещи
Частая путаница: покупатель переключает язык на английский и ожидает увидеть цену в долларах. Или наоборот — читает по-английски, но платит в рублях, потому что живёт здесь.
Правильный подход — разделить эти настройки. Язык отвечает за интерфейс, валюта — за расчёты, и обе показываются явно. Если вы принимаете только в одной валюте, скажите об этом прямо на платёжной странице и покажите примерный эквивалент: покупатель должен понимать, сколько спишет его банк, включая конвертацию на своей стороне.
Где многоязычность ломается тише всего
Самые неприятные места — те, что не видит тестировщик, потому что путь редкий.
Ошибки. Сообщения об отказе часто приходят от платёжной системы и вставляются в интерфейс как есть — на своём языке. Их нужно сопоставлять со своими текстами, а не показывать сырыми.
Письма и сообщения. Страница переведена, а письмо после оплаты уходит на языке по умолчанию. Язык покупателя нужно сохранять вместе с заказом и использовать при отправке.
Длина строк. Немецкие и финские подписи длиннее русских в полтора-два раза, кнопка ломается. Проверять вёрстку нужно на самом длинном языке, а не на самом коротком.
Поддержка. Ссылка на чат ведёт к оператору, который не читает на языке покупателя. Лучше честно указать язык поддержки, чем создать ожидание, которого не выполните.
С чего начать
Полная локализация на восемь языков редко нужна сразу. Практичный минимум — русский и английский, выполненные целиком: интерфейс, ошибки, письма, страницы успеха и неудачи. Дальше добавляйте языки по факту продаж, а не по гипотезе о рынке.
Перед запуском нового языка полезно пройти весь путь самому в этом языке: от кнопки до письма, включая сценарий отказа. Обычно на этом проходе находится три-четыре непереведённые строки, каждая из которых стоила бы вам части покупателей.