Как использовать переводы из магазина или функции vuex для пользовательских путей с nuxt-i18n
Я работаю над интернализацией своего сайта, и модуль nuxt-i18n до сих пор хорошо меня обслуживал. Однако я не понял, как получить и загрузить переводы для пути с сервера.
В случае общих переводов, я выбираю все с сервера и инициализации и заполняю хранилище сообщениями. Затем я просто экспортирую переводы из магазина следующим образом.
// en-US.js
import store from '../store';
export default store().state.dictionary.labels.en;
Это затем загружается, как описано в документации
Это мой конфиг
// 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',
},
],
}],
],
В конце концов, я был бы доволен и компонентным подходом. Тем не менее, потому что nuxtI18n
это свойство, а не функция, у меня нет доступа к Nuxt (this
) и, следовательно, ни в магазин приложений. Если первый вариант неосуществим, есть ли способ, как перейти к nuxtI18n
свойство значение из магазина?
Я хотел бы быть в состоянии сделать это.
// contact.vue
nuxtI18n: {
paths: {
cs: this.$store.state.pages.contact.cs
en: this.$store.state.pages.contact.en
},
},
Любая помощь высоко ценится.