由於 ConvertZ 已停止維護數年了,所以向大家推薦這個在 github 找到的新方案。
來源 - GitHub:
https://github.com/BYVoid/OpenCC
下載:
http://www.wikifortio.com/793701/OpenCC-ver.1.1.2-win64.zip
http://www.wikifortio.com/820568/OpenCC-Git-1797aa8-win64.zip
簡介
中文簡繁轉換開方原始碼專案,支援詞彙級別的轉換、異體字轉換和地區習慣用詞轉換(中國大陸、臺灣、香港)。
特點
‧ 嚴格區分「一簡對多繁」和「一簡對多異」。
‧ 完全相容異體字,可以實現動態替換。
‧ 嚴格審校一簡對多繁詞條,原則爲「能分則不合」。
‧ 支援中國大陸、臺灣、香港異體字和地區習慣用詞轉換,如「裏」「裡」、「鼠標」「滑鼠」。
‧ 詞庫和函數庫完全分離,可以自由修改、匯入、擴充。
‧ 支援 C、C++、Python、PHP、Java、Ruby、Node.js。
‧ 相容 Windows、Linux、Mac平臺。
使用方法
只接受內容是 utf8 編碼的編碼的純文字檔。對於非 utf8 編碼的純文字檔,可用 Notepad++ 開啟純文字檔再轉換為 utf8 編碼後儲存檔案。或者,使用 iconv、enca/enconv 自動將輸入轉換為 utf8 (不推薦)。
輸入/輸出檔案路徑不能帶有 unicode 字元,為了避這個免問題,可以使用通過管道讀取檔案,不使用 -o 指定輸出檔案,將 Console 輸出寫入檔案 。
CLI 用法:
http://www.mobile01.com/topicdetail.php?f=300&t=3749946
顯示說明
opencc --help
基本用法:
::轉換檔案
opencc -i 輸入檔案 -o 輸出檔案 -c 組態檔案
::輸出結果到主控台
opencc -i 輸入檔案 -c 組態檔案
::通過管道輸入
type 輸入檔案 | opencc -o 輸出檔案 -c 組態檔案
::通過管道讀取並將輸出結果至管道
type 輸入檔案 | opencc -c s2t.json | ...
組態檔案:
‧ s2t.json - 簡體到繁體
‧ t2s.json - 繁體到簡體
‧ s2tw.json - 簡體到臺灣正體
‧ tw2s.json - 臺灣正體到簡體
‧ s2hk.json - 簡體到香港繁體(香港小學學習字詞表標準)
‧ hk2s.json - 香港繁體(香港小學學習字詞表標準)到簡體
‧ s2twp.json - 簡體到繁體(臺灣正體標準)並轉換爲臺灣常用詞彙
‧ tw2sp.json - 繁體(臺灣正體標準)到簡體並轉換爲中國大陸常用詞彙
‧ t2jp.json - 繁體(OpenCC 標準,舊字體)到日文新字體
使用範例:
::剪貼簿簡轉繁
powershell -sta "$OutputEncoding = [System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8; Set-Location '%cd%'; Get-Clipboard | .\opencc -c s2tw.json | Set-Clipboard"
::音樂檔的標籤簡轉繁
:Loop
ffmpeg -i "%~1" -f ffmetadata "%~1.metadata.txt"
type "%~1.metadata.txt" | opencc -c t2s.json | ffmpeg -i "%~1" -i - -map_metadata 1 -c copy "%~dpn1.remux%~x1"
if not "%~2" == "" (shift /1 &goto :Loop)
::檔名簡轉繁
chcp 65001 &cls
:Loop
for /f "tokens=* usebackq" %%f in (`echo^("%~n1"^| opencc -c s2tw.json`) do (
set var=%%~f
)
echo %~dp1
echo Name: "%~n1"
echo Newname: "%var%"
set /p reply=Are you sure (Y/[N])?
if /I "%reply%" neq "y" goto :Next
ren "%~1" "%var%%~x1"
:Next
if not "%~2" == "" (shift /1 &goto :Loop):End
FFmpeg: https://www.mobile01.com/topicdetail.php?f=510&t=3734550