@frontendo

На серверной или на клиентской стороне лучше делать локализацию?

Вопрос собственно в заголовке. Сервер написанный на ноде отдает клиенту (он на vue.js) разные данные, например, данные для построения форм, включая лейблы, плейсхолдеры и тд, данные для таблиц (включая заголовки таблиц). Я долго уже думаю, где правильнее проводить перевод фраз, на серваке при подготовке данных или на клиент при загрузке приложения отправлять словарь (полностью или частично передавать при отправке данных) с нужным языком и пусть перевод осуществляется на клиенте
  • Вопрос задан
  • 562 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Если это веб-приложение, то особой разницы нет. Можно просто с сервера отдавать файл локализации на выбранный язык в JSON (не тащить все словари, а только на выбранный язык), и в Vue установить какой-нибудь плагин i18n и потом писать в шаблонах
<p>{{ $t("message.hello") }}</p>
где message.hello - ключ в словаре, и вызов $t("message.hello") вернет строку приветствия на текущем выбранном языке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
ЕМНИП контент срендеренный через js не очень хорошо индексируется. Но это было раньше, как поисковики сейчас смотрят на контент точно сказать не могу. Еще нюанс - тащить каждый раз словарь на клиент не очень хорошая идея. Еще вопрос с урл - для разных языков он должен быть разным, то есть хранить текущий язык в куке или локалстораже - плохая идея.
UPD: имхо лучший вариант - отдавать с сервера уже локализованный контент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы