Skip to content

Commit

Permalink
add: Niu Trans support
Browse files Browse the repository at this point in the history
  • Loading branch information
xiangyu committed Mar 12, 2022
1 parent 29952af commit 8c509f3
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 13 deletions.
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Zotero PDF Translate
This is an add-on for [Zotero 6](https://www.zotero.org/). It provides PDF translation for Zotero inner PDF reader.
This is an add-on for [Zotero 6](https://www.zotero.org/). It provides PDF translation for Zotero built-in PDF reader.

![](imgs/en2jp.png)

Expand Down Expand Up @@ -27,12 +27,13 @@ Not the lauguage you want? The default tartget lauguage is `zh-CN`(Chinese Simpl
The default engine is Google Translate. Currently we support:
| Translate Engine | Require Secret | Supported Languages |
| ---- | ---- | ---- |
| Google Translate | No | [200+]()
| Youdao Translate | No | [100+?](https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html)
| Google Translate | No | [100+](https://translate.google.com/about/languages/) |
| Microsoft Translate | Yes(free 2M) | [200+](https://docs.microsoft.com/en-us/azure/cognitive-services/translator/language-support) |
| LingoCloud(Caiyun) Translate | No(temporarily) | [zh, en, ja, es, fr, ru](https://open.caiyunapp.com/LingoCloud_API_in_5_minutes)
| Youdao Translate | No | [100+?](https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html) |
| LingoCloud(Caiyun) Translate | No(temporarily) | [zh, en, ja, es, fr, ru](https://open.caiyunapp.com/LingoCloud_API_in_5_minutes) |
| Niu Translate | No | [100+](https://niutrans.com/documents/contents/trans_text#accessMode) |

如果你无法访问谷歌,请选择有道或彩云作为翻译引擎
如果你无法访问谷歌,请选择其他翻译引擎
### Lauguage Settings
You can change the source and target language here. For some Translte Engines, the `secret` is required. They are listed below:
> **Microsoft Translate**
Expand Down
3 changes: 2 additions & 1 deletion chrome/content/preferences.xul
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@
<menulist id="zotero-prefpane-zoteropdftranslate-settings-translate-source" preference="pref-zoteropdftranslate-translate-source" oncommand="updateSourceParam()">
<menupopup>
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.google;" value="google" />
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.youdao;" value="youdao" />
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.microsoft;" value="microsoft" />
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.youdao;" value="youdao" />
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.caiyun;" value="caiyun" />
<menuitem label="&zotero.zoteropdftranslate.pref.api.translateSource.niutrans;" value="niutrans" />
</menupopup>
</menulist>
</hbox>
Expand Down
38 changes: 37 additions & 1 deletion chrome/content/scripts/zoteropdftranslate.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
Zotero.ZoteroPDFTranslate = {
translate: {
niutrans: async function () {
let sl = Zotero.Prefs.get("ZoteroPDFTranslate.sourceLanguage");
if (typeof sl === "undefined") {
secret = Zotero.ZoteroPDFTranslate.defaultSourceLanguage;
}
let tl = Zotero.Prefs.get("ZoteroPDFTranslate.targetLanguage");
if (typeof tl === "undefined") {
secret = Zotero.ZoteroPDFTranslate.defaultTargetLanguage;
}
let param = `from=${sl.split("-")[0]}&to=${tl.split("-")[0]}`;
let xhr = await Zotero.HTTP.request(
"GET",
`https://test.niutrans.com/NiuTransServer/testaligntrans?${param}&src_text=${
Zotero.ZoteroPDFTranslate._sourceText
}&source=text&dictNo=&memoryNo=&isUseDict=0&isUseMemory=0&time=${new Date().valueOf()}`,
{
responseType: "json",
}
);

if (xhr.status === 200) {
try {
let tgt = xhr.response.tgt_text;
Zotero.debug(tgt);
Zotero.ZoteroPDFTranslate._translatedText = tgt;
return 0;
} catch (e) {
Zotero.debug(e);
Zotero.debug(xhr);
return -1;
}
}
Zotero.ZoteroPDFTranslate._translatedText = xhr.status;
return xhr.status;
},
caiyun: async function () {
let secret = Zotero.Prefs.get("ZoteroPDFTranslate.secret");
if (typeof secret === "undefined") {
Expand Down Expand Up @@ -225,14 +260,15 @@ Zotero.ZoteroPDFTranslate = {
Zotero.ZoteroPDFTranslate._translatedText = xhr.status;
return xhr.status;
},
sources: ["google", "youdao", "microsoft", "caiyun"],
sources: ["google", "youdao", "microsoft", "caiyun", "niutrans"],
defaultSourceLanguage: "en-US",
defaultTargetLanguage: "zh-CN",
defaultSecret: {
google: "",
youdao: "",
microsoft: "0fbf924f4a334759a3340cf7c09e2128",
caiyun: "3975l6lr5pcbvidl6jl2",
niutrans: "",
},
},
_openPagePopup: undefined,
Expand Down
5 changes: 3 additions & 2 deletions chrome/locale/en-US/overlay.dtd
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.youdao "Youdao Translate">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.microsoft "Microsoft Translate*">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.caiyun "LingoCloud(Caiyun) Translate*">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.niutrans "Niu Translate">

<!ENTITY zotero.zoteropdftranslate.pref.api.sourceLanguage.label "Translate From">
<!ENTITY zotero.zoteropdftranslate.pref.api.targetLanguage.label "To">
<!ENTITY zotero.zoteropdftranslate.pref.api.secret.label "Secret">
<!ENTITY zotero.zoteropdftranslate.pref.api.secret.warning.label "See GitHub for more infomation about Secret">
<!ENTITY zotero.zoteropdftranslate.help.feedback.caption.label "Feedback">
<!ENTITY zotero.zoteropdftranslate.help.feedback.label "GitHub">
<!ENTITY zotero.zoteropdftranslate.help.version.label "Zotero PDF Translate VERSION 0.0.6">
<!ENTITY zotero.zoteropdftranslate.help.releasetime.label "Build 2022-03-11 23:42:12">
<!ENTITY zotero.zoteropdftranslate.help.version.label "Zotero PDF Translate VERSION 0.0.7">
<!ENTITY zotero.zoteropdftranslate.help.releasetime.label "Build 2022-03-12 17:02:54">
5 changes: 3 additions & 2 deletions chrome/locale/zh-CN/overlay.dtd
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.youdao "有道翻译">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.microsoft "微软翻译*">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.caiyun "彩云小译*">
<!ENTITY zotero.zoteropdftranslate.pref.api.translateSource.niutrans "小牛翻译">

<!ENTITY zotero.zoteropdftranslate.pref.api.sourceLanguage.label "从">
<!ENTITY zotero.zoteropdftranslate.pref.api.targetLanguage.label "翻译到">
<!ENTITY zotero.zoteropdftranslate.pref.api.secret.label "密钥">
<!ENTITY zotero.zoteropdftranslate.pref.api.secret.warning.label "有关密钥请参阅GitHub">
<!ENTITY zotero.zoteropdftranslate.help.feedback.caption.label "反馈">
<!ENTITY zotero.zoteropdftranslate.help.feedback.label "GitHub">
<!ENTITY zotero.zoteropdftranslate.help.version.label "Zotero PDF Translate 版本 0.0.6">
<!ENTITY zotero.zoteropdftranslate.help.releasetime.label "Build 2022-03-11 23:42:12">
<!ENTITY zotero.zoteropdftranslate.help.version.label "Zotero PDF Translate 版本 0.0.7">
<!ENTITY zotero.zoteropdftranslate.help.releasetime.label "Build 2022-03-12 17:02:54">
2 changes: 1 addition & 1 deletion install.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
RDF:about="urn:mozilla:install-manifest"
em:id="zoteropdftranslate@euclpts.com"
em:name="Zotero PDF Translate"
em:version="0.0.6"
em:version="0.0.7"
em:type="2"
em:creator="windingwind"
em:description="PDF translation plugin for Zotero 6"
Expand Down
2 changes: 1 addition & 1 deletion update.rdf
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<rdf:Seq>
<rdf:li>
<rdf:Description>
<em:version>0.0.6</em:version>
<em:version>0.0.7</em:version>
<em:targetApplication>
<rdf:Description>
<em:id>zotero@chnm.gmu.edu</em:id>
Expand Down

0 comments on commit 8c509f3

Please sign in to comment.