上周四半夜打开电脑想玩《圣女之血》国际版,结果官网界面全是英文,看得我脑壳疼。想着既然有中文版,肯定能切换语言?结果在网页右上角找了半天,愣是没看到语言切换按钮。气得我差点摔鼠标。
动手硬改网页代码
实在找不到官方切换入口,干脆自己折腾。右键点击网页空白处,选”检查”打开开发者工具,直接翻了翻网页源码。在标签里看到一个叫”lang”的参数,后面跟着”en-US”,这不就是英文标识嘛
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
试着手动改成”zh-CN”回车刷新——好家伙!整个页面直接崩成乱码了!当时我就懵了,这破网站连中文包都不预装?
寻找语言文件藏哪儿
切回开发者工具的网络监控标签,刷新页面盯着加载文件看。发现个关键线索:所有带”locale_”前缀的json文件都在en-US文件夹里。直接把网址里的en-US改成zh-CN重试——果然404报错,证实服务器根本没中文包。
这时候突然想到:国际版客户端自带简体中文,网页肯定也有对应文件!立刻用全局关键词”locale_zh”搜索,果然在某个深层路径里挖到了简体中文的json文件。好家伙,文件就在服务器上,只是没开放调用!
暴力替换语言文件
马上动手拦截网页请求:
- 在开发者工具里点开网络标签
- Ctrl+R刷新页面抓取请求
- 搜到locale_*请求右键选择Block request URL
把被拦截的英文请求地址复制下来,手动替换en-US为zh-CN,粘贴到浏览器新标签页访问——简体中文文本哗全显示出来了!接着在控制台输入指令拦截并重定向请求:
*('fetch', event => {
const url = *;
if(*('locale_*')){
const newUrl = *('en-US','zh-CN');
*(fetch(newUrl));
按下F5刷新页面瞬间——所有菜单、按钮、说明文字全都变成熟悉的简体中文!连游戏内弹窗都汉化了,舒服!
重要提醒
这种操作每次刷新页面都得重来,下次打开网页还要重新拦截。不过至少能提前玩上中文版,比干瞪眼强多了。要是官方早点把语言切换按钮放出来,咱也不用受这罪!
发现个黑色幽默:根本不用这么麻烦,清空浏览器缓存重新打开官网,有时候会自动跳中文… 昨晚白折腾两小时!