cointegrated commited on
Commit
fe0779d
1 Parent(s): 0839379

fix the yo substitution

Browse files
Files changed (3) hide show
  1. examples/zontik_cyr.txt +85 -0
  2. myv_translit.py +2 -2
  3. test_translit.py +14 -3
examples/zontik_cyr.txt ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Зонтик ды Панамка
2
+
3
+ Эрясь-аштесь Зонтик. Лиятнеде а явовиця, вишкинестэ пурнавиця. Тюсозо сэнель. Эрямосонзо весемесь ульнесь вадря, вейкеде башка. Сон лиснесь ульцяв ансяк пиземе шкане, секскак арсесь, буто перть-пельксэсь свал начко, менеленть тюсозояк валдокс а эрси.
4
+
5
+ «Вай, кодамо нусманя эрямом? – кортась эсь пачканзо, кирмицявозь а покшке сюворксокс. – Вай, кодашка тошначим!»
6
+
7
+ – Мезть секе тев стакасто укснят? – весть кевкстизе Зонтикенть сыре Шляпась, конась аштесь теке жо шкапсонть, ансяк седе вере лавцянть лангсо.
8
+
9
+ – Мезес, тонь койсэ, кецнемс? – таго стакасто укстась Зонтикесь. – Пертьпельга ансяк пиземеть валыть… Начко…
10
+
11
+ – Вай, пайстомне! – седеймарясь тензэ Шляпась. – Алкукскак, тон вадря погодаяк эзить некшне! Ушов эйсэть ливтнить ансяк пиземе алга. Пайстомо, кода мелявтан кисэть!
12
+
13
+ – Тошна тень! – таго укстась Зонтикесь.
14
+
15
+ Шляпась зярыя шка арсесь, мейле мери:
16
+
17
+ – Варчаса лездамс теть. Кунсолок, мезе мерян! Несак се сумканть? Сы недлячистэ тон, а неемга, кеверть эйзэнзэ. Чарькодик?
18
+
19
+ – Чарькодия, – мерсь Зонтикесь. – Мейле мезе?
20
+
21
+ – Мейле? – мизолдозь мерсь Шляпась. – Мейле тонсь несак…
22
+
23
+ Сыре Шляпанть превспутомазо Зонтикентень овсе эзь чарькодеве, ансяк недлячистэ тейсь истя, кода тензэ мерсь Шляпась. Апак маря, апак нее, сон кеверсь валдо сэнь покш сумкантень, конань бокасо ульнесь рисовазь трокс путозь матросонь картузсо кенярксов цёрабаень чачо.
24
+
25
+ Сумкась васня чаволь. Мейле эйзэнзэ нерьгсть эрьва мезть, ды ков-бути саизь. Зонтикесь понгсь сехте алов. Сонзэ лангс прась кодамо-бути эчке книга. Книгась апак лотксе мотордсь, бажась велявтомс ды муемс эстензэ ён тарка, ансяк те тевесь тензэ кодаяк эзь тееве. Зонтикенть вакссо мадезь аштесь кельме лимонадто пештязь сулика. Суликась кежейстэ булькаесь ды мелезэль валомс весе ведензэ лиятнень лангс.
26
+
27
+ Пупиця сурсемесь пезнавтынзе пеензэ Зонтикенть пря кочомс ды истя мельспаросо чикордсь эйсэст, натой кавто пейтнень синдинзе.
28
+
29
+ Окойники кувака ки лангось прядовсь. Зонтикесь чарькодизе, сумканть козонь-бути путызь. Мейле панжизь, мезе-бути эйстэнзэ сайсть ды пекстызь одс.
30
+
31
+ Перть-пельга каштмолезевсь. Зонтикенть туртов те ульнесь седеяк берянь. Сумкась мезде-бути кармась эжеме. Зонтикентень а мейсэ кармась лексемс. Апак учне сумкась таго панжовсь ды те шкане Зонтикесь прась ушов. Сон овсе эзь чарькоде, мекс лангозонзо весе тетькизь сельмест, прок тамаша лангс, теке неить васенцеде? Пейдсть-тейсть, ды панжизь…
32
+
33
+ Зонтикесь дивамодонть вайкстась ды эль эзь пра масторов. Сон истямо валдо чи онстонзояк эзь некшне. Пертьпельга весемесь ульнесь пек мазый!
34
+
35
+ Валдо-сэнь менель, пси чипай, сэнь моря, ожо чувар ды сядот истят жо зонтикт, кодамо сон, ансяк сёрмавт ды эрьва кодамо тюсонь.
36
+
37
+ Теде весемеденть Зонтикенть кармась чарамо прязо. Чарась, чарась, чарась…
38
+
39
+ Вана аламодо сась ёжос, варштась тей-тов ды аволь пек васоло, мерема, овсе вакссонзо, несь валдо сёрмав шляпине. Кодамо-бути лия ёнов а молиця, перьканзо сюлмсезь ламо сурепулот. Истямо шляпа Зонтикесь теде икеле эзь некшне.
40
+
41
+ – Тон кият? – кевкстизе Зонтикесь шляпиненть.
42
+
43
+ – Мон? – дивазевсь шляпинесь. – Панамка.
44
+
45
+ – Па-нам-ка… – слогонь слог ёвтызе Зонтикесь, ды эзь сода, мезде кортамс седе тов.
46
+
47
+ – А мон тонь содатан. Тон – Зонтик! – мерсь Панамкась. – Ансяк а чарькодян, ней жо пиземе арась? А тонь кондямо зонтиктне пляжов а якить.
48
+
49
+ – Мон… Мон… – Зонтикесь эзь сода мезе меремс, секскак келезэ понгонесь. – Мон сынь тонть лангс варштамо! – окойники мусь валт Зонтикесь.
50
+
51
+ – Монь лангс? – дивазевсь Панамкась. – Мезекс те теть эряви?
52
+
53
+ – Вельть тон мазыят! – мерсь Зонтикесь.
54
+
55
+ – Гм, – мизолдозевсь Панамкась ды мерсь виздезь.
56
+
57
+ – Тонгак монь мельс туить.
58
+
59
+ – Жаль, – стакасто укстась Зонтикесь.
60
+
61
+ – Мезесь жаль? – кевкстизе Панамкась.
62
+
63
+ – Курок чокшне ды сави миненек явовомс.
64
+
65
+ – Алкукскак, – истя жо укстась Панамкась. – Тон эште сат тей?
66
+
67
+ – А содан, – мерсь Зонтикесь. – Мон жо аволь пляжга якицян. Пиземе арась.
68
+
69
+ – Мейле мезе?
70
+
71
+ Те шкастонть Зонтикенть пурнызь ды сон таго понгсь содавикс сумкантень. Ансяк ней сехте верель. Судозояк тарнось ушосо, сельмензэяк несть мезе тееви перьканзо.
72
+
73
+ Ялатеке ёжозо берянель. Сон арсесь мазый шляпинеденть — Панамкадонть. Чумондсь эсь прянзо, мекс эзь кенере тензэ меремс «Вастомазонок!».
74
+
75
+ Те шкастонть Зонтикесь варштась вить ёнов ды… Истяшка кеняркс! Овсе маласо кодазь кептернесэ аштесь сон – Панамкась!
76
+
77
+ – Шкась а менстяма! – арсезевсь Зонтикесь. Ды эзизе менстя. Велявтсь, венстизе Панамкантень эсензэ кеме кедензэ ды мерсь:
78
+
79
+ – Кундак седе куроксто!
80
+
81
+ Панамкась васня тандадсь, мейле сась ежос, пелезь кундась Зонтикенть кедьс ды сорнозь, ютась Зонтикенть ёнов…
82
+
83
+ …Се шкастонть саезь шкапсонть сынь кавонест. Ней Зонтикесь овсе а тошнакали певтеме пиземетнень эйстэ. Сон соды, кудосо учи эйсэнзэ Панамкась, конась пек моли чипаенть ёнов. Панамканть неезь, Зонтикенть сеске лембелгады ёжозо ды кенярдозеви седеезэ.
84
+
85
+ Вере лавцянть лангсо сыре Шляпась ваны лангозост ды каштмоли, ансяк кой-зярдо кувакасто укстни, паряк, ледстни сень, мезесь уш умок ютась.
myv_translit.py CHANGED
@@ -234,8 +234,8 @@ _lat2cyr = [
234
  # ya, yo, yu
235
  {'find_what': 'Й[Аа]', 'replacer': 'Я', 're': True},
236
  {'find_what': 'й[Аа]', 'replacer': 'я', 're': True},
237
- {'find_what': 'Й[Ее]', 'replacer': 'Ё', 're': True},
238
- {'find_what': 'й[Ее]', 'replacer': 'ё', 're': True},
239
  {'find_what': 'Й[Уу]', 'replacer': 'Ю', 're': True},
240
  {'find_what': 'й[Уу]', 'replacer': 'ю', 're': True},
241
  # todo: introduce Ъ when appropriate
 
234
  # ya, yo, yu
235
  {'find_what': 'Й[Аа]', 'replacer': 'Я', 're': True},
236
  {'find_what': 'й[Аа]', 'replacer': 'я', 're': True},
237
+ {'find_what': 'Й[Оо]', 'replacer': 'Ё', 're': True},
238
+ {'find_what': 'й[Оо]', 'replacer': 'ё', 're': True},
239
  {'find_what': 'Й[Уу]', 'replacer': 'Ю', 're': True},
240
  {'find_what': 'й[Уу]', 'replacer': 'ю', 're': True},
241
  # todo: introduce Ъ when appropriate
test_translit.py CHANGED
@@ -1,4 +1,4 @@
1
- from myv_translit import cyr2lat, detect_script
2
 
3
 
4
  def test_join_acute():
@@ -27,6 +27,17 @@ def test_detection():
27
  assert detect_script('ěrzä эрзянь') == 'mix'
28
 
29
 
30
- # todo: test on a larger corpus
31
- # todo: test cyclical consistency
 
 
 
 
 
 
 
 
 
 
 
32
 
 
1
+ from myv_translit import cyr2lat, lat2cyr, detect_script
2
 
3
 
4
  def test_join_acute():
 
27
  assert detect_script('ěrzä эрзянь') == 'mix'
28
 
29
 
30
+ def test_lat2cyr_edge_cases():
31
+ assert lat2cyr('bažaś velävtoms dy muems ěstenzě jon tarka') == 'бажась велявтомс ды муемс эстензэ ён тарка'
32
+
33
+
34
+ def test_consistency():
35
+ with open('examples/zontik_cyr.txt', 'r') as f:
36
+ lines = [line.strip() for line in f.readlines()]
37
+ lines = [line for line in lines if line]
38
+ assert len(lines) > 40
39
+ for line_cyr in lines:
40
+ line_lat = cyr2lat(line_cyr)
41
+ line_cyr2 = lat2cyr(line_lat)
42
+ assert line_cyr == line_cyr2
43