>>  Главная

>>  О программе
>>  Планы развития
>>  Помощь
>>  Статьи
>>  Форум
>>  Скачать программу
>>  Скачать словари
>>  Ссылки

 Lingvo 11 версии , нововведения, документация и ошибки.
Последнее обновление :  09/01/2006

     Являясь пользователем словарей компании Abbyy начиная с 5 версии и ежегодно обновляя их на Комтеке, к новому году подарил себе "Abbyy Lingvo 11 шесть языков" хочу поделиться впечатлениями о программе.
Версию 10 я пропустил поэтому все сравнения будут в основном с Lingvo 9 ER. Именно с 9 я работал больше всего и именно для неё я начал писать свой DSL Editor.
   Впечатления мои касаются не простого использования словаря, а больше компилирования словарей и языка DSL.
    

Заголовок словаря.

 Директива - #INCLUDE - в DSL позволяет объединить 2 словаря при компиляции в единый файл *.lsd с именем главного словаря (содержащего директиву #INCLUDE).

В документации есть 3 примера. Два из них работают:

#INCLUDE "C:\\Dictionaries\\UniverseE.dsl"
#INCLUDE "UniverseE.dsl"

Третий выдаёт ошибку:

#INCLUDE. "\\includes\\UniverseE.dsl" 
{{Ошибка: Неизвестная директива препроцессора: "INCLUDE.".

В тексте справки находим такую строчку: В этом случае нужно либо указать имя файла без пути, либо поставить в начале пути точку ".". - пример и описание различаются, пробуем:

файл:
c:\0\INCLUDE_3.dsl
объединить с :
c:\includes\0\INCLUDE_30.dsl

#INCLUDE  "\\includes\\INCLUDE_30.dsl" = {{Ошибка: c:\includes\INCLUDE_30.dsl
#INCLUDE ".\\includes\\INCLUDE_30.dsl" = {{Ошибка: C:\0\INCLUDE_30.ds
#INCLUDE ".\\.includes\\INCLUDE_30.dsl"{{Ошибка: C:\0\INCLUDE_30.ds
#INCLUDE "\\.includes\\INCLUDE_30.dsl"{{Ошибка: В c:\.includes\INCLUDE_30.dsl 

    Ничего не получилось. Если ктото разгадает смысл приведённого в описании примера просьба написать мне, а пока считаю все варианты кроме первых двух ошибочными.
   Да и ещё с помощью директивы можно объединять несколько словарей, я пробовал до 4-х. Директива
#INCLUDE может располагаться в любом месте словаря, хоть последней строкой.

    Для объединения фалов помет (*_abrv.dsl) в головной файл так-же необходимо включить директиву #INCLUDE.

Комментарий в заголовке карточки

   В справке явно прописано : Единственным ограничением является то, что комментарии не могут разрывать заголовка карточки или подкарточки (но могут начинаться на той же строке после заголовка). 

Комментарий\ {{!2 Этого не должно быть видно}}в\ центре

Но вот такой пример пропускается компилятором как 9ER так и 11SL, и отображается так:

Комментарий в центре

Появились различия в отображении карточек по сравнения с 9 версией.

Не сортируемая часть заголовка

Так пример и файла справки гласит:
"В заголовке может быть определена не сортируемая часть. Ее основное предназначение - указание на характерные модели сочетаемости заглавного слова (характерные распространители (дополнения) и т.п.)."

{to }have
    иметь

«На экран не сортируемая часть выдается лишь в заголовке карточки.»  - ещё в 9 так и было, так же это было реализовано в DSL Editor: 

DSL Editor

А что-же мы видим в 11 версии ?

Карточка to have

Итак имеем полное расхождение со справкой!  В заголовке "to" потерялось, зато вылезла в самой карточке. Правда на сортировку и на отображение в списке заглавных слов это не повлияло.

Встаёт вопрос как же отображать подобные карточки в DSL Editor?

1) Отображать как в 11 версии, логика подсказывает, что фича исправлена не будет и будет кочевать из версии в версию;

2) Оставить оба варианта отображения и  менять их в зависимости от выбора "Предпочтительной версии" для которой готовиться или конвертируется конкретный словарь;

3) Оставить как есть (к тому же есть небольшой шанс что фичу поправят);

Пока я склоняюсь ко 2-му варианту .

Вероятнее всего это связано с введением в зону несортируемой части 2-х тегов ( по крайней мере по документации двух).


Изменения в правилах форматирования для  заголовков карточек.

    Итак введён новый тег - ударение. В любительских словарях ударения проставляються давно и без всяких проблем тегом [c] [/c], но в  ABBYY пошли дальше и ударения теперь можно проставлять в заголовке карточки! Это действительно здорово, ведь раньше приходилось дублировать имя карточки только для того чтобы отобразить ударение.

удар{[']}е{[/']}ние
ударение
Итак в справке указаны только 2 тега которые можно применять в заголовке карточки, это новый тег  ['] и старый [sub].

CO{[sub]}2{[/sub]}-Laser
CO
А чем хуже тег  [sup] ? -  проверим...
x
 Получилось!  Это наводит на мысль, что можно попробовать остальные теги.

Теги  DSL в заголовке карточки.

  Пробуем все остальные теги. Компилятор пропустил все 15 тегов, и только [!trs] вызвал ошибку .
    Теги [i] , [u] , [b] , [com] , [trn] , [ex] , [lang id=1] - ни как не повлияли на отображение заголовка. А остальными интереснее :
[*]
[*]
[c]
[C]
[s]
[S]
[url]
[url]

[p]
[p]

[ref]  и << как и им и положено открывали указанную в ссылке карточку, только отображение заголовка подпортили.
    [ref]
[t]  - в заголовке и списке отобразились обычным шрифтом, а в заголовке как положено:
[t]

   М-да отсутствие проверки удручает, зато сколько возможностей оформления появилось :-). Всё это касается только визуальной стороны проблемы, влияние на сортировку, поиск и индексацию ещё предстоит изучить.

Запрещённые в заголовке символы.

       Ещё по крайней мере с 9 версии  в документации говориться о том что: «Не разрешается использование в заголовках символов #,@ (кроме заголовков под карточек)», и далее - "В первом заголовке нельзя использовать также и ~, ^ " - но компилятор 9ER спокойно пропускает заголовки карточек с этими знаками. 

И всё же желательно писать их как : \#   \@  \~  \^ , хуже не будет. 

Компилятор 11SL ведёт себя иначе:

- символ #  в любом месте заголовка вызывает ошибку , карточка пропускается;
-
символ @  в любом месте заголовка вызывает ошибку , карточка пропускается;
-
символ ~  в любом месте первого(или единственного) заголовка вызывает ошибку , но карточка пропускается.  Если символ стоит во втором заголовке карточки то всё проходит гладко без ошибок, вот пример:

Не\ ошибка\ 3
~3 
     [m1]Карточка[/m]

1 заголовок карточки - "Не ошибка 3"
2 заголовок карточки - "Не ошибка 33" 

- и на конец символ  ^  в любом месте первого заголовка  пропускается компилятором.

Тело карточки.

Недокументированный тег [t]

    Позволяет включить в тело карточки теги фонетической транскрипции. Причины почему тег не документирован в файле справки, видимо в сложности его использования без специального ПО. Судите сами, вот пример карточки с транскрипцией :

magazine
     \[[t],Ґ‡±†'ЄЂ­[/t]\]

Дело в том что символы фонетической транскрипции отсутствуют о обычных шрифтах и требуют для правильного отображения специального шрифта т.е. текст внутри тега [t] требует установки специально шрифта, что в обычном текстовом редакторе (например в Блокноте) невозможно. К тому-же символы невозможно  напрямую набрать на клавиатуре а необходимо воспользоваться утилитой "Таблица символов".  Все эти сложности приводят к тому, что только единицы любительских словарей содержат фонетическую транскрипцию.

Подробнее об использовании тега [t] можно прочитать здесь.

 Цвета


   В разделе "Форматирование текста" приведён список 140 цветов, которые могут использоваться в карточках на , среди приведённых 2 цвета почемуто не работают, это :
[c cornflowerblue] cornflowerblue [/c]
[c lightgrey] 
lightgrey [/c]

Оба не пропускает компилятор - {{Ошибка: Неизвестное имя цвета, и оба до сих пор присутствуют в файле справки.

Цвет  black изчез из файла справки и справедливо - ведь он ведёт себя неадекватно:
Код [c black] black [/c]  и код  [c] black [/c] выдаёт зелёный цвет! похожий на цвет используемый для помет. Для того чтобы получить чёрный цвет теги не нужны.    
Но компилятор пропускает цвет black.

    Половина цветов реально не пригодна для оформления карточек, т.к. настолько бледны что с трудом видны на белом фоне.  

    И ещё касательно тегов для помет : в документации из версии к версии кочует пример использования помет:
Например, гл. - помета, выделена курсивом и цветом:
[c][i][p]гл.[/p][/i][/c]
этот пример излишен, может когда то он был актуален, уже давно можно (нужно)  записать его так:
[p]гл.[/p]

Пустое тело карточки

В версии 9 ER  компилятор выдавал ошибку на такой код :

Карточка1

     Тело карточки1
Карточка2
     Тело карточки2

При этом "Карточка1" вообще игнорировалась, и это правильно! Ошибка тут же исправлялась в коде и всё! Теперь же такой код проходит без проблем, "Карточка1" отображается правильно, вроде всё ОК, но возьмём пример с отсутствующим телом карточки вообще:

Карточка1

Карточка2
     Тело карточки2

Теперь "Карточка1" отображается с "Тело карточки2" а это уже плохо, такую ошибку не скоро отловиш, и только при пользовании словарём. По этому в "DSL Editor"  для отлова этой ошибки заведён специальный код [32] .


   Видно что свою справку особо не перечитывали, а добавили новое и  всё. Например тег ударений был включён в справку отдельным пунктом, а не добавлен в список тегов. Конечно так её было легче найти тем кто открыл справку для поиска отличий от предыдущей версии :-), но выглядит как-то не структурно... как сбоку бантик.

    Конечно программу пишут одни люди, справку другие, словари готовят третьи, но вроде одна компания, один продукт ...


А теперь о хорошем, что понравилось.

1) Конечно новые словари, и пополнение старых. Так держать.
2) Ударения  (правда их ещё расставлять и расставлять).
3) Версии для наладонников! Теперь Lingvo всегда со мной на моём Palm.
4) Формы слова !  Жаль только не описано как это сделать в своих словарях  (для новых слов), и возможно ли это вообще.
5) Перевод предложения (эдакий подстрочник)!
п. 4 и 5 - Вот Это пример грамотного использования огромных словарных баз накопленных компанией. Развитие программы в данном направлении радует. Но об этом  нужно отдельную статью писать.
LingvistRU  (04/01/2006)
В раздел статьи ...
 

Copyright © 2005, DSLEditor. Связаться с автором LingvistRU[собака]yandex[точка]ru


   

Хостинг от uCoz