2012-10-02

【軟體】 g2butf8 : 簡繁體轉換

最近又想將 Friends 拿出來重新看一下。
但覺的簡體字幕實在是很不呷意,還是繁體的好。
但 Friends 有3 百多集,一個一個轉也太累了,
所以就想找有指令的方式來轉換。
終於找到有人寫的一個很不錯的轉換程式
鳥毅的Blog - 完美簡繁轉換 - 真感謝這位作者


程式下載網站 : chinese-autoconvert
使用及安裝說明請見 :http://code.google.com/p/chinese-autoconvert/wiki/PageName
下圖是原始的簡體字,轉完後,就是最上面那張圖,變成繁體了,耶。
簡單記錄一下 Mac 安裝的部份
基本上都照著安裝就可以了。
Mac 要安裝二個東西
Universal Encoding Detector  及 python-jianfan
1. 安裝 Universal Encoding Detector
cd /tmp
wget http://chardet.feedparser.org/download/python2-chardet-2.0.1.tgz
tar xzf python2-chardet-2.0.1.tgz
cd python2-chardet-2.0.1
python setup.py build
sudo python setup.py install

2. 安裝 python-jianfan
cd /tmp
wget http://python-jianfan.googlecode.com/files/jianfan-0.0.1.tar.gz
tar xzf jianfan-0.0.1.tar.gz
cd jianfan-0.0.1
python setup.py build
sudo python setup.py install

最後,解開 g2butf8 的src包,在g2butf8目錄下,執行 python g2butf8.py 即可

注意:
我在安裝時,發現 python2-chardet-2.0.1.tgz 的下載路徑已經不存在了,
所以我是用 Google 去找 python2-chardet-2.0.1.tgz 來下載,懶的去裝新的,能用就好。

指令執行方式
Windows:
        g2butf8 c:\城市獵人\*.srt
Mac、Linux:
        python g2butf8.py ~/城市獵人/*.srt

注意:
我執行時,只要目錄不在同一層就會出錯,挺怪的
另外,*.srt 不會執行全部,只能一個一個檔案的下指令。
所以我自己寫了一隻 Script 來跑。
Script 內容如下 ( 也是被在 g2butf8 目錄中 ):
#!/bin/sh
files=`ls -l *.ass | awk '{print $9}'`
for i in ${files}; do
  python g2butf8.py ${i}
done
echo "DONE!!"


還要注意一點的是,我在執行的時候,有些檔案會有錯誤
UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 87072-87073: illegal multibyte sequence
如下圖:

這個問題,要修改一下 g2butf8.py 的程式
在 109 行,將
utf8content=original_content.decode(f_encoding)
改成
utf8content=original_content.decode(f_encoding, 'ignore')

就不會有錯誤了,我看轉換後的結果也是挺正常的。

好了,現在終於把簡體都換成繁體了,太棒了。




0 comments:

張貼留言