1.0.8 • Published 3 years ago

mys-translate v1.0.8

Weekly downloads
17
License
MIT
Repository
-
Last release
3 years ago

基于百度翻译 api 的翻译插件

node 后端、前端工程(vue、react、jq 之类)都可以用, 可以直接命令生成对应的其他语言版本文件,还可以启动翻译服务

直接使用百度翻译的弊端

百度翻译 api 文档

  • 1、分标准版、高级版、尊享版享用不同的并发数,而且超出并发直接报错
  • 2、只能翻译字符串,我的插件可以翻译复杂对象,嵌套对象
  • 3、sign 生成,需要 md5 加密多个字段的拼接

使用前提

注册百度翻译平台账号,开通通用翻译 api, https://api.fanyi.baidu.com/doc/21

前端项目、node 后端项目中使用

  • 1、安装
npm i -s mys-translate
  • 2、引入
import MysKeyTranslate from 'mys-translate'

const translate = new MysKeyTranslate({
  // 必填参数,appid,secret 去百度翻译平台注册,标准版是完全免费的
  appid: "",
  secret: "",

  // 非必填参数
  showProgress: true, // 开启后每次调用的翻译都会console.log
  requestNumber: 1, // 并发数, 百度翻译标准版1s只有1个并发   高级版1s有10个并发   尊享版1s有100个并发
  agreement: "http", // 发送什么协议的请求
});

// 然后就可以直接使用
translate("天气") // 默认中转英

translate("good night", { from 'en', to: 'zh' }) // 传入from,to指定转什么

translate([{ name: "小明" }, { name: "小红" }])  // 可传入复杂对象,只翻译value,不翻译key
  • 3、在前端项目中,浏览器同源策略会跨域,配置proxy。

参考vue项目中跨域配置

启动一个翻译服务

如果你想自己启用一个翻译 api 的话,如下操作:

  • 1、拉源码
git clone https://github.com/mySkey/mys-translate.git
  • 2、修改根目录 config.js

appid、secret 改为你的百度翻译平台的,https://api.fanyi.baidu.com/api/trans/product/desktop?req=developer

  • 3、启动服务
npm run server

利用一份文件直接生成其他语言版本文件

做过国际化的朋友应该知道,前端也要写各种语言版本的静态文案,尤其项目很大,还是新项目的话,要把人搞死,一句句去翻译效率太低,我这个插件直接能生成其他语言版本文件,步骤如下:

1、拉源码

git clone https://github.com/mySkey/mys-translate.git

2、修改根目录 config.js

配置 other 项

const data = require("./locales/ZH_CN.ts"); // 我这里引入的是我提供的example,修改为你提供的文件

const config = {
  // 必须配置项
  appid: "",
  secret: "",

  // 非必须配置
  showProgress: true,
  requestNumber: 1, // 并发数, 百度翻译标准版1s只有1个并发   高级版1s有10个并发   尊享版1s有100个并发
  agreement: "http", // 发送什么协议的请求

  // 启用服务的话,可配置
  server: {
    port: 3000,
  },

  // 需要使用命令直接生成其他语言版本,才需配置
  other: {
    origin: data, // 源文件
    originType: "zh", // 源文件的语言版本
    types: ["en", "jp"], // 需要的语言版本
    outDir: "./", // 输出文件的目录,最好用绝对路径,相对路径的话已config.js目录为根目录
  },
};

module.exports = config;

3、执行命令

npm run other

语种对应表

中文 	zh
英语 	en
韩语	kor
日语	jp
法语	fra
俄语	ru

完整版请参考百度翻译文档: http://api.fanyi.baidu.com/doc/21

1.0.8

3 years ago

1.0.7

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.2

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago