BladeMight

Results 440 comments of BladeMight

@yuklov Да тут нужно будет "усовершенствовать" транслитерацию. Сейчас замена только "символы" на "символы", может добавить еще файл для замен по regex?

Сейчас доделаю "замены по regex" в `TSDict.txt`, и потом можно будет использовать что-то вроде этого: [/(?

Добавил поддержку regex в TSDict.txt в e4797c3, синтаксис такой: _s/что/на что/_**|**_s/что(обратная)/на что(операция)/_ или если обратная операция не требуется: _s/что/на что/_**|** "**s**" в начале и 3 "**/**"([unescaped](https://docs.microsoft.com/ru-ru/dotnet/standard/base-types/character-escapes-in-regular-expressions)) обязательны для каждой строчки!...

@yuklov Пока что могут быть баги, если что заметишь - пиши.

Порядок правил в TSDict.txt очень важен, иначе будет что-то вроде того что ты писал: >Если поменяю > >>ъ|ʼ >>Ъ|’ >на >>Ъ|’ >>ъ|ʼ >будет так: >МаЪруза >МАЪРУЗА Объясняю: когда `ъ|ʼ` была...

> s/\(?=[АИОУЎЕЭЪЬ])Е/YE/|s/(?=[АИОУЎЕЭЪЬ])YE/Е/ Хм а в `\(?=` зачем `\` перед: `(`? `(?=...)` = позитивный просмотр **вперед**, а похоже нужно назад `(? Но что делать, чтобы ЕКАТЕРИНБУРГ, КАТАЕВ переводился так: YEKATERINBURG, KATAYEV...

(теперь благодаря [DICT](https://github.com/BladeMight/Mahou/blob/master/Mahou/Classes/DICT.cs)) Порядок в правилах имеет большое значение на результат(и точно сохраняется!): > s/((^|\b)|[А-ДЖ-ЯЁ]*)Е(?=[А-ДЖ-ЯЁ]+|(^|\b))/$1YE/|s/((^|\b)|[A-DF-XZ]*)YE(?=[A-DF-XZ]+|(^|\b))/$1Е/ Е|Ye е|ye Т.е. сначала проверяет регулярное выражение, потом обычные замены.

В a2f08a1 добавил важное исправление, теперь 1 повторяющийся символ тоже работает: (отредактировал пост выше)

В общем осталось только "проверять" и "придумывать" правила....

> (?=[OʻYOYUYAYEAIOUE]) Думаю такие правила будут "ловить" только 1 символ, тебе нужно наверно что-то вроде этого: `([Oʻ]|Y?[AOUEI])` > s/(?=[OʻYOYUYAYEAIOUE])YE/Е/ Твои правила не проверяют "то что после" `YE`? > По моему...