Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Reamd7/notion-zh_CN

notion 中文化
https://github.com/Reamd7/notion-zh_CN

Last synced: 6 days ago
JSON representation

notion 中文化

Awesome Lists containing this project

README

        

# Window / Mac 版本已经更新3.1.0,请使用更新版本

# notion-zh_CN 是什么?

notion-zh_CN 是对notion的汉化脚本。

## 功能

- 支持 网页端 ( 油猴脚本 ) + 桌面端 ( win / mac ) + 安卓端 汉化脚本
- (很久没有维护)提供cloudflare worker 版本代理 notion.so 域名
这是一个**平台无关**(IOS 上的safari也能直接使用)的汉化方式,只要你自己部署cloudflare worker,就可以使用。附带cf代理**加速**的能力。
> 其实这里应该可以做域名映射到notion.so的访问的。(从而实现全平台汉化)

# 为什么要做这个项目?

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

## 桌面端

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

**有问题发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` 或 重命名为其他名字

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

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

目的是直接使用缓存资源文件中 zh-CN 的 html

2. 搜索 requestReturnedAsIndexV2

看到 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("