如何在nuxt/i18n组件中实现带HTML的单复数翻译
Nuxt/i18n 组件实现单复数翻译方法
plural属性实现单复数切换,用法和$tc方法的第二个参数逻辑一致,同时可以配合插槽为变量添加HTML样式。
具体实现步骤:
- 保持你的翻译JSON结构不变:
{ "key": "a car | {count} cars" }
- 在
组件中添加 plural属性,指定用于判断单复数的数量值,同时在#count插槽里编写带样式的内容:
<i18n path="path.to.key" :plural="2"> <template #count> <!-- 这里可以添加任意HTML样式,比如加粗标签 --> <span style="font-weight: bold;">2</span> </template> </i18n>
- 动态绑定数量的场景:
如果数量是动态变量,只需将plural属性和插槽内容都绑定到变量即可:
<script setup> const dynamicCount = ref(3) </script> <template> <i18n path="path.to.key" :plural="dynamicCount"> <template #count> <span class="highlight">{{ dynamicCount }}</span> </template> </i18n> </template>
补充说明
plural属性会遵循当前语言的复数规则自动匹配对应的翻译条目,无论是双形式(单/复)还是多形式的复数规则(如部分欧洲语言的复数体系),都能和$tc方法保持一致的表现。
内容的提问来源于stack exchange,提问作者sportakal
相关产品推荐
相关产品推荐

