平方X

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3737|回复: 0

[2488]OmegaT 百度翻译插件开发记录

[复制链接]

414

主题

709

帖子

3602

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3602
QQ
发表于 2018-1-3 20:48:48 | 显示全部楼层 |阅读模式
[md]
# 0x00 前言
之前使用 HtmlUnit 实现,但比较笨,后来还失效了。[让OmegaT支持百度翻译和谷歌翻译](http://blog.pingfangx.com/2359.html)  
于是这一次重写插件,  
[[2487]OmegaT 谷歌翻译插件开发记录](http://blog.pingfangx.com/2487.html)  
[[2488]OmegaT 百度翻译插件开发记录](http://blog.pingfangx.com/2488.html)  

# 0x01 appId 和 securityKey
>若当月翻译字符数≤2百万,当月免费;若超过2百万字符,按照49元/百万字符支付当月全部翻译字符数费用

可以免费使用,配置 appId 和 securityKey 即可。

# 0x02 保存
以前是在 OmegaT.l4J.ini 中设置,发现改了。查看其他机器翻译,
## 获取
```
        String appId = getCredential(PROPERTY_BAIDU_APP_ID);
        if (appId == null || appId.isEmpty()) {
            return "need config " + PROPERTY_BAIDU_APP_ID;
        }
        String securityKey = getCredential(PROPERTY_BAIDU_SECURITY_KEY);
        if (securityKey == null || securityKey.isEmpty()) {
            return "need config " + PROPERTY_BAIDU_SECURITY_KEY;
        }
```
## 写入
```
    @Override
    public boolean isConfigurable() {
        return true;
    }

    @Override
    public void showConfigurationUI(Window parent) {
        MTConfigDialog dialog = new MTConfigDialog(parent, getName()) {
            @Override
            protected void onConfirm() {
                boolean temporary = panel.temporaryCheckBox.isSelected();
                String appId = panel.valueField1.getText().trim();
                setCredential(PROPERTY_BAIDU_APP_ID, appId, temporary);
                String securityKey = panel.valueField2.getText().trim();
                setCredential(PROPERTY_BAIDU_SECURITY_KEY, securityKey, temporary);
            }
        };
        dialog.panel.valueLabel1.setText(PROPERTY_BAIDU_APP_ID);
        dialog.panel.valueField1.setText(getCredential(PROPERTY_BAIDU_APP_ID));
        dialog.panel.valueLabel2.setText(PROPERTY_BAIDU_SECURITY_KEY);
        dialog.panel.valueField2.setText(getCredential(PROPERTY_BAIDU_SECURITY_KEY));
        dialog.panel.temporaryCheckBox.setSelected(isCredentialStoredTemporarily(PROPERTY_BAIDU_APP_ID));
        dialog.show();
    }
```[/md]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|平方X ( 冀ICP备14018164号 )

GMT+8, 2024-4-26 20:11 , Processed in 0.155207 second(s), 21 queries .

技术支持:Powered by Discuz!X3.4  © 2001-2013 Comsenz Inc.

版权所有:Copyright © 2014-2018 平方X www.pingfangx.com All rights reserved.

快速回复 返回顶部 返回列表