def get_word_to_zhuyin_list(): output = {} for word,pin in get_word_and_pinyin_in_dictionary('terra_pinyin.dict.yaml'): zhu = pinyin_to_zhuyin(pin.strip()).strip().replace(' ', '') if word not in output: output[word] = [] output[word].append(zhu) return output
def print_with_pronunciation_zhu(word, pin=None, outfile=sys.stdout): if pin == None: zhu = get_zhuyin(word) else: zhu = pinyin_to_zhuyin(pin).strip() if zhu != None: pronunciation = zhu else: return print(word + '\t' + ''.join(pronunciation), file=outfile)
def get_all_zhuyin(word): output = [] word_to_zhuyin_list = get_word_to_zhuyin_list() word_to_zhuyin_list2 = get_word_to_zhuyin_list2() if word in word_to_zhuyin_list: output.extend(word_to_zhuyin_list[word]) if word in word_to_zhuyin_list2: output.extend(word_to_zhuyin_list2[word]) pin = pinyin.get(word, format='numerical', delimiter=' ').strip() if is_valid_pinyin(pin) and (len(output) == 0 or len(output) > 1): output.insert(0, pinyin_to_zhuyin(pin).strip().replace(' ', '')) return output
def print_with_pronunciation_jyutzhu(word, pin=None, outfile=sys.stdout): if pin == None: zhu = get_zhuyin(word) else: zhu = pinyin_to_zhuyin(pin).strip() jyut = get_jyutping(word) if zhu != None and jyut != None: #pronunciation = jyut pronunciation = jyut + zhu elif zhu != None and jyut == None: #return pronunciation = zhu elif jyut != None and zhu == None: pronunciation = jyut else: return print(word + '\t' + ''.join(pronunciation), file=outfile)