在我们的 Vue 应用程序中,我们动态加载翻译。在它们从服务器到达之前,我们的字符串将显示为代码/表达式。
如果没有加载消息,是否有某种方法告诉 Vue-i18n 默认为空白?或者我可以重写某些内容以返回空字符串吗?
Vue-i18n
您可以通过在 VueI18n 初始化中添加 fallbackLocale 属性来实现此目的。
VueI18n
fallbackLocale
正如下面的演示中,语言环境 ja 不可用,因此,它加载 fallbackLocale (我在默认语言环境的所有属性中添加了空字符串)。 p>
ja
现场演示:
const messages = { en: { message: { tokyo: 'Tokyo', newyork: 'New York', london: 'London' } }, default: { message: { tokyo: '', newyork: '', london: '' } } } const i18n = new VueI18n({ locale: 'ja', fallbackLocale: 'default', messages, }) new Vue({ i18n, data: {cities: ['tokyo', 'newyork', 'london']} }).$mount('#app')
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.14.1/vue-i18n.min.js"></script> <div id="app"> <ul> <li v-for="city in cities" :key="city"> {{city}}: {{ $t("message." + city) }} </li> </ul> </div>
您可以通过在
VueI18n
初始化中添加fallbackLocale
属性来实现此目的。正如下面的演示中,语言环境
ja
不可用,因此,它加载fallbackLocale
(我在默认语言环境的所有属性中添加了空字符串)。 p>现场演示: