Могу ли я сделать VueI18n откат на путь ключа, если не найден полный путь ключа? - PullRequest
0 голосов
/ 30 декабря 2018

Возможно ли для VueI18n возвратиться к более короткому ключу, если он его не нашел.

Примером этого может быть то, что у меня есть следующие сообщения:

{
   en: {
      "hello": "This is the fallback message!",
      "admin.hello": "This is some other message for another context"
   }
}

Приведенный ниже код является иллюстрацией того, какими должны быть результаты:

{{ $t("does.not.exists.hello") }} // should fallback on hello, so the result will be "This is the fallback message!"
{{ $t("admin.hello") }} // Message exists so the result should be "This is some other message for another context"

{{ $t("hello") }} // Message exists so the result should be "This is the fallback message!"

1 Ответ

0 голосов
/ 30 декабря 2018

Хорошо, я быстро, с этим вопросом.MissingHandler полезен для этого.

, и пример кода стал таким: Vue.use (VueI18n)

// Создать экземпляр VueI18n с параметрами

export default new VueI18n({
    locale: 'en', // set locale
    silentTranslationWarn: true,
    missing: (locale: Locale, key: Path, vm?: Vue) => {
        if(key.includes(".")) {
            let newKey = /\.(.+)/.exec(key)[1];
            console.log(newKey)
            return vm.$t(newKey) as string
        }
        return key
    },
    //formatter: new CustomFormatter(),
    fallbackLocale: 'en',
    messages // set locale messages
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...