браузер определяет что браузер на русском и переводит текст на русский, но видно на секунду при загрузке мерцание при смене языка - я так понимаю на момент 1 рендера сервер не знал о моем языке и выводит дефолтный, я могу как-то это фиксануть?
все верно понимаешь. отсюда возможные решения: - определять язык пользователя на сервере - не показывать ни чего пока не определится язык (так себе решение) - использовать разделение языков по url (/en /ru /uk) но это первого варианта не отменяет
взял такой код и в middleware вставил export default function ({ isHMR, app, store, route, params, req, error, redirect }) { if (isHMR) { // ignore if called from hot module replacement return } if (req) { if (route.name) { let locale = null // check if the locale cookie is set if (req.headers.cookie) { const cookies = req.headers.cookie.split('; ').map(stringCookie => stringCookie.split('=')) const cookie = cookies.find(cookie => cookie[0] === 'locale') if (cookie) { locale = cookie[1] } } // if the locale cookie is not set, fallback to accept-language header if (!locale) { locale = req.headers['accept-language'].split(',')[0].toLocaleLowerCase().substring(0, 2) } app.i18n.locale = locale } } };
Обсуждают сегодня