Я работаю над интернализацией своего веб-сайта, и модуль nuxt-i18n мне до сих пор хорошо служил.Однако я не понял, как получить и загрузить переводы для пути с сервера.
В случае распространенных переводов я получаю все с сервера и инициализации и заполняю хранилище сообщениями.Затем я просто экспортирую переводы из магазина следующим образом.
// en-US.js
import store from '../store';
export default store().state.dictionary.labels.en;
Затем он загружается, как описано в документации 1009 *
Это моя конфигурация
// nuxt.config.js
modules: [
['nuxt-i18n', {
locales: [
{
name: 'Czech',
code: 'cs',
iso: 'cs-CS',
file: 'cs-CS.js',
},
{
name: 'English',
code: 'en',
iso: 'en-US',
file: 'en-US.js',
},
],
strategy: 'prefix_except_default',
langDir: 'lang/',
lazy: true,
defaultLocale: 'cs',
}],
],
Однако, похоже, что это не реализовано в случае пользовательских преобразований путей.В идеале я хотел бы использовать первый упомянутый подход, который определяет перевод путей в nuxt config.
Поэтому я спрашиваю, могу ли я как-то сделать что-то в этом роде?
modules: [
['nuxt-i18n', {
...
pages: [
{
name: 'Czech',
code: 'cs',
iso: 'cs-CS',
file: 'pages-cs.js',
},
{
name: 'English',
code: 'en',
iso: 'en-US',
file: 'pages-en.js',
},
],
}],
],
В конце я бы тоже удовлетворился подходом component .Однако, поскольку nuxtI18n
является свойством, а не функцией, у меня нет доступа к Nuxt (this
) и, следовательно, к магазину приложения.Если первый вариант неосуществим, есть ли способ передать в свойство nuxtI18n
значение из хранилища?
Я бы хотел это сделать.
// contact.vue
nuxtI18n: {
paths: {
cs: this.$store.state.pages.contact.cs
en: this.$store.state.pages.contact.en
},
},
Любая помощь очень ценится.