Skip to content

Commit

Permalink
update word translate
Browse files Browse the repository at this point in the history
  • Loading branch information
himyjan committed Jan 23, 2024
1 parent 42fbee7 commit a426dd5
Show file tree
Hide file tree
Showing 4 changed files with 144 additions and 114 deletions.
191 changes: 101 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,84 @@
# Window / Mac 版本已经更新3.1.0,请使用更新版本
# Window / Mac 版本已經更新 3.1.0,請使用更新版本

# notion-zh_CN 是什么
# notion-zh_TW 是什麼

notion-zh_CN 是对notion的汉化脚本
notion-zh_TW 是對 notion 的漢化腳本

## 功能

- 支持 网页端 ( 油猴脚本 ) + 桌面端 ( win / mac ) + 安卓端 汉化脚本
-很久没有维护)提供cloudflare worker 版本代理 notion.so 域名
这是一个**平台无关**(IOS 上的safari也能直接使用)的汉化方式,只要你自己部署cloudflare worker,就可以使用。附带cf代理**加速**的能力。
> 其实这里应该可以做域名映射到notion.so的访问的。(从而实现全平台汉化)
- 支持 網頁端 ( 油猴腳本 ) + 桌面端 ( win / mac ) + 安卓端 漢化腳本
-很久沒有維護)提供 cloudflare worker 版本代理 notion.so 域名
這是一個**平台無關**(IOS 上的 safari 也能直接使用)的漢化方式,只要您自己部署 cloudflare worker,就可以使用。附帶 cf 代理**加速**的能力。
> 其實這裡應該可以做域名映射到 notion.so 的訪問的。(從而實現全平台漢化)
# 为什么要做这个项目
# 為什麼要做這個項目

Notion 已经有了中文语料,让用户能够提前使用中文语料
Notion 已經有了中文語料,讓用戶能夠提前使用中文語料

# 如何使用?

## 网页端
1. ### 安装油猴插件
此处提供搜索到知乎的一篇教程:https://zhuanlan.zhihu.com/p/128453110

2. ### 安装油猴脚本
打开链接:https://greasyfork.org/zh-CN/scripts/430116-notion-%E5%AE%8C%E5%85%A8%E4%B8%AD%E6%96%87%E5%8C%96-%E5%9F%BA%E4%BA%8E%E9%9F%A9%E8%AF%AD%E7%89%88%E6%9C%AC-%E4%BD%BF%E7%94%A8%E8%85%BE%E8%AE%AFapi%E6%9C%BA%E7%BF%BB 。然后点击安装。

3. ### 体验汉化效果
https://www.notion.so
## 網頁端

1. ### 安裝油猴插件

此處提供搜尋到知乎的一篇教學:https://zhuanlan.zhihu.com/p/128453110

2. ### 安裝油猴腳本
打開連結:https://greasyfork.org/zh-CN/scripts/430116-notion-%E5%AE%8C%E5%85%A8%E4%B8%AD%E6%96%87%E5%8C%96-%E5%9F%BA%E4%BA%8E%E9%9F%A9%E8%AF%AD%E7%89%88%E6%9C%AC-%E4%BD%BF%E7%94%A8%E8%85%BE%E8%AE%AFapi%E6%9C%BA%E7%BF%BB 。然後點擊安裝。
3. ### 體驗漢化效果
https://www.notion.so

## 桌面端

notion 客户端迎来了巨大更新,文件结构发生完全不一致的变化(没有了可以注入的preload.js了
notion 客戶端迎來了巨大更新,文件結構發生完全不一致的變化(沒有了可以注入的 preload.js 了

**有问题发issue,最好是贴录屏,gif 能直接贴在issue**
**有問題發 issue,最好是貼錄屏,gif 能直接貼在 issue**

### 预处理版本
### 預處理版本

[https://github.com/Reamd7/notion-zh_CN/releases/tag/3.0.0](https://github.com/Reamd7/notion-zh_CN/releases/tag/3.1.0)

- `app.win.zip`
- `app.mac.zip`

都已经有了app文件夹

打开 `Notion安装目录/resources`
解压 `预处理压缩包``Notion安装目录/resources`
删除 `app.asar` 或 重命名为其他名字
都已經有了 app 資料夾

打開 `Notion安裝資料夾/resources`
解壓 `預處理壓縮包``Notion安裝資料夾/resources`
刪除 `app.asar` 或 重命名為其他名字

### **(修改原理):** windows / mac

打开 `Notion安装目录/resources`
解压 `app.asar` 到相同目录的 `app` 文件夹下
打開 `Notion安裝資料夾/resources`
解壓 `app.asar` 到相同資料夾的 `app` 資料夾下
找到 `.webpack/main/index.js`
1. 搜索 `localeHtml`
看到一个 `localeHtml[r]`
`r` 替换为 `zh-CN` / `zh-TW`

目的是直接使用缓存资源文件中 zh-CN 的 html
1. 搜尋 `localeHtml`
看到一個 `localeHtml[r]`
`r` 替換為 `zh-CN` / `zh-TW`

目的是直接使用快取資源文件中 zh-CN 的 html

2. 搜尋 requestReturnedAsIndexV2

2. 搜索 requestReturnedAsIndexV2
看到 const e = l.default.join(i, u.path); 是文件的絕對路徑
在下方直接注入以下程式碼, 目的是修改 renderer 中 localStorage 的 locale 快取值

看到 const e = l.default.join(i, u.path); 是文件的绝对路径
在下方直接注入以下代码, 目的是修改 renderer 中 localStorage 的 locale 缓存值
```js
if (u.path.endsWith('.html')) {
const fs = require('fs');
const htmlContent = fs.readFileSync(e, 'utf-8')
if (!htmlContent.includes(`{"id":"KeyValueStore2:preferredLocale","value":"zh-CN","timestamp":Date.now(),"important":true}`)) {
(() => {
fs.writeFileSync(e, htmlContent.replace("</html>", `<script>
const fs = require('fs');
const htmlContent = fs.readFileSync(e, 'utf-8');
if (
!htmlContent.includes(
`{"id":"KeyValueStore2:preferredLocale","value":"zh-CN","timestamp":Date.now(),"important":true}`
)
) {
(() => {
fs.writeFileSync(
e,
htmlContent.replace(
'</html>',
`<script>
// ==UserScript==
try {
const preferredLocaleStr = window.localStorage.getItem(
Expand All @@ -84,95 +94,96 @@ if (u.path.endsWith('.html')) {
);
} catch (e) {}
</script>
</html>`))
})();
}
</html>`
)
);
})();
}
}
```

保存


删除 `app.asar` 或 重命名为其他名字
打开应用

刪除 `app.asar` 或 重新命名為其他名字
打開應用

### More

如果你不想修改软件源码,还有如下方案(之后可能会写成自动化脚本
如果您不想修改軟體原始碼,還有如下方案(之後可能會寫成自動化腳本

1. 打开Notion的资源缓存文件
1. 打開 Notion 的資源快取文件

windows: `C:\Users\[用户名]\AppData\Roaming\Notion\notionAssetCache-v2`
windows: `C:\Users\[使用者名稱]\AppData\Roaming\Notion\notionAssetCache-v2`
mac

2. 找到热更新资源最新的版本
基于语义化版本规则可以判断,或者看 `latestVersion.json` 内部 `version` 字段
2. 找到熱更新資源最新的版本
基於語義化版本規則可以判斷,或者看 `latestVersion.json` 內部 `version` 欄位

以下以当前最新版本 `23.13.0.23` 举例子
以下以當前最新版本 `23.13.0.23` 舉例子

3. 打开最新版本所在文件夹 `23.13.0.23/assets.json`
3. 打開最新版本所在資料夾 `23.13.0.23/assets.json`

搜索到 `localeHtml` 字段
将下级`en-US` 字段的值改为和 `zh-CN``zh-TW` 一致
搜尋到 `localeHtml` 欄位
將下級`en-US` 欄位的值改為和 `zh-CN``zh-TW` 一致
保存
重启
重啟

该方案问题是 Notion 经常热更新会更新缓存,那就要一个自动化的脚本自动做如上的事情解决问题
該方案問題是 Notion 經常熱更新會更新快取,那就要一個自動化的腳本自動做如上的事情解決問題

## cloudflare worker

> 不建议使用。不希望推广。有风险。你需要知道你在干什么。
> 不建議使用。不希望推廣。有風險。您需要知道您在幹什麼。
1. 首頁:https://workers.cloudflare.com

1. 首页:https://workers.cloudflare.com
2. 註冊,登陸,`Start building`,取一個子域名,`Create a Worker`

2. 注册,登陆,`Start building`,取一个子域名,`Create a Worker`
3. 複製 [worker.js](https://github.com/Reamd7/notion-zh_CN/blob/main/worker.js) 到左側程式碼框,修改

3. 复制 [worker.js](https://github.com/Reamd7/notion-zh_CN/blob/main/worker.js) 到左侧代码框,修改
```js
const BaseUrl = "xxxx.子域名.workers.dev" // 修改为自己的子域名
const BaseUrl = 'xxxx.子域名.workers.dev'; // 修改為自己的子域名
```

4. `Save and deploy`。如果正常,右侧应显示提示框
4. `Save and deploy`。如果正常,右側應顯示提示框
Mismatch between origin and baseUrl (dev).
好的(这里就证明汉化成功了
5. 以后可直接访问 `https://xxxx.子域名.workers.dev`
好的(這裡就證明漢化成功了
5. 以後可直接訪問 `https://xxxx.子域名.workers.dev`

## 安卓端

- 下载apk[https://github.com/Reamd7/notion-zh_CN/blob/main/apk/Notion_0.6.1122.beta(7122)_zh_cn.apk](https://github.com/Reamd7/notion-zh_CN/blob/main/apk/Notion_0.6.1122.beta(7122)_zh_cn.apk)
- 下載 apk[https://github.com/Reamd7/notion-zh_CN/blob/main/apk/Notion_0.6.1122.beta(7122)\_zh_cn.apk](<https://github.com/Reamd7/notion-zh_CN/blob/main/apk/Notion_0.6.1122.beta(7122)_zh_cn.apk>)

# 大家可以做什么
# 大家可以做什麼

1. **优化汉化语言**都是机器翻译,看到不通畅的句子欢迎提issue/pr直接改了 (修改 **`json/zh.json`** 文件,了解之前,先找到原有的英文,韩文对照一下再更新翻译。)
1. **最佳化漢化語言**都是機器翻譯,看到不通暢的句子歡迎提 issue/pr 直接改了 (修改 **`json/zh.json`** 文件,了解之前,先找到原有的英文,韓文對照一下再更新翻譯。)

# 呼吁:
提高付费率,支持你所支持的软让他发展更好,这样国内市场才会更受重视,而不是只是白嫖,买淘宝,搞教育账户。
# 呼籲:

提高付費率,支持您所支持的軟讓他發展更好,這樣國內市場才會更受重視,而不是只是白嫖,買淘寶,搞教育帳戶。

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Reamd7/notion-zh_CN&type=Date)](https://star-history.com/#Reamd7/notion-zh_CN&Date)

> 風險提示:使用 cloudflare worker 的同學,被官方檢測出來並封號與我無關,希望自己看明白程式碼做了什麼,以及為什麼會被檢測出來。
> 其他方式的,都是使用官方國際化方案進行國際化的,而且在本地進行操作不通過任何伺服器——理論上除非故意釣魚否則不會封您。
> 釣魚:主動收集您是不是用了中文版國際化欄位,而且,對比您並沒有中文版權限。
>
> 如果擔心有問題,可以等待官方中文版,可以稍微學習網頁開發,可以詢問網頁開發朋友,項目都是開源的。究竟做了什麼操作,對 notion 應用本體有什麼影響,沒有理由的擔心只能體現對別人的不信任。
>
> 該項目僅用於學習,如有侵權 24h 內會馬上刪除。
> 风险提示:使用 cloudflare worker 的同学,被官方检测出来并封号与我无关,希望自己看明白代码做了什么,以及为什么会被检测出来。
> 其他方式的,都是使用官方国际化方案进行国际化的,而且在本地进行操作不通过任何服务器——理论上除非故意钓鱼否则不会封你。
> 钓鱼:主动收集你是不是用了中文版国际化字段,而且,对比你并没有中文版权限。
>
> 如果担心有问题,可以等待官方中文版,可以稍微学习网页开发,可以询问网页开发朋友,项目都是开源的。究竟做了什么操作,对notion 应用本体有什么影响,没有理由的担心只能体现对别人的不信任。
>
> 该项目仅用于学习,如有侵权24h内会马上删除。
# 更新日誌:

# 更新日志:
- 2.4.20 补充 window 更新目录文件之后的 自动注入软件 / 手动注入教程
- 2.4.2 **翻译开始跟随着官方中文词条啦!!!!!**
- 2.4.20 補充 window 更新資料夾文件之後的 自動注入軟體 / 手動注入教學
- 2.4.2 **翻譯開始跟隨著官方中文詞條啦!!!!!**
- 2.4.1 支持 ios / macos user script
- 2.3.1 权衡后,安卓版本使用新的 runtime 注入方式,实现全部的(包括键盘都能够汉化的方式)但有首页白屏事件较长的问题
- 2.3.0 支持使用 cloudflare worker 进行代理 notion.so 域名进行加速及国际化
- 2.2.0 支持 安卓版本notion,与官方版共存 的汉化
- 2.1.0:支持中文版快捷命令!支持拼音输入的时候显示快捷命令
- 2.3.1 權衡後,安卓版本使用新的 runtime 注入方式,實現全部的(包括鍵盤都能夠漢化的方式)但有首頁白屏事件較長的問題
- 2.3.0 支持使用 cloudflare worker 進行代理 notion.so 域名進行加速及國際化
- 2.2.0 支持 安卓版本 notion,與官方版共存 的漢化
- 2.1.0:支持中文版快捷命令!支持拼音輸入的時候顯示快捷命令
![](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/205477fc-c9df-48f2-a816-50c8809f244b/%E6%97%A0%E6%A0%87%E9%A2%98.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAT73L2G45O3KS52Y5%2F20210821%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210821T053807Z&X-Amz-Expires=86400&X-Amz-Signature=916007db665a09560b8cde53c10480377a1f58eed05a57f99853496dfb6c8729&X-Amz-SignedHeaders=host&response-content-disposition=filename%20%3D%22%25E6%2597%25A0%25E6%25A0%2587%25E9%25A2%2598.png%22)
- 2.0.4: 彻底支持无论是默认英文还是韩文都会生效的汉化脚本(2021/08/19 油猴剧本 + win 客户端 + mac 客户端测试通过),统一 win mac 网页端实现
- 2.0.3:支持切换到韩文之后帮助文档还原到默认英文版本
- 2.0.1:支持mac客户端(英文)
- 2.0.0: 支持win客户端(韩文) + 油猴脚本
- 2.0.4: 徹底支持無論是默認英文還是韓文都會生效的漢化腳本(2021/08/19 油猴腳本 + win 客戶端 + mac 客戶端測試通過),統一 win mac 網頁端實現
- 2.0.3:支持切換到韓文之後幫助文件還原到默認英文版本
- 2.0.1:支持 mac 客戶端(英文)
- 2.0.0: 支持 win 客戶端(韓文) + 油猴腳本
24 changes: 12 additions & 12 deletions notion-zh_TW.js

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions replace_word.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
拷貝 複製
撤消 復原
紀要 紀錄
搜索 搜尋
垃圾箱 垃圾桶
Slack通道 Slack頻道
塊 區塊
數據庫 資料庫
谷歌 Google
你 您
鏈接 連結
迭代 疊代
于 於
新 新增
錄屏 截圖
代碼 程式碼
文件夾 資料夾
目錄 資料夾
用戶端 客戶端
24 changes: 12 additions & 12 deletions template/notion-zh_TW.template.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// ==UserScript==
// @name Notion-zh_TW notion的汉化脚本
// @name Notion-zh_TW notion的漢化腳本
// @namespace http://tampermonkey.net/
// @version %version%
// @description notion的100%汉化脚本,基于官方中文+机器翻译韩文,支持app版本以及网页油猴,地址:https://github.com/reamd7/notion-zh_CN
// @description notion的100%漢化腳本,基於官方中文+機器翻譯韓文,支持app版本以及網頁油猴,地址:https://github.com/reamd7/notion-zh_CN
// @author reamd7
// @match *://www.notion.so/*
// @match *://*.notion.site/*
Expand All @@ -13,7 +13,7 @@
// ==/UserScript==
(function () {
"use strict";
%zh%;
% zh %;

var isSafari =
navigator.userAgent.includes("Safari/") &&
Expand All @@ -34,7 +34,7 @@
debugger;
return LOCALE_SETUP;
},
set() {},
set() { },
});
};
call();
Expand Down Expand Up @@ -67,8 +67,8 @@
LTS: "h:mm:ss A",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日Ah点mm分",
LLLL: "YYYY年M月D日ddddAh点mm分",
LLL: "YYYY年M月D日Ah點mm分",
LLLL: "YYYY年M月D日ddddAh點mm分",
l: "YYYY/M/D",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
Expand All @@ -87,15 +87,15 @@
const preferredLocaleStr = window.localStorage.getItem(
"LRU:KeyValueStore2:preferredLocale"
);
const preferredLocale = JSON.parse(preferredLocaleStr) || {"id":"KeyValueStore2:preferredLocale","value":"zh-CN","timestamp":Date.now(),"important":true};
const preferredLocale = JSON.parse(preferredLocaleStr) || { "id": "KeyValueStore2:preferredLocale", "value": "zh-CN", "timestamp": Date.now(), "important": true };
if (preferredLocale.value) {
preferredLocale.value = lang;
}
window.localStorage.setItem(
"LRU:KeyValueStore2:preferredLocale",
JSON.stringify(preferredLocale)
); // search window.document.querySelector("#messages") 请阅读
} catch (e) {}
); // search window.document.querySelector("#messages") 請閱讀
} catch (e) { }

if (isElectron) {
var observer = new MutationObserver(function (callback) {
Expand All @@ -109,9 +109,9 @@
}
});
observer.observe(document, {
childList: true, // 观察目标子节点的变化,是否有添加或者删除
attributes: false, // 观察属性变动
subtree: true, // 观察后代节点,默认为 false
childList: true, // 觀察目標子節點的變化,是否有添加或者刪除
attributes: false, // 觀察屬性變動
subtree: true, // 觀察後代節點,預設為 false
});
insertMoment();
} else {
Expand Down

0 comments on commit a426dd5

Please sign in to comment.