@frontendo

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

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

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

Войти через TM ID
Похожие вопросы
OneTwoTrip! Москва
от 120 000 до 200 000 руб.
1Win Санкт-Петербург
от 80 000 до 200 000 руб.
от 200 000 до 300 000 руб.
21 авг. 2018, в 20:22
530 руб./в час
21 авг. 2018, в 19:08
500 руб./за проект
21 авг. 2018, в 18:45
50000 руб./в месяц