js文件而不是json中的Vue-i18n翻译

时间:2020-03-11 16:34:34

标签: javascript vue.js vue-i18n

如何将.js文件用于翻译而不是.json

更改:

const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i)

const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.js$/i)

不起作用。有想法吗?

1 个答案:

答案 0 :(得分:0)

我发现了一个问题,这可能对将来的工作有所帮助。在vue-cli 3中,编辑根目录i18n.js文件,功能为loadLocalMessages:

function loadLocaleMessages () {
  const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.js$/i)
  const messages = {}

  locales.keys().forEach(key => {
    const matched = key.match(/([A-Za-z0-9-_]+)\./i)

    if (matched && matched.length > 1) {
      const locale = matched[1]
      messages[locale] = locales(key).default
    }
  })

  return messages
}

locales/en.js

const translations = { /* translations here */ }
export default translations