Beispiel #1
0
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)