в итоге же логика не работает. мой язык в navigator ru-RU, а плагин выставляет en всегда по дефолту. где-то ошибка, пытаюсь найти, но пока без результатно
А как добавить больше чем 2 языка? Создал pl.json (после заполнил его как и предыдущие) В .env сделал вот так: VUE_APP_I18N_SUPPORTED_LOCALE=en,ru,pl Но новой строчки под en, ru в браузере не добавилось. Заранее спасибо
Ну, там по крайней мере надо добавить перевод для пункта меню.. Можно просто пройтись по тексту lokalise.com/blog/vue-i18n и посмотреть основные шаги добавления языка, я просто так уже не помню, тк делал это видео почти год назад
Можно определять язык и стандартными функциями. export default new VueI18n({ locale: (navigator.language || navigator.userLanguage).split('-')[0], fallbackLocale: 'ru', messages: loadLocaleMessages() })
Ваш пример работает! Но, когда пытаюсь создать приложение сам, всё заканчивается на этом этапе: new VueI18n({ // Key - language to use the rule for, `'ru'`, in this case // Value - function to choose right plural form pluralizationRules: { /** * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` * @param choicesLength {number} an overall amount of available choices * @returns a final choice index to select plural word by */ 'ru': function(choice, choicesLength) { // this === VueI18n instance, so the locale property also exists here if (choice === 0) { return 0; } const teen = choice > 10 && choice < 20; const endsWithOne = choice % 10 === 1; if (choicesLength < 4) { return (!teen && endsWithOne) ? 1 : 2; } if (!teen && endsWithOne) { return 1; } if (!teen && choice % 10 >= 2 && choice % 10
А как добавить больше чем 2 языка? Создал pl.json (после заполнил его как и предыдущие) В .env сделал вот так: VUE_APP_I18N_SUPPORTED_LOCALE=en,ru,pl Но новой строчки под en, ru в браузере не добавилось. Заранее спасибо!
Друзья, вот тут вы можете найти более свежую версию этого видео для Vue 3 ruclips.net/video/kHJwKurpEXc/видео.html
Как раз то что ищу. Спасибо.
На здоровье!
Большое спасибо, все очень понятно!
Thanks :) 👍
super
в итоге же логика не работает. мой язык в navigator ru-RU, а плагин выставляет en всегда по дефолту. где-то ошибка, пытаюсь найти, но пока без результатно
А как добавить больше чем 2 языка?
Создал pl.json (после заполнил его как и предыдущие)
В .env сделал вот так:
VUE_APP_I18N_SUPPORTED_LOCALE=en,ru,pl
Но новой строчки под en, ru в браузере не добавилось.
Заранее спасибо
Ну, там по крайней мере надо добавить перевод для пункта меню.. Можно просто пройтись по тексту lokalise.com/blog/vue-i18n и посмотреть основные шаги добавления языка, я просто так уже не помню, тк делал это видео почти год назад
Не хватает сохранения локали, выбранной пользователем, которая устанавливается при повторном входе.
Да, это правда. Её можно сохранять в куки, например, а потом считывать при входе. Видео, если честно, и так слишком длинное вышло :)
Можно определять язык и стандартными функциями.
export default new VueI18n({
locale: (navigator.language || navigator.userLanguage).split('-')[0],
fallbackLocale: 'ru',
messages: loadLocaleMessages()
})
Да, хорошее замечание
Ваш пример работает!
Но, когда пытаюсь создать приложение сам, всё заканчивается на этом этапе:
new VueI18n({
// Key - language to use the rule for, `'ru'`, in this case
// Value - function to choose right plural form
pluralizationRules: {
/**
* @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`
* @param choicesLength {number} an overall amount of available choices
* @returns a final choice index to select plural word by
*/
'ru': function(choice, choicesLength) {
// this === VueI18n instance, so the locale property also exists here
if (choice === 0) {
return 0;
}
const teen = choice > 10 && choice < 20;
const endsWithOne = choice % 10 === 1;
if (choicesLength < 4) {
return (!teen && endsWithOne) ? 1 : 2;
}
if (!teen && endsWithOne) {
return 1;
}
if (!teen && choice % 10 >= 2 && choice % 10
Хм. Если вы используете Vue 3, то там, возможно, уже есть изменения (этот пример только на Vue 2 тестировался)
@@IlyaBodrovKrukowski как раз на Vue2 делаю
@@Viktorres1 А что не работает конкретно? Какие-то ошибки?..
А как добавить больше чем 2 языка?
Создал pl.json (после заполнил его как и предыдущие)
В .env сделал вот так:
VUE_APP_I18N_SUPPORTED_LOCALE=en,ru,pl
Но новой строчки под en, ru в браузере не добавилось.
Заранее спасибо!