Misskey Translation Script

A Translation Script for Misskey Note | 一个用于misskey贴文的翻译脚本

目前為 2021-01-11 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
dogcraft
評價
0 0 0
版本
0.1
建立日期
2021-01-10
更新日期
2021-01-11
尺寸
4.8 KB
授權條款
未知
腳本執行於

mkts

A Translation Script for Misskey Note | 一个用于misskey贴文的翻译脚本

后端基于python的UlionTse/translators多后端翻译的库,前端是手写的JavaScript,适用于misskey近期版本。由于未对misskey程序作任何更改,只要misskey的前端结构不发生巨大的变化,该脚本将一直保持可用。

效果图:

效果图

使用方式

下面两种方式任选一种即可。强烈建议自建后端API服务。建好api后端将脚本中的ApiUrl = 'https://test1-api.dogcraft.top/ts/';url换成自建的api地址即可。

  • 浏览器脚本(Tampermonkey)

greasyfork找到mkts,按照提示安装用户端脚本,安装成功后在设置里面的匹配规则里加入自己所在的实例url即可。

  • nginx直接插入

前一种方式仅适用与在可以有Tampermonkey的设备上,某些移动端浏览器并没有这个功能,可以通过nginx的 ngx_http_sub_module模块在html的头部插入JavaScript脚本,具体可以见这里

首先把server放置在静态文件服务器里(github、nginx、cdn等)然后修改misskey的nginx配置文件,在location下面添加一行sub_filter '<script>' '<script src="https://url/to/your/server.js"></script><script>';

完整的location应该是这样的

location / {
  sub_filter  '<script>'  '<script src="https://www.dogcraft.top/misskey.js"></script><script>';
      proxy_pass http://127.0.0.1:3003;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header Accept-Encoding "";
      proxy_http_version 1.1;
      proxy_redirect off;

      # For WebSocket
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;

      # Cache settings
      proxy_cache cache1;
      proxy_cache_lock on;
      proxy_cache_use_stale updating;
      add_header X-Cache $upstream_cache_status;
  }

刷新等生效就可以了。

后端翻译API

后端主要是用flask_restful与translators拼接起来,并用redis做缓存。

使用时可用参照flask的文档中的标准部署方式,并把redis的配置url改成自己的就可以了。

如果没有flask等python框架的使用经验,推荐采用docker方式。

docker方式

docker方式很简单,首先要有docker全家桶。

git clone https://github.com/ybw2016v/mkts.git
git pull
docker-compose up -d

即可。

还可以与misskey共用一个nginx配置,在misskey的配置文件内部添加一个location配置即可。

location /translate/ {
   proxy_set_header Host $http_host;
   proxy_pass http://127.0.0.1:5002;
}