Vue -i18n переводов в js файле вместо json - PullRequest
0 голосов
/ 11 марта 2020

Как использовать .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 голосов
/ 13 марта 2020

Я нашел aswer, это может быть полезно для некоторых в будущем. Из vue -cli 3 отредактируйте root каталог 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
...