Opencc 使用

https://github.com/BYVoid/OpenCC
cmake -DCMAKE_INSTALL_PREFIX="/home/shihyu/.mybin/opencc" \
-DCMAKE_INSTALL_RPATH="/home/shihyu/.mybin/opencc/lib" ../

make && make install
# -*- coding: utf-8 -*-
# Author: bl_indie
# This script uses OpenCC as translate engine
# https://github.com/BYVoid/OpenCC
# License: MIT
# -----------------------------------
# s2t.json Simplified Chinese to Traditional Chinese 簡體到繁體
# t2s.json Traditional Chinese to Simplified Chinese 繁體到簡體
# s2tw.json Simplified Chinese to Traditional Chinese (Taiwan Standard) 簡體到臺灣正體
# tw2s.json Traditional Chinese (Taiwan Standard) to Simplified Chinese 臺灣正體到簡體
# s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong Standard) 簡體到香港繁體(香港小學學習字詞表標準)
# hk2s.json Traditional Chinese (Hong Kong Standard) to Simplified Chinese 香港繁體(香港小學學習字詞表標準)到簡體
# s2twp.json Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 簡體到繁體(臺灣正體標準)並轉換為臺灣常用詞彙
# tw2sp.json Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁體(臺灣正體標準)到簡體並轉換為中國大陸常用詞彙
# t2tw.json Traditional Chinese (OpenCC Standard) to Taiwan Standard 繁體(OpenCC 標準)到臺灣正體
# t2hk.json Traditional Chinese (OpenCC Standard) to Hong Kong Standard 繁體(OpenCC 標準)到香港繁體(香港小學學習字詞表標準)
# -----------------------------------

import os
import re

# Translation config
config = "s2tw.json"
# Regular expression matching, ignore case
pattern = re.compile('.md$|.lua$|.php$|.json$', re.I)
# Directories where your text you want to translate exist
dirs = ["/home/shihyu/design-pattern-java"]

def transFile(fileName, config):
    cmdT = 'echo {I} | opencc -c {C}'
    cmd = cmdT.format(I = fileName, C = config)
    Out_fileName = os.popen(cmd).read() 
    #print Out_fileName

    cmdT = 'opencc -i {I} -o {O} -c {C}'
    cmd = cmdT.format(I = fileName, O = Out_fileName, C = config)
    os.popen(cmd)

    '''
    cmdT = 'rm {I}'
    cmd = cmdT.format(I = fileName)
    os.popen(cmd)
    '''

def judgeFile(fileName):
    if pattern.search(fileName):
        print "Match! " + fileName
        transFile(fileName, config)

def walkDir(rootDir):
    list_dirs = os.walk(rootDir)
    for root, dirs, files in list_dirs:
        for d in dirs:
            print os.path.join(root, d)
        for f in files:
            judgeFile(os.path.join(root, f))

for dir in dirs:
    walkDir(dir)


书籍推荐