domain.json 配置

可以理解为域名白名单,它的作用有:

  1. 别人想使用你私有部署的 translate.service 提供的文本翻译API,你可以卖给他,给他开一个key,设置一个限制。
  2. 某个网站使用了 translate.js ,他网站想使用你私有部署的 translate.service 服务,你可以将他网站的域名加入进来,给他设一个上限。

说明

开源免费版本部署的 translate.service 它是没有什么鉴权的,也就是任何人都能访问到。
而 domain.json 则是付费版本才有的能力(如果你是免费版本,没有配置授权码,即使你修改了 domain.json 的内容,也不会起作用的)

第一步

/mnt/service/config.properties 配置文件增加一行设置:

  1. public.dayMaxSize=10000

这个意思是, translate.service 服务,也就是它的 /translate.json 开放API接口,如果是陌生人进行使用,也就是没出现在 domain.json 配置中的网站域名使用,它每日允许使用的最大上限就只能翻译10000字符。
如果你不想给陌生人使用,那就把它设置为 0 即可。 这样只要不是出现在 domain.json 中的,将无法使用它提供的翻译能力。
注意,默认是没有这个配置的,也就是默认不配置的情况下,

  1. 如果你是未付费授权的用户,使用的是开源免费版本,那么它是不会有什么限制的,即使你配置了 public.dayMaxSize 它也不会生效的。
  2. 如果你是付费授权用户,已配置了授权码,那么这里默认是 100 ,就是为了避免你忘记配置此处,被别人给恶意利用了。

第二步

假设网站 english.zvo.cn 使用了 translate.js ,他吧翻译通道配置成了你私有部署的 translate.service ,那么他网站进行使用语言切换的时候,会使用你私有部署的 translate.service 来进行提供翻译服务。
比如你要设置他的网站 english.zvo.cn 这个域名:

  1. 每日最大允许使用的翻译字符数是 5000000
  2. 可以使用内存来作为缓存,最大缓存翻译结果的文字 100000000 个字符

那么就可以增加这么一个配置:

  1. {
  2. "dayMaxSize": 5000000,
  3. "domain": "english.zvo.cn",
  4. "maxCacheFileSize": 0,
  5. "maxCacheMemorySize": 100000000
  6. }

解释:

完整的 /mnt/service/domain.json 配置如下所示:

  1. [
  2. {
  3. "dayMaxSize": 50000,
  4. "domain": "localhost",
  5. "maxCacheFileSize": 50000,
  6. "maxCacheMemorySize": 100
  7. },
  8. {
  9. "dayMaxSize": 3000,
  10. "domain": "abc.zvo.cn",
  11. "maxCacheFileSize": 50000,
  12. "maxCacheMemorySize": 54545
  13. },
  14. {
  15. "dayMaxSize": 100,
  16. "domain": "unknow_192.168.31.95",
  17. "maxCacheFileSize": 50000,
  18. "maxCacheMemorySize": 54545
  19. }
  20. ,
  21. {
  22. "dayMaxSize": 3000,
  23. "domain": "unknow",
  24. "maxCacheFileSize": 50000,
  25. "maxCacheMemorySize": 54545
  26. }
  27. ]

它是一个json数组的格式,可以配置多个域名规则。
另外它配置后无需重启 translate.service ,配置完成,将在1分钟后自动生效。