katakana.py

changeset 1
f9788970fa46
parent 0
659ab465152e
equal deleted inserted replaced
0:659ab465152e 1:f9788970fa46
151 if len(latin) > 1 and latin[0] != 'n': 151 if len(latin) > 1 and latin[0] != 'n':
152 # we do not need a small tsu version for n because n is its own kana 152 # we do not need a small tsu version for n because n is its own kana
153 katakana[latin[0] + latin] = 'ッ' + katakana[latin] 153 katakana[latin[0] + latin] = 'ッ' + katakana[latin]
154 # add long vowel versions 154 # add long vowel versions
155 for latin in copy(list(katakana.keys())): 155 for latin in copy(list(katakana.keys())):
156 katakana[latin + latin[-1]] = katakana[latin] + 'ー' 156 if latin != 'n':
157 katakana[latin + latin[-1]] = katakana[latin] + 'ー'
157 return katakana 158 return katakana
158 159
159 def katakana_keys(kana_table): 160 def katakana_keys(kana_table):
160 return sorted(kana_table.keys(), key = len)[::-1] 161 return sorted(kana_table.keys(), key = len)[::-1]
161
162 katakana_table = full_katakana_table(RAW_KATAKANA_TABLE)
163 162
164 def finnish_to_romaji(finnish): 163 def finnish_to_romaji(finnish):
165 # translates finnish text to Japanese romaji 164 # translates finnish text to Japanese romaji
166 # does not, however, fill in 'u' vowels to consonants, that is done 165 # does not, however, fill in 'u' vowels to consonants, that is done
167 # by the splice_romaji function 166 # by the splice_romaji function
173 .replace('w', 'v') 172 .replace('w', 'v')
174 .replace('j', 'y') 173 .replace('j', 'y')
175 .replace('l', 'r') 174 .replace('l', 'r')
176 .replace('ä', 'a') 175 .replace('ä', 'a')
177 .replace('ö', 'o') 176 .replace('ö', 'o')
177 .replace('x', 'ks')
178 .replace('c', 'k')
178 .replace('å', 'oo')) 179 .replace('å', 'oo'))
179 180
180 def splice_romaji(romaji, keys): 181 def splice_romaji(romaji, keys):
181 while len(romaji) > 0: 182 while len(romaji) > 0:
182 for key in keys: 183 for key in keys:

mercurial