打开主菜单
Ballance Wiki
β
搜索
查看“BLinguist/zh”的源代码
←
BLinguist/zh
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您必须确认您的电子邮件地址才能编辑页面。请通过
系统设置
设置并确认您的电子邮件地址。
您可以查看与复制此页面的源代码。
{{Appbox/zh |name=BLinguist |screenshot=BLinguistChineseMainMenu.png |screenshotDesc=BLinguist开启后的主菜单(中文) |author=yyc12345, jxpxxzj, 2jjy |suit=Ballance |link=[https://github.com/yyc12345/BMLMods GitHub] |dependency={{zh|BML}} |date=2023年4月30日 |status=pause |license=GPL v3 }} BLinguist是由yyc12345制作的一款非覆盖文件式的,基于BML的Ballance多语言Mod。言下之意,其不仅可以替代原本[[中文版]]的功能,还能支持更多语言,并大幅减少用户开启关闭中文版功能所需的心智负担,对部分完全不认识英文的新手较为友好。 == 历史 == BLinguist的开发始于Ballance [[Discord]]群组中的一个实际问题需求。一位使用阿拉伯语言的玩家表达了对Ballance这款游戏的喜爱,但同时也表示他想把这款游戏推荐给他的朋友,但他的朋友并不怎么认识英文,想问问有没有阿拉伯语的Ballance。 yyc12345在回复中认识到这里有两种开发方案,一种是基于原生Ballance所用的位图字体的方式,通过将贴图改为阿拉伯语,然后重新编排各个按钮的字符数据的方式,来显示阿拉伯语。然阿拉伯语具有从右向左的书写特性,且阿拉伯语在渲染的时候并非单个单个字符渲染,而是要高度考虑前后字符的连笔。因此使用此种方法的结果非常差,输出的字符就是单个阿拉伯语的字符的拙劣拼接,且书写方向错误。 那么就只剩下第二种方案了,即使用当初jxpxxzj与2jjy制作中文版的方式,来支持阿拉伯语。通过显示调用Text Display Building Block来直接调用系统所用的字符串渲染函数,解决了从右向左书写,以及连笔书写等诸多上个方法存在的问题。唯一的缺点则是大量的Text Display会造成卡顿,对竞速党不友好。接下来yyc12345首先分析了当初中文版补丁的结构布局,找到了几个关键的数据数组,以及核心翻译脚本。通过LocaleEmulator设定阿拉伯语的编码,然后启动Virtools修改关键数据数组(因为Virtools数据展示方式依赖本机编码,需要用LocaleEmulator模拟本机编码才能正常显示阿拉伯语),接着用同样的方式启动Ballance加载修改好的中文版补丁,并观察到可以正确显示阿拉伯语。遂将补丁发送给对方,然对方的反馈则是显示的是???字符。这与预期不符。yyc12345分析认为是对方编码可能不正确,因为使用阿拉伯语的有很多国家,可能是使用的编码不够细化导致的。 为了解决对方显示???的问题,也为了简化自己修改补丁文件的难度,yyc12345在考虑到多数Ballance都已安装BML的情况下,决定制作BLinguist,在游戏内通过BML动态修改游戏字符,来达到无需安装任何补丁文件就可以切换语言的特性。首先是使用由2jjy合作开发的{{zh|Virtools Script Deobfuscation}}破解了2jjy自己写的核心翻译脚本的加密。然后解读其连线,并将其逻辑反映到BML Mod代码中。保证了BLinguist在逻辑上与原版中文版没有任何区别。 BLinguist在之后通过LocaleEmulator的测试中,没有任何问题,然发送给对方后对方仍然显示???,遂推断对方的系统根本就不支持显示阿拉伯语字符,但对方至今仍未回复其系统编码的情况。 == 特性 == BLinguist可以在第一次启动时自动检测并尝试推断你想要使用的语言,检测是根据你当前使用的Windows代码页,配合一个硬编码的常用语言代码页表来实现的。不过无需担心,倘若检测失败,您也可以手动设定语言。BLinguist目前支持4种语言: * 英语(English):作为默认语言,当检测语言失败时,会默认显示英语。 * 中文(Chinese):文本来源自jxpxxzj&2jjy汉化版。 * 日语(Japanese):机翻。 * 阿拉伯语(Arabic):机翻。来源请查看历史章节。 支持设定显示语言文本的大小与字体,比原版中文版固定的大小和字体更近一步。<br /> BLinguist与原版中文版一致,翻译了第一关的教程,以及游戏内绝大多数的菜单文本,BML添加的菜单除外,例如Mod选项页面,自制地图加载页面等。<br /> 可以'''尝试'''与FontCraft共享字体设置(需要BLinguist和FontCraft均高于一定版本),但实际使用时会存在一定bug,因为即使两者设置一致,BLinguist显示的字体也不和游戏内字体保持同样的大小。 == 设置 == Mod具有如下设置: * Core - Enable:控制Mod的全局开启与关闭。由于涉及到修改游戏内脚本,需要重启才可以应用。默认关闭以照顾竞速党。关闭后不会影响帧率。 * Core - Language:BLinguist所用的语言标识符。可填内容为上文介绍支持语言中括号内的英文内容,例如Chinese,English等。 * Font - FontName:BLinguist所用字体的名称。 * Font - FontSize:BLinguist所用字体的大小。 * Font - FontCraft:尝试与FontCraft同步字体设置。当同步成功的时候,上述两项字体设置被忽略。 == 下载 == * 从GitHub编译下载 == 改进翻译 == 如果希望改进此Mod的翻译,请前往GitHub工程,并导航到{{code|BLinguist/Languages}},翻译UI以及Tutorial中的对应语言文本。这些文本以UTF8格式存储。 如若希望添加新语言支持,请前往GitHub工程提出请求,并提供与此语言相关的常见Windows代码页数据,开发者添加对应语言后,即可按照改进翻译的方式进行操作。 == 画廊 == <gallery> File:BLinguistChineseMainMenu.png|BLinguist开启后的主菜单(中文) File:BLinguistArabicLevelSelector.png|BLinguist开启后的关卡选择菜单(阿拉伯语) File:BLinguistChineseIntro.png|BLinguist开启后的第一关教程(中文) </gallery> [[Category:游戏补丁]] [[Category:BML2第三方Mod]]
该页面使用的模板:
模板:Appbox/zh
(
查看源代码
)
模板:Code
(
查看源代码
)
模板:Dot
(
查看源代码
)
模板:Infobox
(
查看源代码
)
模板:Infobox/row
(
查看源代码
)
模板:Zh
(
查看源代码
)
返回至
BLinguist/zh
。