miurahr / omegat-textra-plugin

OmegaT plugin to use TexTra(R) powered by NICT
https://codeberg.org/miurahr/omegat-textra-plugin
GNU General Public License v3.0
27 stars 4 forks source link

Suport New Web API NMT(Neural Machine Translation) #5

Closed miurahr closed 5 years ago

miurahr commented 5 years ago

NICT released NMT rather than SMT in July 2017. This lead change of Web API. The plugin should update to adapt new API.

related https://github.com/miurahr/omegat-textra-plugin/issues/4#issuecomment-435559858

hsugawa8651 commented 5 years ago

v0.4 プラグインで、【英語 → 日本語] の翻訳で呼びされる generic_en_ja や minna_en_ja の WebAPI では code=525 や 530 が各々返され、result の text要素は空でした。

現時点の「みん翻」の説明によると、汎用NMT【英語 - 日本語] generalN_en_ja が、既定のAPIのようです。

WebAPI として generalN を決め打ちする形で試してみました。 https://github.com/hsugawa8651/omegat-textra-plugin v0.4n です。正しく翻訳結果が返ってきました。

miurahr commented 5 years ago

@hsugawa8651 master ブランチのHEADに、修正をいれてみました。 ご確認をおねがいできますでしょうか。

既知の問題

翻訳まわりは、まだ修正が必要です。

hsugawa8651 commented 5 years ago

ありがとうございます。しかし、 genericN では NGで、generalN がOKです。 (上コメントの末尾は混乱して genericNと誤記しました。修正しました)

miurahr commented 5 years ago

これでどうでしょう? @hsugawa8651 https://github.com/miurahr/omegat-textra-plugin/commit/66c3914931ecc4ee7978a3d7f737b59e665b7090

今後、同様の修正が必要になる場合は、同じように修正すればいいはずです。 変更箇所が多岐にわたるので、IntelliJ IDEAのようなIDEなしに修正するのは大変です。また、GUI部分はIDEAのGUIエディタで作成していますので、IDEで編集してもらえればとおもいます。community editionで十分対応できます。

hsugawa8651 commented 5 years ago

【英語 → 日本語】を試しましたが、翻訳結果は表示されます。 ただし、Set Options メニューを選んでも、何も表示されません (という動作でよろしいですか?)

miurahr commented 5 years ago

エラーになっちゃってますね。修正時に、コンパイル&動作確認できる作業環境になかったので、検出できなかった。なにかがわるいようです。 実行時のログをつけていただけるとたすかります。

80625: 情報: メニュー項目 optionsMachineTranslateMenu をクリック (LOG_MENU_CLICK)
80625: エラー: Uncatched exception in thread [AWT-EventQueue-0] 
80625: エラー: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key GenericModeToolTip 
80625: エラー:     at java.util.ResourceBundle.getObject(ResourceBundle.java:450) 
80625: エラー:     at java.util.ResourceBundle.getString(ResourceBundle.java:407) 
80625: エラー:     at tokyo.northside.omegat.textra.dialog.TextraOptionDialog.$$$setupUI$$$(TextraOptionDialog.java:209) 
80625: エラー:     at tokyo.northside.omegat.textra.dialog.TextraOptionDialog.<init>(TextraOptionDialog.java:148) 
80625: エラー:     at tokyo.northside.omegat.textra.OmegatTextraMachineTranslation.actionPerformed(OmegatTextraMachineTranslation.java:150) 
80625: エラー:     at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) 
80625: エラー:     at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) 
80625: エラー:     at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
80625: エラー:     at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
80625: エラー:     at javax.swing.AbstractButton.doClick(AbstractButton.java:376) 
80625: エラー:     at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842) 
80625: エラー:     at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886) 
80625: エラー:     at java.awt.Component.processMouseEvent(Component.java:6539) 
80625: エラー:     at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) 
80625: エラー:     at java.awt.Component.processEvent(Component.java:6304) 
80625: エラー:     at java.awt.Container.processEvent(Container.java:2239) 
80625: エラー:     at java.awt.Component.dispatchEventImpl(Component.java:4889) 
80625: エラー:     at java.awt.Container.dispatchEventImpl(Container.java:2297) 
80625: エラー:     at java.awt.Component.dispatchEvent(Component.java:4711) 
80625: エラー:     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) 
80625: エラー:     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) 
80625: エラー:     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) 
80625: エラー:     at java.awt.Container.dispatchEventImpl(Container.java:2283) 
80625: エラー:     at java.awt.Window.dispatchEventImpl(Window.java:2746) 
80625: エラー:     at java.awt.Component.dispatchEvent(Component.java:4711) 
80625: エラー:     at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) 
80625: エラー:     at java.awt.EventQueue.access$500(EventQueue.java:97) 
80625: エラー:     at java.awt.EventQueue$3.run(EventQueue.java:709) 
80625: エラー:     at java.awt.EventQueue$3.run(EventQueue.java:703) 
80625: エラー:     at java.security.AccessController.doPrivileged(Native Method) 
80625: エラー:     at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) 
80625: エラー:     at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) 
80625: エラー:     at java.awt.EventQueue$4.run(EventQueue.java:733) 
80625: エラー:     at java.awt.EventQueue$4.run(EventQueue.java:731) 
80625: エラー:     at java.security.AccessController.doPrivileged(Native Method) 
80625: エラー:     at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) 
80625: エラー:     at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) 
80625: エラー:     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) 
80625: エラー:     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
80625: エラー:     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
80625: エラー:     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
80625: エラー:     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
80625: エラー:     at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
miurahr commented 5 years ago

修正しました。わたしの手元では、設定画面はうごいているようです。

hsugawa8651 commented 5 years ago

ありがとうございます。当方がビルドしたプラグインでも、Set Options メニューは動作しました。

miurahr commented 5 years ago

本修正をいれて、V0.5をリリースしました。