:down: :down: ;up:Для себя написал небольшую программку для транслитерации текста.
Назвал TeKo (Teksta Konverto), т.к. использую для добавления диакритики в тексты на Эсперанто и транслит. русского в английский.
Первая версия программы TeKo 1.0
Она заметно упрощает процесс конвертирования готовых текстов.
Можно загружать уже набранные тексты и сохранять результат.
Системные требования – наличие .NET Framework 2.0 и старше.
Вот ссылка на архив. https://yadi.sk/d/Iqgr-KNBhsPxC
В нем сама программа, 2 шаблона (эсперанто и транслит рус>англ) и небольшая справка (в PDF).
Принимаю на почту (указана в справке) и тут любые отзывы, критику, идеи...
Скриншот-пример:
(http://s7.hostingkartinok.com/uploads/images/2015/07/e8da66f47e4f12be67f45a67dbba7bca.png)
P.S. Почему-то не получилось создать тему в "Проекты письменностей и транслитераций"...
Очень полезная вещь. Я тоже хотел себе сделать, но так и не решил, что именно я хочу.
Простая замена не очень интересна. Я хотел сделать немного более сложный язык для описания правил, чтобы можно было описывать разные системы транслитерации.
Вот пример файла правил из моего черновика (это система транслитерации Воллигера Менша):
Цитировать[C]
[bC]
б в г д з к л м н п р с т ф х
b v g d z k l m n p r s t f x
[hC]
ж ц ш
zh c sh
[sC]
й ч щ
j ch sch
[V]
[hV]
у о а э ы ъ
u o a e y _
[sV]
ю ё я е и ь
u o a e y _
{
_
[V][sV] [V]j[sV]
[bC][sV] [bC]i[sV]
[sC][V] [sC]i[V]
Здесь транслитерируемые буквы делятся на согласные [C] и гласные [V]. Согласные — на всегда твёрдые [hC], всегда мягкие [sC] и способные быть твёрдыми и мягкими [bC]. Гласные — на несмягчающие [hV] и смягчающие [sV].
Идея была в том, что правила транситерации применяются как к отдельным буквам, так и к их группам.
Цитата: Тайльнемер от июля 18, 2015, 17:41
Очень полезная вещь. Я тоже хотел себе сделать, но так и не решил, что именно я хочу.
Простая замена не очень интересна. Я хотел сделать немного более сложный язык для описания правил, чтобы можно было описывать разные системы транслитерации.
Вот пример файла правил из моего черновика (это система транслитерации Воллигера Менша):
Цитировать[C]
[bC]
б в г д з к л м н п р с т ф х
b v g d z k l m n p r s t f x
[hC]
ж ц ш
zh c sh
[sC]
й ч щ
j ch sch
[V]
[hV]
у о а э ы ъ
u o a e y _
[sV]
ю ё я е и ь
u o a e y _
{
_
[V][sV] [V]j[sV]
[bC][sV] [bC]i[sV]
[sC][V] [sC]i[V]
Здесь транслитерируемые буквы делятся на согласные [C] и гласные [V]. Согласные — на всегда твёрдые [hC], всегда мягкие [sC] и способные быть твёрдыми и мягкими [bC]. Гласные — на несмягчающие [hV] и смягчающие [sV].
Идея была в том, что правила транситерации применяются как к отдельным буквам, так и к их группам.
Хм. Это да, было бы интересно осуществить. Но думаю, большинству хотелось бы просто заменять букву на букву.
Если "извращаться", то можно в моей программе забить нужные комбинации. Если я правильно понял суть идеи.
А нет ли примера текста ДО и ПОСЛЕ?
Цитата: Тайльнемер от июля 18, 2015, 17:41Простая замена не очень интересна. Я хотел сделать немного более сложный язык для описания правил, чтобы можно было описывать разные системы транслитерации.
Попробуйте в SCA² (http://www.zompist.com/sca2.html).
Или ASCA (https://yadi.sk/d/Fv5n8lPqhwYzj) (из интернетов, кажется, пропала — ссылка на пересобранный мной архив) (нужна Java не помню какой версии) от Саманты Маккейб (https://github.com/samanthamccabe) (сейчас она делает улучшенную SCA, пока не совсем готовую). Впрочем, я Тайльнемеру уже посылал этот архив, кажется — но то лишь ему.
Так SCA² это и есть "улучшенная" ASCA, да ещё прямо в браузере.
Неа, это улучшенная SCA того же автора! Самая первая, что ли, вообще. И браузерность не всегда удобна — скрипт не напишешь автоматический, например.
Смотря какой скрипт.
(Вообще, выражение «скрипт не напишешь» в отношении скриптового языка звучит оксюморонно :).)
Конечно же, я имел в виду скрипт, вызываемый как программа из своей операционной системы, и которому можно передать файлы. Сейчас браузеры аккуратно не дают JS делать что-то с произвольными файлами — даже для TiddlyWiki авторам пришлось дополнение написать, чтобы сохраняемость появилась. :)
Спору нет, на AutoHotkey и аналогах, наверное, можно написать скрипт, запускающий SCA² в браузере, тыкающий мышкой по полям и заполняющий их текстом, и потом копирующий вывод, когда тот появится, куда-нибудь — но это дооооолгоооо...
А JavaScript не умеет «тыкать мышкой по полям и заполнять их текстом»? :what:
Кто мешает полученный результат использовать ещё раз?
Цитата: Bhudh от апреля 7, 2016, 20:02
А JavaScript не умеет «тыкать мышкой по полям и заполнять их текстом»? :what:
Тогда это будет писанина не на одном языке, а на двух — возможно, хуже. Одним JS обойтись не удастся. Ну, может быть, node.js позволит что-то из того, что браузерный JS не сможет, не знаю. Кому как, я не настаиваю против SCA².
Цитата: arseniiv от апреля 9, 2016, 00:03Тогда это будет писанина не на одном языке, а на двух
Каких? SCA и JS?
Не, ещё на сопрягающем GUI с вводом из файлов с текстом и результатом. Например,
java -jar "C:\Program Files\asca\ASCA.jar" -f in.txt -o out.txt -r rules2.txt --diff
Чё-то я не понял. Я предложил вывод SCA² всунуть в ввод SCA². Простой строчкой
sca_input.value = sca_output.value;
и столько раз, сколько нужно. Батник-то к чему?
Вводить из файла, не копируя. Может, это вывод другой программы будет. И ввод для третьей. Или мне просто неудобно смотреть на вывод из поля текстового в браузере. ::)
Цитата: Bhudh от апреля 12, 2016, 11:44
Я предложил вывод SCA² всунуть в ввод SCA².
А вот зачем может понадобиться
это? :D
Чтобы обработать результат ещё раз. Другими правилами, к примеру.
А, тогда их надо будет тоже засунуть в код на JS. Нерасширяемо-то как!