元素的内容整体翻译能力配置
使用方式
方式一:对局部区域进行整体翻译
可以通过指定tag标签名、id、class的方式来设定要进行整体翻译的区域。
可以单独设置其中一个、也可以tag、id、class同时都进行设置,还可以某个设置多个,比如id可以push多个不同的id。
//指定tag标签
translate.whole.tag.push('h3');
//指定id
translate.whole.id.push('abc');
//指定 class 属性
translate.whole.class.push('class name');
此方式需要 translate.js v2.9.1.20231023 及更高版本才支持此能力。
方式二:对整个页面进行整体翻译
translate.whole.enableAll();
注意
- 这些设置要放在
translate.execute();
的前面。 - 如果设置了 translate.service.use(‘client.edge’); 默认也会启用整个页面的整体翻译。
- 此方式需要 translate.js v3.4.2.20240531 及更高版本才支持此能力。
说明解释
正常的翻译,是对node节点进行文本提取,分析文本包含的语种,对其进行分类整理,只对符合条件的文本进行翻译。比如
<p>hello,我是translate.js的说明</p>
这段p标签,在设置了本地语种是简体中文,要翻译为英文,这时真正通过后端翻译接口进行翻译的只有
我是
的说明
这两段文本,而其他的是不会传入后端翻译接口进行翻译的。这也充分保障了翻译效率、极大减小了传输内容的大小、极大降低了后端翻译接口的负载。
正常情况下,这样是很完美的。但是一些特殊情况,比如小说网站,它需要对翻译的内容具有非常好的连贯性、可阅读性,就需要进行指定区域的整体翻译了。
使用场景
- 你的网站是跨境电商网站,本身语种是简体中文,要翻译为葡萄牙语显示。其中有一个收货地址字段,这个地址输入是葡萄牙语,但正常翻译情况下,translate.js进行自动识别本地语种时,只支持中英文识别,是不支持葡萄牙语的,这种情况会造成这个收货地址的显示翻译会不准确,以及会造成单词被多次翻译,显示多次造成重复混乱的问题。此种情况就需要设置这个收货地址显示的元素要进行整体翻译了。
- 上述正常翻译支持的本地语种是中文跟英文,其他语种比如日语、葡萄牙语、西班牙语、藏语了等等这些还未支持,针对未支持的语种,便是需要使用此整体翻译能力,来进行翻译了。比如你有个网站为日语的,需要翻译为葡萄牙语,便可以通过整体翻译,指定翻译区域为 body,来进行整体翻译为葡萄牙语。
需要知晓
本能力因为没有浏览器层的语种过滤,是直接针对文本进行整体翻译,翻译的文本会相比正常情况下增加很多,会增加我们公共后端翻译服务的压力。而且有的朋友使用时代码方面有时适配的不是很好,会造成循环请求翻译的情况。我们为了保证公共翻译服务的稳定,进行了每个网站每日翻译字符上限两千万字的限制,正常情况下,这个数是远远达不到的!而且即使你达到了,依旧可以联系我们进行说明放开这个限制。这个只是为了避免被不正常使用造成无谓消耗。 更详细解释可点此查看