本地构建数据加速 GBF 翻译

一直在用同事的 GBF 翻译项目,但是因为项目是托管在 GitHub 上,卡起来还是很影响使用体验的。

不过 GBF 翻译提供自定义数据源功能,基于此可以本地构建 GBF 翻译数据,加快 GBF 相应速度,提高游戏体验。

请注意,GBF 翻译使用与否取决于个人意愿,可能存在的风险均由使用者个人承担,这里不作推荐。

但如果确定使用,希望在使用体验上有更进一步的提高,可以继续往下看。

准备工作

安装 Git

Windows

打开 https://git-scm.com/download/win 下载 Windows 版安装程序,打开安装程序按着引导安装即可。

macOS

使用 Homebrew 安装 Git。

1
brew install git

Linux

使用包管理工具安装 Git,这里笔者使用的是 Ubuntu 的包管理工具安装。

1
apt install git

安装 Nginx

Windows

打开 http://nginx.org/en/download.html 下载 Windows 版程序,打开后解压到合适位置。

macOS

使用 Homebrew 安装 Nginx。

1
brew install nginx

Linux

使用包管理工具安装 Nginx,或自行下载编译安装,这里笔者使用的是 Ubuntu 的包管理工具。

1
apt install nginx

构建

下载 GBF 翻译数据到本地

Windows 可以在合适的位置打开 Git Bash,或者直接打开 CMD,因为 Git 在安装过程中自动添加了 PATH,macOS 和 Linux 则在合适的位置打开 Terminal。

输入

1
git clone -b gh-pages https://github.com/biuuu/BLHXFY.git

下载数据源。

启动 Nginx

Windows

打开 Nginx 目录下 conf 文件夹下的 nginx.conf 文件,在 http 段内新加一个 server 段,填入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 4567;
server_name localhost;
location / {
root D:/BLHXFY;
access_log off;
expires 1d;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}

root 后路径为你 Git 下载下来的 GBF 翻译数据所在路径。

保存关闭后运行 nginx.exe 启动。

macOS

打开配置文件 vim /usr/local/etc/nginx/nginx.conf,在 http 段内新加一个 server 段,填入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 4567;
server_name localhost;
location / {
root /Users/Neko7ina/BLHXFY/;
access_log off;
expires 1d;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}

root 后路径为你 Git 下载下来的 GBF 翻译数据所在路径。

保存退出,启动 Nginx:

1
2
nginx -t
nginx

Linux

新建一个配置文件并加入下述配置内容:

1
vim /etc/nginx/conf.d/blhxfy.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 4567;
server_name localhost;
location / {
root /srv/BLHXFY;
access_log off;
expires 1d;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}

root 后路径为你 Git 下载下来的 GBF 翻译数据所在路径。

保存退出,启动 Nginx:

1
2
nginx -t
nginx

使用

首先确定已经安装 GBF 翻译,在安装油猴的情况下打开 https://blhx.danmu9.com/blhxfy/extension.user.js 即可完成安装。

安装完之后,打开设置界面,会发现多了一个 汉化插件设置,点击打开。


在第一项数据源中填入 http://127.0.0.1:4567,然后滚到到下方点击返回设置。


现在 GBF 翻译使用的就是本地数据源了,加载速度飞快。

更新

更新就很容易了,切换到 GBF 翻译数据所在路径,执行 git pull 即可更新。

如果碰到如下问题:

1
fatal: refusing to merge unrelated histories

只要重设一下再更新即可:

1
2
git reset --hard origin/gh-pages
git pull