json - 使用 vue-i18n 和 nuxtjs 为每种语言提供多个翻译文件

标签 json internationalization vue-i18n

我使用 nuxtjs 和 i18n 构建了一个多语言的静态网站。目前我每种语言都有一个 json 文件。为了更好的结构,我想将文件拆分为每种语言的多个文件。我怎样才能做到这一点?有没有办法可以告诉 i18n 明确它应该用于页面的哪个 json 文件?或者我是否必须将 jsons 文件连接成一个?

我用这个例子来构建我的翻译 https://nuxtjs.org/examples/i18n/

最佳答案

// i18n.js plugin
import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)

export default ({ app, store }) => {
  app.i18n = new VueI18n({
    locale: store.state.locale,
    fallbackLocale: 'en-US',
    messages: {
      en: Object.assign({}, require('~/locales/en.json'), require('~/locales/en.settings.json')),
      tr: Object.assign({}, require('~/locales/tr.json'), require('~/locales/tr.settings.json')),
    },
    silentTranslationWarn: true,
  })
}

关于json - 使用 vue-i18n 和 nuxtjs 为每种语言提供多个翻译文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48861001/

相关文章:

Jquery对象替换数组中的值

android - Google Maps Android API v2,标记标题/fragment 错误显示

ruby-on-rails - 不推荐使用 I18n 消息中的 {{key}} 插值语法。请改用 %{key}

nuxt.js - 如何使用vite动态导入json文件

internationalization - vue-i18n 中的动态本地化

vue.js - 如何从 vue-i18n 获取货币符号

javascript - 我如何才能通过执行负载中包含的操作来对 APNS 推送消息采取行动

json - 使用默认Grails JSON渲染器时的Snake case json

javascript - 从变量中删除前导数字 (jQuery Get)

php - 进行多种语言的翻译