自定义翻译术语

如果你感觉某些翻译不准确,可进行针对性的定义某些词的翻译结果,进行自定义术语库。使用的方法为:

  1. translate.nomenclature.append(from, to, properties);

传入参数解释:

  1. 你好=Hello
  2. 世界=ShiJie

比如,要自定义 “网市场云建站系统” 、 “国际化” 这两个词由 简体中文 翻译为 英文 的结果,可以这么写:

  1. translate.nomenclature.append('chinese_simplified','english',`
  2. 网市场云建站系统=wangmarket CMS
  3. 国际化=GuoJiHua
  4. `);

这个自定义术语库的可以单独用一个js文件来定义,如此定义一次,在类似的项目中有使用,可直接将之前定义的js术语库文件复制来引入即可方便使用。

注意,这行要放到 translate.execute(); 上面

示例

这里给出一个示例用于参考,链接地址: https://res.wang.market/translate/doc/demo_nomenclature.html
您可打开后查看页面源代码,即可看到它是如何设置的。

注意

不传from参数的场景使用

针对这种场景: 用户做的网站,可能是中文的,也可能是韩语的,这个本地语种并不确定的场景, from 参数没法精确指定,这时
你还可以不设定固定的form参数,而是传入空字符串的方式,来自动适配当前网页语种。
使用示例:

  1. translate.nomenclature.append('','english',`
  2. 网市场云建站系统=wangmarket CMS
  3. 国际化=GuoJiHua
  4. `);

可以看到, from 参数传入的是 ‘’ 一个空字符串,这时它将会自动匹配当前本地语种作为from 。
针对这种from不设定的场景,需要注意几点:

  1. 要确保 translate.nomenclature.append 是放在 </body></html> 之间,也就是确保dom完毕后再触发它,这样它自动去获取当前网页翻译区域的语种时,因为dom渲染完了,才能准确的获取语种。 如果你把它放在head标签里,body都还没有,它如果去自动获取网页翻译区域语种,它都获取不到body,啥也获取不到,自然也就什么语种也获取不到了。
  2. 如果你使用 translate.language.setLocal(‘chinese_simplified’); 设置本地语种了,那么你这个 translate.nomenclature.append 可以放到任何位置,比如放到head里都是可以的,因为设置本地语种后, translate.js 就不会再去获取翻译区域的语种了,而是直接使用 translate.language.setLocal('chinese_simplified'); 所设置的语种作为from参数的值。
  3. 需要 translate.js v3.18.11.20250829 及更高版本才支持不设置from