New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Необходимый функционал для ГД

Ветка для общения разработчиков и координации разработки

Необходимый функционал для ГД

Postby C2BlEv » Sat Feb 06, 2016 8:02 pm

Напишу еще и здесь.

Вот что мне нужно в ГД. Мне нужно чтобы поиск (и простой и полнотекстовый) мог:

1. игнорировать некоторые символы. Например ударе́ние (символ над е), пунктуацию, кавычки (" “” „ ” « ») и т.п.
2. приравнять некоторые символы для поиска. Например, ‘’ и ', е и ё, ά и ά (два разных уникодовских символа, которые эквиваленты друг другу, таких в греческом 16 штук), и возможно приравнять целые группы букв с диакритиками к основной букве (например, άάἀἁἂἃἄἅἆἇ = α).

Можно ли бы внедрить такой функционал где-нибудь в опциях? Так, чтобы можно самому писать правила.
C2BlEv
Модератор
 
Posts: 215
Joined: Tue May 05, 2009 3:45 pm

Re: Необходимый функционал для ГД

Postby Michael72 » Thu Apr 07, 2016 7:06 pm

C2BlEv wrote:Напишу еще и здесь.

Вот что мне нужно в ГД. Мне нужно чтобы поиск (и простой и полнотекстовый) мог:

1. игнорировать некоторые символы. Например ударе́ние (символ над е), пунктуацию, кавычки (" “” „ ” « ») и т.п.
2. приравнять некоторые символы для поиска. Например, ‘’ и ', е и ё, ά и ά (два разных уникодовских символа, которые эквиваленты друг другу, таких в греческом 16 штук), и возможно приравнять целые группы букв с диакритиками к основной букве (например, άάἀἁἂἃἄἅἆἇ = α).

Можно ли бы внедрить такой функционал где-нибудь в опциях? Так, чтобы можно самому писать правила.

п.1 полностью реализован для словарей в DICT-формате. Например, сравните два результата для поиска без запятой:
αιδης αδης
и для поиска с запятой:
αιδης, αδης
Результат тот же.
Для того, чтобы поиск в словаре работал таким образом, словарь должен быть создан особым образом. Например, если словарь создается утилитой dictfmt с ключом --allchars, то при поиске будут учитываться все символы, без этого ключа - только алфавитно-цифровые символы и пробел.
п.2 также реализован для DICT-словарей. Так как диакритические символы не являются алфавитно-цифровыми символами, то вводить их при поиске так же как и знаки препинания нет необходимости - на результат поиска их присутствие/отсутствие никак не отражается.
Однако вы хотите, чтобы буква (с Smooth Breathing, Rough Breathing, Acute, Grave и т.п.) с диакритиками, когда она вводится не как комбинирование знака буквы с соответствующими диакритическими знаками, а как один знак, воспринималась бы просто как буква без диакритиков. Это можно также реализовать, но требует переделки самой словарной базы. Надо добавлять в заголовки вариант слова с диакритиками, когда каждая буква это один знак, а не комбинация из нескольких знаков (буква плюс диакритики).
Например, варианты разделять косой чертой "/", а при создании словаря утилитой dictfmt использовать ключ --headword-separator /.
Подробно обо всём писать не нахожу в себе сил, поэтому ограничиваюсь краткими предпосылами. В случае вопросов, постараюсь помочь.
Michael72
 
Posts: 180
Joined: Tue Mar 12, 2013 1:34 pm

Re: Необходимый функционал для ГД

Postby apokalupsis » Thu Sep 01, 2016 5:10 pm

Я обращался с просьбой на руборде, но никто так и не ответил. Теперь пишу здесь.
Уважаемые разработчики, есть маленькое пожелание для добавки в функционал GoldenDict.
Начну с того, что уже есть.
На вкладке "Транслитерация" есть целый раздел японского. По аналогии предлагаю немного расширить греческий.
Та транслитерация греческого, что есть уже сейчас обычно называется "гриклиш (Greeklish)", такой способ используют современные греки когда желают писать латиницей (w = ω, q = θ, x = χ и т.д.). Но традиционно для обозначения древнегреческих слов, например, в наших словарях иностранных слов, в различных справочниках греческие слова записывают иначе, не такими латинскими буквами (o = ω, th = θ, x = ξ и т.д.).
Сейчас работаю со многими справочниками, часто приходится копировать греческое слово записанное латиницей и искать его в словаре. Хочется, к примеру, чтобы при копировании слова eudoxos сразу всплывало εὔδοξος, а не переписывать его заново в строке поиска.
Поэтому очень прошу добавить ещё один пунктик и назвать его примерно так "Греческий (классическая латиница)", а на всплывающей подсказке обозначить "o = ω, th = θ, x = ξ".
Уже имеющийся пунктик обозвать "Греческий (гриклиш)". На всплывающей подсказке "w = ω, q = θ, x = χ"
Вот сделал небольшую табличку, где видно общее и разница между гриклишем и классической транслитерацией https://yadi.sk/i/KMd45FQwhtUqH
apokalupsis
 
Posts: 17
Joined: Thu May 10, 2012 4:59 am

Re: Необходимый функционал для ГД

Postby Michael72 » Thu Sep 01, 2016 10:58 pm

apokalupsis wrote:... Но традиционно для обозначения древнегреческих слов, например, в наших словарях иностранных слов, в различных справочниках греческие слова записывают иначе, не такими латинскими буквами (o = ω, th = θ, x = ξ и т.д.).
Сейчас работаю со многими справочниками, часто приходится копировать греческое слово записанное латиницей и искать его в словаре. Хочется, к примеру, чтобы при копировании слова eudoxos сразу всплывало εὔδοξος, а не переписывать его заново в строке поиска.

Вы уверены, что во многих справочниках, с которыми вы работаете, придерживаются какой-то одной общей транслитерации греческого текста? Ваш пример со словом eudoxos и приводимая вами таблица греческой транслитерации демонстрируют явные противоречия и ошибки. Например, вы пишете o = ω, тогда почему εὔδοξος, а не εὔδωξως?
В приводимой вами таблице кроме кода <o>, которому соответствуют две буквы (Омикрон, Омега), есть ещё <e> (Эписло, Эта) и <s> (Сигма, Стигма).
GoldenDict скорей всего придерживается кодировки греческого шрифта Symbol, который входит в состав всех версий ОС Windows. Если так, то в таком случае ваша таблица греческой транслитерации относительно того, что уже есть в GoldenDict, также неверна. Я думаю, что присутствие этих явных ошибок может производить неблагоприятное впечатление на разработчиков...
Хочу порекомендовать вам попытаться создать новую таблицу транслитерации греческого текста, ту, что вам нужна, без попытки сравнения с той, что используется в GoldenDict. Примерно в таком формате:
Code: Select all
Название | Вид | Транслитерация
Альфа    | α,Α | a
Бета     | β,Β | b
Гамма    | γ,Γ | g
...
Пси      | ψ,Ψ | ps
Омега    | ω,Ω | o


Если разработчики не откликнутся на вашу нужду, то в принципе ваша задача решается путём создания специального сценария и его подключения через меню Правка - Словари - Источники - Программы с использованием типа "По префиксу"...
Но в случае если у разных букв может быть одинаковая Транслитерация, мне сложно представить алгоритм по которому должен работать сценарий.
Michael72
 
Posts: 180
Joined: Tue Mar 12, 2013 1:34 pm

Re: Необходимый функционал для ГД

Postby apokalupsis » Sun Sep 04, 2016 1:39 pm

GoldenDict скорей всего придерживается кодировки греческого шрифта Symbol, который входит в состав всех версий ОС Windows.

Очень похоже на Symbol, но несколько знаков не совпадают. Латинская s соответствует двум греческим буквам: σ и ς.
Image[/url]
V не соответствует конечной сигме (ς).
Image[/url]
c не соответствует греческой χ, это явно ξ
Image[/url]
apokalupsis
 
Posts: 17
Joined: Thu May 10, 2012 4:59 am

Re: Необходимый функционал для ГД

Postby apokalupsis » Sun Sep 04, 2016 2:04 pm

Латинская транслитерация древнегреческого вполне официальна. См. страница из учебника Вольфа содержит специальную колонку Image[/url]
В советских справочных изданиях такая транслитерация для греческого использовалась всегда. В российских - в половине изданий (в остальных случаях пишут уже греческими буквами).
Возьмём к примеру слово схема. Вот как о нём пишут в дореволюционных изданиях http://inslov.ru/html-komlev/s/shema.html (греч. schema)
Более новые издания (в моём GoldenDict)

Толковый словарь иностранных слов Крысина (Ru-Ru)
схема
ы, ж. (нем. Schema < греч. schēma образ, вид, форма).

Ушаков
схема
схема, схемы, жен. (греч. schema-образ, вид).

Этимологический (Шанский) (Rus-Rus)
схема
Заимств. из лат. яз., где schema < греч. schēma «фигура, вид».
apokalupsis
 
Posts: 17
Joined: Thu May 10, 2012 4:59 am

Re: Необходимый функционал для ГД

Postby Michael72 » Sun Sep 04, 2016 3:45 pm

apokalupsis wrote:...
Очень похоже на Symbol, но несколько знаков не совпадают. Латинская s соответствует двум греческим буквам: σ и ς...

Убедительно. Спасибо.
Michael72
 
Posts: 180
Joined: Tue Mar 12, 2013 1:34 pm

Re: Необходимый функционал для ГД

Postby Michael72 » Sun Sep 04, 2016 3:53 pm

apokalupsis wrote:Латинская транслитерация древнегреческого вполне официальна. См. страница из учебника Вольфа содержит специальную колонку...

Вот видите. Ваша таблица греческой транслитерации отличается от той, что у Вольфа. Я так понимаю, что в электронных текстах диакритики в транслитерации "убегают". Как быть в этом случае? Из-за этого транслитерация для Эпсилон и Эта, а также для Омикрон и Омега объединяется. Для пары: Сигма и Стигма - это, как я понимаю, не страшно. Перебирать все возможные варианты что ли?
Michael72
 
Posts: 180
Joined: Tue Mar 12, 2013 1:34 pm

Re: Необходимый функционал для ГД

Postby apokalupsis » Mon Sep 05, 2016 4:48 pm

транслитерация для Эпсилон и Эта, а также для Омикрон и Омега объединяется.

ну и пусть объединяются, в этом нет ничего страшного.
почему εὔδοξος, а не εὔδωξως?

потому что слова εὔδωξως не существует.
Хочу порекомендовать вам попытаться создать новую таблицу транслитерации греческого текста

Конечно составлю. Нужно именно так
Code: Select all
α,Α | a
сначала маленькая греческая, потом большая, а латинская только маленькая?
apokalupsis
 
Posts: 17
Joined: Thu May 10, 2012 4:59 am

Re: Необходимый функционал для ГД

Postby apokalupsis » Mon Sep 05, 2016 5:16 pm

Вот, сделал кое что
Code: Select all
Название   |   Вид   |   Транслитерация (латиница)
Альфа   |   α,Α   |   a
Бета   |   β,Β   |   b
Гамма   |   γ,Γ   |   g
Дельта   |   δ, Δ   |   d
Эпсилон   |   ε, Ε   |   e
Дзета    |   ζ, Ζ   |   z
Эта   |   η, Η   |   e
Тета    |   θ, Θ   |   th
Йота   |   ι, Ι   |   i
Каппа   |   κ, Κ   |   k
Лямбда    |   λ, Λ   |   l
Мю   |   μ, Μ   |   m
Ню   |   ν, Ν   |   n
Кси   |   ξ, Ξ   |   x
Омикрон   |   ο, Ο   |   o
Пи   |   π, Π   |   p
Ро   |   ρ, Ρ   |   r, rh
Сигма   |   σ, ς, Σ   |   s
Тау   |   τ, Τ   |   t
Ипсилон   |   υ, Υ   |   y, u
Фи   |   φ, Φ   |   ph
Хи   |   χ, Χ   |   ch
Пси      |   ψ,Ψ   |   ps
Омега    |   ω,Ω   |   o

Ещё один нюанс. В начале слова густое придыхание обозначают латинской h. Т.е. для эты с густым придыханием будет соответствие he.
Как итог, в начале слова будут ещё такие соответствия:
Code: Select all
ha   |   α
hi   |   ι
he   |   η, ε
ho   |   ο, ω
hy   |   υ

(только здесь сначала латинские символы я поставил)
Last edited by apokalupsis on Tue Sep 06, 2016 2:24 pm, edited 1 time in total.
apokalupsis
 
Posts: 17
Joined: Thu May 10, 2012 4:59 am

Next

Return to Разработка

Who is online

Users browsing this forum: No registered users and 9 guests

cron