美文网首页Android开发Android开发经验谈Android开发学习
IntelliJ插件 写了一款格式化英文及将中文翻译成英文的插件

IntelliJ插件 写了一款格式化英文及将中文翻译成英文的插件

作者: 不会飞的小猪 | 来源:发表于2020-03-18 19:49 被阅读0次

    一、背景

    做国际化的时候,一般至少会做一个英文的翻译。这不是难事,国际化的步骤也简单,无非是所有的地方改成引用string的方式、然后设置环境、保存用户设置信息等,然后把翻译文件给到翻译人员。之后等待许久(一般也要几天吧)后拿到文件替换。哟,格式不对啊,没有大写啊,上千行的英文字母去手动改啊?
    于是,算了,还是写个插件来格式化吧。写着写着,就想到,好像还可以做个功能直接将中文翻译成英文啊。So, 那就do吧!
    (应该适用于所有IntelliJ 的IDE,在Plugin中搜索ReplaceStrings

    image.png

    二、 图示

    1. 格式化英文


    只做了首个单词的首字母小写转换。(要做非介词外的其它单词首字母大写么?一般不用!)

    2. 中文翻译成英文


    (ps:上千行的字符串翻译速度要是有gif中表现得那样快么?
    答:码啥卡!!! 你以为翻译是从本地数据库掏出来的么:smirk:,一般的话10-20秒差不多吧。)
    翻译成中文肯定是要接入api的,这里选用的是有道的api。https://ai.youdao.com/doc.s#docs
    然后建个应用得到应用ID和应用密钥,在使用插件的时候填入即可(api的翻译次数及字数限制,个人用一般是足够了)。

    3. 开发过程中的小坑

    小坑主要是这方面的资料少,需要摸索的地方多,时间有限,以实现功能为主。

    a. 安装插件后有报错

    安装插件后,IDE会提示重启后才能生效。重启后,可以看到插件安装是否成功,可以通过IDE给出的弹窗信息来看,一般也就是在右下角可以看到。



    点开查看:

    com.intellij.diagnostic.PluginException: While loading class com.ganshenml.widget.ConsoleWin: com/ganshenml/widget/ConsoleWin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 [Plugin: com.ganshenml.unique.plugin.id]
             at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:221)
             at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.java:165)
             at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:73)
             at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
             at java.lang.Class.forName0(Native Method)
             at java.lang.Class.forName(Class.java:348)
    
    

    譬如:上面就很明确地指出是Java Runtime版本不一致的原因。然后去IntelliJ中更改File->Project Strucature... ->Project等处的版本为一致(或低于要安装插件的的Java Runtime版本),重新打包安装即可。

    b. 插件使用时的错误


    信息表明没有找到这个类,说明插件包中没有这个jar包。那么在打包的时候将这个jar包添加进lib下并add as library。

    三、小结

    也没什么特殊的,功能很小,如果对翻译要求不太高,还是对项目的进度有一些促进作用的。测试也不可能太全,若使用过程中有问题的话...


    相关文章

      网友评论

        本文标题:IntelliJ插件 写了一款格式化英文及将中文翻译成英文的插件

        本文链接:https://www.haomeiwen.com/subject/zgkdshtx.html