尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MyEclipse 10.7汉化实战:Eclipse Babel语言包版本匹配与dropins安装

MyEclipse 10.7汉化实战:Eclipse Babel语言包版本匹配与dropins安装 简介面向国内Java开发者的MyEclipse 10.7汉化资源核心目标是将英文版集成开发环境的菜单栏、工具栏、代码提示、工程管理、调试与运行配置等界面元素全面转换为中文帮助中文用户消除语言门槛提升开发效率。压缩包采用rar格式共484个文件以411个jar汉化插件/资源文件为主体另有33个html帮助页面、11个xml配置、11个properties本地化文本、11张jpg图片以及少量java源码和工程配置文件整体大小约2.44MB属于轻量级汉化包。已有214人学习/下载适合希望直接改造本地开发环境或研究汉化集成的Java工程师。包内提供汉化文件、安装说明与可能的补丁用户按说明应用即可完成界面语言切换该汉化方案不仅覆盖主界面和常用插件还兼顾Maven与Ant构建、数据库管理、JSP/HTML编辑器等典型场景可让中文用户更顺畅地使用这一经典Java IDE。 前阵子从旧移动硬盘里翻出一个 MyEclipse 10.7 的安装包装完双击运行熟悉的启动画面一闪而过然后就是满屏英文。如果只是写个老工程英文界面我也能忍但想想当年为了这个 IDE 的汉化踩过的坑还是决定记录下来。MyEclipse 10.7 汉化这件事说穿了不复杂就三步找准 Eclipse 平台版本、下载对应语言包、放进正确位置。问题是这三步里每一步都有不少细节容易翻车尤其是版本对应关系搞错了轻则汉化无效重则 IDE 直接起不来。这篇文章不打算只给一个照做就行的结论我会把原理、步骤、踩坑点、回退方案一起讲清楚适合两类人看一是正在用老版本 MyEclipse 写遗留项目、被英文界面劝退的开发者二是对 Eclipse 语言包机制感兴趣、想弄明白汉化到底改了什么的人。1. 汉化前先搞清楚MyEclipse 10.7 的界面语言由谁决定1.1 先分清楚 MyEclipse 和 Eclipse 的关系很多人把 MyEclipse 当成一个独立 IDE其实 MyEclipse 的本质是Eclipse 平台 Genuitec 公司的一堆商业插件。你可以把 Eclipse 平台想象成一套毛坯房MyEclipse 是在毛坯房基础上做的精装修水电、门窗、定制柜子都是它加的但承重墙和主体结构还是 Eclipse 的。MyEclipse 10.7 是 2013 年前后的版本那会儿它的内核平台版本还走在 Eclipse 3.x 到 4.x 过渡的线上。这个关系很重要因为汉化包的选型完全跟着 Eclipse 平台版本走不是跟着 MyEclipse 的版本走。你搜myeclipse 10.7 汉化的时候如果下载页面写的是对应 MyEclipse 版本号基本不靠谱真正该找的是Eclipse Babel 语言包并且语言包文件名里标注的必须是当前 MyEclipse 所用内核平台的那一代版本号。1.2 汉化的本质是替换资源不是改代码Eclipse 的架构里有一个概念叫语言片段Language Fragment。界面上的每一句英文都不是写死在代码里的而是放在一个个 properties 资源文件里通过 key 来引用。比如说菜单栏的 File代码里不写File这个字符串而是拿一个叫 Menu.File 的 key 去资源文件里查查到英文就显示英文查到中文就显示中文。Babel 语言包做的就是这件事它提供一批独立的 fragment 插件里面装的是翻译好的中文资源文件这些 fragment 在 OSGi 容器启动时挂到对应插件上。整个过程不碰原插件的任何代码不涉及破解不修改 jar 包所以理论上非常干净。这也解释了为什么汉化失败了直接删语言包就能恢复——因为原插件从始至终没被动过。明白了这个机制你就知道网上那些把汉化包里的文件直接覆盖到 plugins 目录的做法其实是最粗暴、最容易出问题的。原版语言包设计上就是作为 fragment 叠加而不是覆盖。1.3 谁来维护这些语言资源Eclipse Babel 项目Eclipse 基金会有一个官方多语言项目叫 Babel专门维护 Eclipse 平台、JDT、PDE、EGit 等开源组件的翻译。它覆盖的范围是Eclipse 生态里开源的那部分。MyEclipse 的商业插件部分比如它自己的 JSP 编辑器、数据库浏览器、部署工具Genuitec 官方并没有提供中文资源包所以就算你汉化成功MyEclipse 自有界面仍然会有一大部分是英文。这不是操作问题是资源缺失后面我会单独讲怎么应对这种混排状态。2. 版本匹配决定成败先定位 MyEclipse 10.7 对应的 Eclipse 平台版本2.1 从 About 窗口和安装目录拿版本号汉化第一步不是下载而是先确认当前 MyEclipse 10.7 用的是哪个 Eclipse 平台版本。方法很简单启动 MyEclipse点菜单 Help - About MyEclipse在弹出的窗口里找到那个 Eclipse 图标或者Eclipse Platform相关的按钮点进去能看到类似Eclipse Platform 3.7.2或者4.2.x的字样。我见过不少人的 MyEclipse 10.7 实际平台版本是 3.7.x 或 3.8.x但不同的小版本、不同的安装包来源平台版本可能不一样。所以不要拿别人的结论直接套一定要看自己机器上 About 里显示的那一串。如果没有启动图形界面也可以去安装目录下翻找到 plugins 目录里的 org.eclipse.platform_*.jar文件名中间的版本号就是答案。2.2 选 Babel 语言包看 release别只看日期Babel 语言包的下载命名规则是Babel 语言包 目标平台版本代号。常见的对应关系是Eclipse 平台版本代号Babel 包下载面筛选关键字3.7.xIndigoBabelLanguagePack-eclipse-zh_3.7.03.8.x / 4.2.xJunoBabelLanguagePack-eclipse-zh_3.8.0 / 4.2.04.3.xKeplerBabelLanguagePack-eclipse-zh_4.3.04.4.xLunaBabelLanguagePack-eclipse-zh_4.4.0建议去 Babel 官方下载页Eclipse Babel Downloads在页面里选对应平台代号再找到 Chinese (Simplified) 也就是 zh 的包。下载页给出的通常是最新的几个版本老版本需要往下翻翻历史存档或者用页面上的 p2 仓库地址。别选下载日期最近的包那个基本是给新版 Eclipse 用的。2.3 版本选错的长相提前做个心理建设版本不对会有几种典型表现我先列出来你后面遇到不至于慌语言包装进去了菜单还是全英文没有任何报错。这种最憋屈通常是语言包 fragment 的目标平台版本和当前 Eclipse 不匹配OSGi 容器认为这个 fragment 不能挂载于是静默忽略。启动直接报错常见是 org.eclipse.equinox.launcher 相关异常或者插件解析失败。这种一般是语言包里包含的某些插件版本恰好和现有环境冲突。界面一部分变中文一部分没变。这种严格说不算版本选错而是资源覆盖范围问题我后面会详细说。正确做法是确定了平台版本后用对应代号的 Babel 包如果包名里有多个版本段尽量选最贴近 About 里小版本号的那一个。3. 三条汉化路线实测对比dropins、在线安装、直接覆盖3.1 路线Adropins 目录放语言包最稳我自己最推荐这条路线。Eclipse 从 3.4 开始支持 dropins 目录专门用来给 IDE 叠加外部插件。语言包作为 fragment 插件天然适合这种方式。整个操作过程不需要修改任何原始文件删掉 dropins 里对应目录就等于卸载汉化回退成本几乎为零。具体步骤如下找到 MyEclipse 10.7 的安装根目录。一般是类似C:\Program Files (x86)\MyEclipse for Eclipse 10.7\这样的路径如果你用的是绿色版或自定义安装就按安装位置找。判断标准是这个目录下应该有 plugins、features 文件夹以及 myeclipse.exe。在根目录下新建dropins文件夹如果本身已经有这个目录就直接用。解压下载好的 Babel 语言包 zip。解压后通常能得到一个 eclipse 文件夹里面是 features 和 plugins 两个子目录。把解压出来的 eclipse 文件夹整个放到 dropins 下最终结构是dropins/eclipse/features/...dropins/eclipse/plugins/...用myeclipse.exe -clean启动。首次汉化后加 -clean 很有必要它会让 Eclipse 重新扫描插件缓存否则新放的 fragment 可能不会被识别。启动后如果界面变成中文就成功了。如果一半中文一半英文别急这是正常状态我第 4 节会展开讲。3.2 路线BInstall New Software 在线装如果你不想手动弄目录也可以用 IDE 自带的软件安装功能。菜单 Help - Install New Software点 Add 按钮把 Babel 的 p2 更新仓库地址填进去。地址可以在 Babel 下载页找到建议用带具体平台代号的地址而不是总入口总入口通常默认指向最新版。添加成功后Work with 下拉框里会出现很多语言包条目勾选你要的 Chinese 条目一路 Next 安装。系统会自动校验版本这个是有利的一面不利的一面是 MyEclipse 的 p2 配置有时候会和旧平台产生兼容性问题安装列表加载很慢还可能出现依赖不满足的弹窗。整个过程比 dropins 方式更容易触发网络问题我实测下来国内网络下在线安装的成功率没有 dropins 方式稳定。3.3 路线C直接覆盖 plugins、features不推荐网上很多汉化教程会把 zip 解压后直接覆盖到 MyEclipse 的 plugins 和 features 目录美其名曰完美汉化。我不推荐这个做法。原因很简单语言包的插件版本和目标环境不一定完全一致覆盖后一旦出现启动失败你很难一键回退只能重装 IDE。更麻烦的是覆盖模式可能会顶掉原插件的一些资源导致某些功能出现预期外的异常。除非你特别清楚自己在做什么否则别走这条线。3.4 启动参数-nl zh_CN 和 -clean 必须知道不管用哪种方式装语言包最终显示中文还受一个参数影响区域设置。Eclipse 判断显示语言有一套优先级逻辑如果系统区域设置不是中文它可能不选中中文资源包。强制做法是在启动参数里加-nl zh_CN。MyEclipse 10.7 的启动参数写在根目录的 myeclipse.ini 里用文本编辑器打开在 -vmargs 之前加入这两行-nl zh_CN如果你想临时测试也可以创建快捷方式把目标改成C:\...\myeclipse.exe -nl zh_CN -clean。其中 -clean 主要用于首次汉化后清除旧缓存不要长期保留在启动参数里否则每次启动都需要重新扫描插件启动会明显变慢。4. 汉化后一定会出现的半中半英不用慌4.1 Eclipse 公共部分汉化了MyEclipse 自有插件还是英文这是整个汉化过程中最容易被误解的一点。装完语言包后你会发现窗口、菜单、工具栏这些核心 UI 变成中文了比如 File 变成文件Window 变成窗口这是 Eclipse 平台、JDT 等开源组件的功劳。但当你打开 MyEclipse 的 Database Explorer、Web Project 的部署配置页、或者它特有的 JSP 编辑器右键菜单时英文又回来了。原因我在开头说过Babel 只管开源部分Genuitec 的商业插件没有中文资源包。所以汉化完成后最理想的状态就是公共框架中文、MyEclipse 业务功能英文。这不是失败而是这个版本本来就只能做到这一步。那些声称全中文的第三方汉化包往往是直接翻译了 MyEclipse 商业插件的界面资源但这种汉化包通常只针对特定小版本更新一个版本就失效而且来源不明不太建议在开发环境里用。4.2 已安装的第三方插件也是英文如果你在 MyEclipse 里额外装了其他第三方插件比如版本控制客户端、代码检查工具它们如果没有提供中文资源界面同样是英文。这是插件生态的常态。判断一个插件能不能汉化就看它有没有对应的语言 fragment 包没有的话怎么折腾都不会变。4.3 中英混排下的实用习惯既然中文只能覆盖一部分那就别追求全中文了。我自己的用法是全局菜单、快捷键、常用设置项用中文后记忆成本低很多而那些 MyEclipse 专属工具的英文界面其实用久了都会形成肌肉记忆。如果某些操作实在烦可以把对应透视图中不用的视图关掉减少视觉噪音。还有一个小技巧把最常用的操作设置成快捷键比如 CtrlShiftR 打开资源、CtrlShiftT 打开类型这些快捷键不随语言包变化能大幅降低对界面文字的依赖。5. 汉化失败恢复与周边问题排查5.1 启动崩溃的完整排查链路汉化后最怕的就是 IDE 起不来。如果你遇到了按下面这个顺序排查不要第一时间重装先回忆语言包是从哪个渠道装的。如果是直接覆盖了 plugins 目录那问题可能比较严重先备份当前目录再找原版文件恢复。看启动报错文本。如果是 equinox.launcher 或者 An error has occurred 这种通用错误大概率是语言包平台版本不匹配。马上验证把 dropins 下新建的汉化目录整个删掉或者改个名比如 mouseLang然后用myeclipse.exe -clean启动。如果这样能正常起来基本可以确定是语言包版本或资源冲突。换一个和你 Eclipse 精确版本号更接近的 Babel 包重新放 dropins再试。还是不行就把工作区换个新目录启动。有时崩溃不是汉化包的问题而是工作区里的旧项目配置和新的插件状态冲突换个工作区可以快速排除。我自己遇到过最坑的一次是装了一个版本过高的语言包启动进去以后整个工具栏都消失了。后来就是靠删目录 -clean恢复的。所以我才反复强调 dropins 方式的好处回退就是一条命令加一个删除操作的事。5.2 汉化后功能异常为何回退能解决有人反馈汉化后 Tomcat 配置面板白屏或者 Deployment 视图打不开。这类问题如果确认和语言包相关原因通常是语言包中某些资源文件的内容行数与原始插件不匹配导致 UI 渲染时读到了空值。Eclipse 遇到读取资源失败一般不会直接报错而是把页面渲染成空白。这种问题最省事的解决办法就是放弃对那部分界面的汉化把对应 fragment 从 dropins 里挑出来删掉或者干脆用中英混排。5.3 三分钟回到英文版不管之前用的哪种安装方式回退到英文版的标准操作是dropins 方式删除 dropins 下放语言包的目录用-clean启动。Install New Software 方式Help - About MyEclipse - Installation Details - Installed Software 里找到语言包条目点 Uninstall 卸载。直接覆盖方式最麻烦需要从原安装包重新解压对应文件覆盖回去或者直接重装 IDE。可以看到安装方式的差异决定了回退成本。这也是我文章标题里强调汉化前先想清楚的原因选对方法翻车了也就三分钟的事。5.4 顺手把工作区编码也一起调好汉化之后中文配置界面看着亲切了接下来大概率会去写代码。MyEclipse 10.7 这个年代Windows 中文系统上新建工程的默认文本编码往往不是 UTF-8而 JSP、HTML 里又有大量中文稍不注意就是满屏乱码。我的建议是趁汉化完、界面看得顺眼的时候进 Window - Preferences - General - Workspace把 Text file encoding 改成 UTF-8。这一步和汉化没有直接关系但每次我给别人调完汉化下一步必调编码不然过一会儿就会回来问乱码怎么解决。最后再分享一点个人体会。MyEclipse 10.7 的汉化本质上是一次管理预期的过程你拿到的是 Eclipse 开源部分的中文化不是整个产品的全中文。只要把版本核对准确、用 dropins 方式安装、接受商业插件的英文残留这事最多十分钟就能搞定。如果你手头还在用这个老版本维护项目这套流程足够稳如果只是日常开发需要还是建议能升级就升级后面几代 MyEclipse 对语言选择的处理已经友好很多不用再这么折腾了。本文还有配套的精品资源点击获取
返回列表