Heim > Fragen und Antworten > Hauptteil
In unserer Vue-Anwendung laden wir Übersetzungen dynamisch. Unsere Zeichenfolgen werden als Codes/Ausdrücke angezeigt, bevor sie vom Server eintreffen.
Gibt es eine Möglichkeit, Vue-i18n
anzuweisen, standardmäßig leer zu bleiben, wenn keine Nachricht geladen wird? Oder kann ich etwas überschreiben, um eine leere Zeichenfolge zurückzugeben?
P粉0879514422024-01-11 09:05:44
您可以通过在 VueI18n
初始化中添加 fallbackLocale
属性来实现此目的。
正如下面的演示中,语言环境 ja
不可用,因此,它加载 fallbackLocale
(我在默认语言环境的所有属性中添加了空字符串)。 p>
现场演示:
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>