如何向 MetaTrader 5 平台添加新的用户界面语言·进阶篇
📘

如何向 MetaTrader 5 平台添加新的用户界面语言·进阶篇

第 2/2 篇

MT5 多语言包的生成链路

MT5 客户端原生基于 Unicode,理论上能把界面翻成任意语种。实际落地分五步:先加语言子项目把英文源资源拷过去,再逐行翻译(默认源语言永远是英语),随后编译出 LNG 文件,接着肉眼校验排版溢出,最后发回 MetaQuotes 审核进标准分发。 编译后的命名规则是 <模块>_<语言>.lng,比如俄语客户端语言文件叫 terminal_russian.lng。装进本机时得丢到产品目录的 \Languages 子文件夹——若客户端在 C:\Program Files\MetaTrader 5\,翻译文件就必须放 C:\Program Files\MetaTrader 5\Languages\,每次改译直接覆盖原 LNG 即可。 最坑的是第 4 步:字符串类资源没法在 IDE 里预览,翻译常超出控件宽度被截断。遇到这种情况要么缩词要么改措辞,不能靠事后运行客户端才发现。外汇与贵金属交易软件多语言环境配置属低风险操作,但误删 LNG 会导致界面回退英文,需备份后再覆盖。

「在 MetaEditor 里加一套德语界面翻译」

给 MT5 的 MetaEditor 做多语言本地化,前提是你装了 MultiLanguage Pack。以德语为例,先往项目里插语言:编辑菜单选 Add New Language,或按 Ctrl+A,对话框里挑 German 确定,项目浏览器立刻多出一个语言分支。 菜单项翻译最讲究占位符。展开 Menus 类,改菜单 [128] 第一项,N 前面的 & 是 Alt 组合键锚点,后面 \t 加 Ctrl+N 是快捷方式文本。德语里 & 放哪无所谓,但每个菜单命令的快捷键必须唯一;若别处资源文本完全一致,包会自动复用,比如菜单 [133] 就直接套了同一条。 状态栏和工具栏文本在 Strings 组第 57600 行,鼠标悬停 New 命令时的提示、\n 换行后的按钮名都在这一行里。Dialogs 组 [349] 说明页要整页翻,Preview 能直接看效果;不过 Back、Next 这类系统按钮随 OS 语言走,包里动不了。 遇到 %s、%d、\n、\t 别手贱改,它们运行时会被真实文本或整数替换,完整不可翻清单在用户指南附录 B。翻完按 F9 编译,目标 LNG 落在项目目录(例 C:\Program Files\MetaTrader 5 MultiLanguage Pack\Projects),后续编译只覆盖更新。 包不带拼写检查,右击语言子项目 Save as text 导出,丢进 Word 查错。确认无误后走工具栏发送到 MetaQuotes ServiceDesk,填姓名邮箱即进 TeamWox 队列;切勿把编译好的 LNG 当邮件附件发,那是违规通道。外汇贵金属终端的高频本地化需求下,这套流程能让你独立交付合规语言包。

◍ 用字典吃掉重复短语的翻译成本

MultiLanguage Pack 的字典本质是一层短语缓存:同一句界面文案在多种语言里反复出现时,不必每次手敲。右键菜单或 Ctrl+D 调出「Translate from Dictionary」,若字符串已有历史译文,会直接原地替换,省掉查词对齐的时间。 项目收尾阶段,所有语言的译文会被自动回写进字典,下次新建工程直接命中。想批量处理 UI 文本,点工具栏对应按钮或走 Edit 菜单同命令,弹窗里勾选要用字典译文的行,Apply 即可一次性铺开。 外汇与贵金属 EA 的多语面板常含几十个重复状态词,字典命中率上去后,本地化耗时倾向明显下降;但字典不校义,同形异义串可能误替,上 MT5 跑一遍比对原文最稳。

MetaEditor 翻译界面的几个实操快捷键

在 MT5 的 MetaEditor 里做多语言文案翻译,最忌讳脱离上下文直译,否则变量名和界面词容易串味。先按 Edit 菜单里的 Find / Find next 把目标短语定位出来,这一步能省掉大量肉眼翻页的时间。 搜索是区分大小写的,而且短语里可以带 &、\t、\n 这类特殊字符——比如 \n 代表换行,漏掉它界面就会挤成一行。别小看这些符号,它们直接影响编译后终端的显示结构。 Tab 键能在项目浏览器和工作区之间来回切;要改某行文本,双击或者按 F2 都行,不用非得用鼠标点进编辑态。 导航长文件时,Alt+右箭头(Next)和 Alt+左箭头(Previous)比滚动条快得多。最后,Tools 菜单或工具栏里的 Statistics 命令会按语言列出已翻译字数,做本地化进度核对时这是个硬数据点,能直接看出哪种语言还欠多少行。

「画得少,看得清」

把 MT5 界面翻成母语这件事,本质是降低你盯盘时的认知负荷。平台本身已开放语言包与本地化工具,多数主流语种在客户端设置里直接勾选即可生效,不用碰代码。 真正容易被忽略的是自定义指标和脚本的注释语言——它们不会随界面切换而变,得在 MQL5 源码里改 string 资源。若你常看俄文或英文社区搬来的 EA,花十分钟汉化提示语,复盘效率会明显不同。 外汇与贵金属杠杆高、滑点频,界面清爽不等于风险降低;少看花哨面板,多留注意力给价格本身,才是务实做法。

常见问题

先建语言资源字典文件,再在 MetaEditor 里挂接语言 ID,最后编译资源包并重启终端加载即可。
有,把重复出现的短语抽进公共字典统一翻译,界面里直接引用键值,能省掉大半重复劳动。
可以,把待译短语丢给小布,它会按你已有的字典风格批量产出对应译文,你只校一遍就行。
F7 编译资源、Ctrl+F 在字典里搜键值、Alt+Enter 快速跳到引用处,这三个最常用。
多半是资源没编译成功或终端没重启,检查编译日志报错并重开终端一般就好。