VueI18n 检查是否存在翻译



有没有办法检查是否存在翻译?

<p v-if="$t('some_key')">{{ $t('some_key') }}</p>

在这种情况下,如果没有翻译,它将打印"some_key"。也许有一种方法可以配置全局回退?

您可以使用$te方法。

用法示例:

<p v-if="$te('some_key')">{{ $t('some_key') }}</p>

https://kazupon.github.io/vue-i18n/api/#vue-injected-methods

<template>
<p v-if="te('some_key')">{{ t('some_key') }}</p>
</template>
<script setup>
import { useI18n } from 'vue-i18n';
...
const { t, te } = useI18n();
</script>

我也对此感兴趣,并去查找文档。 上面的选项很好,可能是最好的,因为当你有大型翻译文件时,以下内容可能会变得非常混乱,但它来自 i18n self,也可能适用于某些人:

https://www.i18next.com/principles/fallback

其中有一行,您可以将键指定为实际句子。因此,当该键不可用时,键将变为文本:

i18next.t("没有人说密钥不能成为后备。

这个"没有人说密钥不能成为后备"现在是翻译文件中的密钥,但如果它不存在,它将显示此英文版本。

同样,如果你有巨大的翻译文件,因为快捷键可以保持更好的可读性,如果有人像这样使用它,我不会这样做..不要做全文作为键..哦,真是一团糟。 我什至应该发布这个吗? :p

最新更新