当前位置: 首页 > 知识库问答 >
问题:

前端 - 项目中使用国际化插件,设置语言对象时只能对已知内容设置,如何实现对动态获取内容的语言设置?

彭雨华
2023-12-11

中英切换时,在语言包对象设置了表头(已知字段),所以表头可以实现中英切换。但是表格内容是未知的,那语言包对象如何设置才能够将表格内容也能够同步切换。
语言包配置对象:
image.png

image.png
表头中英切换方法:
image.png

效果:
image.png

共有3个答案

齐向笛
2023-12-11

这样的业务,一般通过翻译接口来实现,比如有道翻译,或者百度翻译,直接把你的数据翻译成英文或者中文,但是存在一个问题, 就是翻译的精准性, 由于使用接口进行翻译, 有些词组会出现一点偏差, 看你业务怎么取舍吧,你看看这篇文章
https://blog.csdn.net/wokuailewozihao/article/details/82021709/

晏卓君
2023-12-11

需求比较不明朗,还是需要和产品经理确认需求。

一般来说需要国际化的 cellValue 和 不需要国际化的 cellValue 不应该在同一列的。

或者就是下拉选择 + 可新建下拉选项的形式。这个时候如果用户选择了预设好的值就存入国际化的 key 值,如果是用户手工维护的字符串则直接存入对应的字符串。
这样前端在使用 {{ $t(i18n-key) }} 渲染文案的时候就会自动取匹配国际化配置文件中是否有对应的内容,如果没有则会直接展示 i18n-key 这个变量。比如说:

  • {{$t('button.confirm')}} 会渲染成 确认
  • {{$t('这里是一段文本内容')}} 会渲染成 这里是一段文本内容

但最好还是说得确认一下需求,一般来说需要i18n的都是一些字典预设,这些值可能会参与业务计算。所以直接用 i18n-key 并不是一个好的决定。因为多半是需要存入字典 key 值而不是字典 label 标识。

慕容越泽
2023-12-11

做不到,除非你们后端存的和给你返回的都是i18n对象的key,然后就能根据key来匹配翻译后的语言了

 类似资料:
  • 问题内容: 我正在运行Ubuntu Docker容器。我有挪威语键盘,需要使用挪威语字符(øæå)。 我的终端字符编码设置为UTF-8,我使用SSH连接到我的容器。但是,我无法键入挪威字符,也无法复制和粘贴挪威字符,也无法使用CTL + SHIFT + U + 00f8。 我试过了: 但是什么都没有改变。如何在Docker容器中设置语言环境和键盘? 问题答案: 将Dockerfile改编自 这摘自

  • 在设定期间您可选择用于 M600 的语言。 您可选择以下语言之一: 广东话(香港) 丹麦语 荷兰语 英语(美国、英国) 芬兰语 法语(法国、加拿大) 德语 印度尼西亚语 意大利语 日语 韩语 中文(台湾) 挪威语(巴克摩) 波兰语 葡萄牙语(巴西) 俄语 西班牙语(美国、西班牙、拉美) 瑞典语 泰语 土耳其语 越南语 请注意,您的智能手表最终会将您的语言设定复制到手机。换句话说,即如您在 M600

  • 我有一个页面,需要动态创建一个iframe并将其粘贴到页面上的div中。我创建iframe的方式如下: 根据某些条件,我需要:A)将iframe src设置为其他页面,或者B)动态地向iframe添加一些HTML。 我有选项A的罚款,但选项B抛出了安全错误: 在尝试设置HTML之前,是否需要在动态iframe上设置?我怎么会那么做呢?有没有更简单的方法将动态内容附加到动态iframe中? 提前道谢

  • 内刀片-。 在。 如果我跑: 我得到正确的欢迎刀片页面与正确的翻译。 另一条路线: 如果我运行

  • 运动内容 有关运动内容的更多信息,请参见“运动内容”。 以下运动内容已在 A300 中: 跑步 行走 骑自行车 力量训练 小组练习 其他室内活动 其他户外活动 游泳 在 Flow 网络服务上,您可以添加新运动内容,并将这些内容同步到 A300 上,通过这种方式可以创建一份您经常进行的所有运动的列表。查看Flow 网络服务中的“运动内容”的更多信息。 如果您在第一次训练前已在 Flow 网络服务上编

  • 问题内容: 当我在Linux机器上使用默认的Java语言环境时,它带有美国语言环境设置,应在哪里进行更改以使其具有正确的语言环境? 问题答案: 我相信Java会从启动它的环境变量中收集这些信息,因此您需要确保正确设置LANG和LC_ *环境变量。 语言环境手册页包含有关所述环境变量的完整信息。