Node.js, Vue.js, прочитать «HTTP: Accept-Language» установить «импорт», а затем обслуживать приложение - PullRequest
0 голосов
/ 05 марта 2019

Я устанавливаю приложение vue.js с i18n, поэтому у меня есть несколько статических файлов перевода для разных языков, и буксируемые css файлы один ltr, а другой rtl.

Пока я настраиваю 'en 'как lang по умолчанию и ltr как css по умолчанию, обслуживайте их, затем проверяйте языковые стандарты пользователя и повторно отправляйте нужные файлы с динамическим импортом в зависимости от предпочтительного lang пользователя.

Я много искал, но могуНе могу найти способ прочитать «HTTP: Accept-Language», установить «import», а затем подать в приложение нужные файлы с самого начала.

Я знаю, vue.js - это инфраструктура внешнего интерфейса, но она обслуживается.с сервера node.js, поэтому должен быть способ.

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Вы можете получить accepted language, получив заголовок в части nodejs.

Требуемый заголовок req.headers["accept-language"].

Затем вам нужно передать эту информацию наvue сторона.В зависимости от того, как вы интегрируете vue, могут использоваться разные пути.

  • Если вы используете шаблон для включения vue (например, pug), вы можете передать язык в качестве переменной шаблона.и включайте различные css файлы в зависимости от желаемого языка.
  • Если вы включаете vue, используя imports, то вы можете сделать что-то вроде этого:
    • создать модуль, который экспортируетпеременная для языка и установите значение переменной, которое вы получите из заголовка
    • на стороне Vue, импортируйте модуль и импортируйте css на основе только что установленного значения
0 голосов
/ 05 марта 2019

Здесь не эксперт, но единственное правильное долгосрочное решение, которое я вижу, - это выполнять рендеринг на стороне сервера, хотя это требует некоторой работы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...