|
import re |
|
from num_thai.thainumbers import NumThai |
|
|
|
|
|
num = NumThai() |
|
|
|
|
|
_latin_to_thai = [(re.compile('%s' % x[0], re.IGNORECASE), x[1]) for x in [ |
|
('a', 'เอ'), |
|
('b','บี'), |
|
('c','ซี'), |
|
('d','ดี'), |
|
('e','อี'), |
|
('f','เอฟ'), |
|
('g','จี'), |
|
('h','เอช'), |
|
('i','ไอ'), |
|
('j','เจ'), |
|
('k','เค'), |
|
('l','แอล'), |
|
('m','เอ็ม'), |
|
('n','เอ็น'), |
|
('o','โอ'), |
|
('p','พี'), |
|
('q','คิว'), |
|
('r','แอร์'), |
|
('s','เอส'), |
|
('t','ที'), |
|
('u','ยู'), |
|
('v','วี'), |
|
('w','ดับเบิลยู'), |
|
('x','เอ็กซ์'), |
|
('y','วาย'), |
|
('z','ซี') |
|
]] |
|
|
|
|
|
def num_to_thai(text): |
|
return re.sub(r'(?:\d+(?:,?\d+)?)+(?:\.\d+(?:,?\d+)?)?', lambda x: ''.join(num.NumberToTextThai(float(x.group(0).replace(',', '')))), text) |
|
|
|
def latin_to_thai(text): |
|
for regex, replacement in _latin_to_thai: |
|
text = re.sub(regex, replacement, text) |
|
return text |
|
|