汉化脚本
unknowissue opened this issue · 17 comments
仅适用win:
逻辑
- 读取环境变量
$username = $env:USERNAME - 读取文件 C:\Users\$username\AppData\Roaming\Notion\latestVersion.json 中 version 字段
- 根据 version 字段的值,是否存在以下两个文件
C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2\$version\assets_assets\index-en-US-***.html
C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2\$version\assets_assets\localeSetup-zh-CN-***.js
4.如果存在这两个文件,
读取 C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2\$version\assets_assets\localeSetup-zh-CN-***.js 的文件名 并复制给 $name_localeSetup-zh-CN - 得到以下字符串
<!doctype html><script defer="defer" src="/_assets/$name_localeSetup-zh-CN"></script>' - 在文件 C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2\$version\assets_assets\index-en-US-***.html
将<!doctype html>
替换为
<!doctype html><script defer="defer" src="/_assets/$name_localeSetup-zh-CN"></script>'
另外,由于win安全策略设置,需要用bat启动powershell脚本
实现:
D:\soft\notion_zh\mod_zh-ch.ps1
# 读取当前用户名环境变量
$username = $env:USERNAME
# 更新 Notion 版本文件的路径
$jsonFilePath = "C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2\latestVersion.json"
$assetsDir = "C:\Users\$username\AppData\Roaming\Notion\notionAssetCache-v2"
# 获取当前日期,格式为 yyyyMMddHHmmss
$date = Get-Date -Format "yyyyMMddHHmmss"
# 读取 JSON 文件中的 version 字段
if (Test-Path $jsonFilePath) {
$version = (Get-Content $jsonFilePath | ConvertFrom-Json).version
} else {
Write-Error "Version file does not exist"
exit
}
# 定义需要检查的文件路径
$htmlFilePath = "$assetsDir\$version\assets\_assets\index-en-US-*.html"
$jsFilePath = "$assetsDir\$version\assets\_assets\localeSetup-zh-CN-*.js"
# 检查是否存在 HTML 和 JS 文件
$htmlFile = Get-ChildItem $htmlFilePath -ErrorAction SilentlyContinue
$jsFile = Get-ChildItem $jsFilePath -ErrorAction SilentlyContinue
if ($htmlFile -and $jsFile) {
# 定义要替换的 HTML 内容
$name_localeSetup = $jsFile.Name
$newHeadHtml = "<!doctype html><html class=""notion-html""><head lang=""en""><script defer=""defer"" src=""/_assets/$name_localeSetup""></script>"
# 创建备份文件
$backupFile = $htmlFile.DirectoryName + "\bak_" + $date + "_" + $htmlFile.Name
Copy-Item $htmlFile.FullName -Destination $backupFile
# 读取 HTML 文件内容
$htmlContent = Get-Content $htmlFile.FullName -Raw
# 检查是否已包含新的头部 HTML
if ($htmlContent -notmatch $newHeadHtml) {
$htmlContent = $htmlContent -replace '<!doctype html><html class="notion-html"><head lang="en">', $newHeadHtml
Set-Content $htmlFile.FullName -Value $htmlContent
Write-Output "HTML file updated and backup created."
} else {
Write-Output "No changes needed. The HTML file already contains the required script tag."
}
} else {
Write-Output "Required files do not exist."
}
Start-Process -FilePath "C:\Users\$username\AppData\Local\Programs\Notion\Notion.exe" -ArgumentList "--proxy-server=socks5://127.0.0.1:8181 —enable-features=OverlayScrollbar" -NoNewWindow
D:\soft\notion_zh\start_notion.bat
powershell -ExecutionPolicy RemoteSigned -File D:\soft\notion_zh\mod_zh-ch.ps1
最新版是不是没有这两个文件夹了
最新版是不是没有这两个文件夹了
23.13.0.200
我用的版本是,是有的
亲测有效,win 桌面版3.5.0
是的 有效,文件夹需要等一段时间才会出现 感谢分享
3.6.0亲测有效,大家使用的时候需要注意 bat 文件中的路径
新版也有效 这边直接使用powershell打开 没有遇到过什么问题
汉化其实一开始用来上手吧,习惯了之后用英文也无所谓了,一些/+块名 可能用英文好搜索些
新版也有效 这边直接使用powershell打开 没有遇到过什么问题 汉化其实一开始用来上手吧,习惯了之后用英文也无所谓了,一些/+块名 可能用英文好搜索些
确实
Mac 怎么用
抱歉,不会Mac脚本。仅适用win
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
牛,已验证可用。回头学学这门神奇的语言。
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
亲测3.8.1可用👍
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
牛
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
这个是否只对应Win 的?
自己先点进去看看可执行程序的后缀,再问这些White痴问题吧
您BLACK痴吧。
自己先点进去看看可执行程序的后缀,再问这些White痴问题吧
你知不知道评论一次就会发一封邮件,白痴玩意,自己不知道点进去看可执行程序,在这发发发问**呢
两个都挺nt的,都别JB叫了,邮件隔着发发发不嫌吵吗
兄弟们,我用Rust写了个简单的脚本,感兴趣的可以去看看:https://github.com/x-haose/notion_chinese
3.10亲测可用
额,3.12.1 开始有问题了,。。。