Могу вагоны разгружать
0,0
рейтинг
6 мая 2010 в 15:10

iPad + словари от Apple Dictionary =?

По грозной просьбе от компании ABBYY, содержание и название статьи изменены.



Все владельцы iPad, наверное, знают об интересном функционале — контекстный словарь в программах iBooks (прекрасная «читалка» от Apple) и Pages.



Но пользы от него (я уверен, что для многих пользователей iPad) фактически никакой нет, т.к. iPad имеет в своём арсенале ограниченный набор словарей (английский толковый, английский тезаурус и три японских). Управлять и расширять этот функционал нельзя — для сторонних разработчиков это запретная зона.

В статье я расскажу, как прикрутить DSL-словари к iPad (с поддержкой словоформ — морфологии). Чтобы были вот такие вкусные пельмени:







Я не буду здесь выкладывать какие-либо готовые словари, просто расскажу о процессе…

Предыстория…

В системе Mac OS X 10.5 компания Apple открыла спецификацию словарей для Apple Dictionary и дала возможность разработчикам делать свои собственные словари, а пользователям добавлять их в программу.

Два-три года назад я сделал программу DSLConverter, которая переводила словари из формата DSL в формат Apple Dictionary. Эта программа корректно сохраняла форматирование статей и добавляла поддержку словоформ (морфологии) для нескольких европейских языков (в т.ч. русского и английского) прямо внутрь словаря.

Некоторые пользователи сразу сконвертировали множество словарей DSL (предназначенных для ABBYY Lingvo) с помощью этой программы. И теперь на каждом третьем (шучу) русском Mac'е можно встретить эти словари, интегрированные в Apple Dictionary.

К чему я веду… в iPad используется фактически тот же формат словарей, что и в Apple Dictionary. Нужно лишь немного поработать «напильником».

В iPad программы работают со словарями выборочно. В системе нет менеджера словарей, как в Mac OS X. Для iBooks, например, первичный словарь — New Oxford American Dictionary. Вот этим мы и воспользуемся. Прикинемся New Oxford American Dictionary — подставим заместо него любой необходимый словарь от Apple Dictionary.

По шагам:

  1. Берём любой необходимый словарь (англо-русский, немецко-русский и пр.) в формате Apple Dictionary.
  2. Переименовываем его в «New Oxford American Dictionary.dictionary».
  3. Открываем информационный файл Info.plist внутри него.
  4. Заменяем содержимое после первого открывающего тега <dict> до ключа <key>IDXDictionaryIndexes</key> на:

      <key>CFBundleDevelopmentRegion</key>
      <string>English</string>
      <key>CFBundleDisplayName</key>
      <string>New Oxford American Dictionary</string>
      <key>CFBundleIdentifier</key>
      <string>com.apple.dictionary.NOAD</string>
      <key>CFBundleInfoDictionaryVersion</key>
      <string>6.0</string>
      <key>CFBundleName</key>
      <string>Dictionary</string>
      <key>CFBundleShortVersionString</key>
      <string>2.1</string>
      <key>DCSBuildToolVersion</key>
      <integer>2</integer>
      <key>DCSDictionaryCSS</key>
      <string>DefaultStyle.css</string>
      <key>DCSDictionaryCopyright</key>
      <string>New Oxford American Dictionary 2nd edition © 2005 by Oxford University Press, Inc.</string>
      <key>DCSDictionaryFrontMatterReferenceID</key>
      <string>fbm_index</string>
      <key>DCSDictionaryManufacturerName</key>
      <string>Oxford</string>


    * This source code was highlighted with Source Code Highlighter.


  5. Всё, наш словарь готов.
  6. Копируем готовый словарь в папку на iPad /Library/Dictionaries и наслаждаемся. Как я написал ранее, доступ к этой папке можно получить только после jailbreak.

Приятного чтения на иностранном языке!

Обновление:
Внутри пекеджей iBooks и Pages лежит файл DefaultDictionaries.plist. Например, .../Pages.app/XX.lproj/DefaultDictionaries.plist. Там для каждой программы можно прописать, какие словари используются в программе, приоритеты и словарь по умолчанию. Т.е., как ещё один вариант, можно поместить необходимые словари (без модификаций) в /Library/Dictionaries и прописать их в DefaultDictionaries.plist.

P.S. Перепечатка хинта в любом виде на сайте и форуме iPhones.ru морально запрещена.
Юрий Юрьев @Kyrie1965
карма
126,2
рейтинг 0,0
Могу вагоны разгружать
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (48)

  • 0
    Удобно.
    А в iPhone такое можно прикрутить?
    • 0
      Нет. Такой функционал есть только в iPad.
    • 0
      i2Reader понимает словари в формате Dict.
    • 0
      iBooks и Pages нет на iPhone. Можно предположить что когда iBooks выйдет на айфоне там эта фича будет.
  • +1
    словарь — это хорошо. вот если без jailbreak'а — было бы вообще замечательно…
    • 0
      без джейлбрейка никак, зачем спрашивать даже?
      • 0
        а где в моем ответе вопросительный знак?
  • +6
    Огромное вам спасибо за статью и за DSLConverter (лучше сказать спасибо, поздно, чем никогда)
    • +1
      Не за что ;).
  • 0
    Эх, может мы когда-нить дождемся полноценную dictionary.app и на айфоне, было бы замечательно.
    ЗЫ Вот еще бы к Safari прикрутили бы, как control+command+D, эх мечты
    • +1
      Я больше, чем уверен, в следующих прошивках iPad мы увидим Safari с контекстным словарём (аналогично iBooks).
      • +1
        ваши слова да Джобсу в уши :)
  • НЛО прилетело и опубликовало эту надпись здесь
  • –5
    На сколько я понимаю сразу нарушается 2 лицензии: на словари Лингво и при JailBrake.
    Дважды пиратский путь а так конечно вариант, елси ребята с ABBYY не очень шустрые то народ подсуетится без их участия.
    • –2
      Да всё это, естественно, нелегально.

      Я уверен, что у ребят из ABBYY «всё схвачено». Не просто так они оставляют дыры в dslcomp.exe. Если хотели бы, давно уже прикрыли.
  • +4
    Что вы наделали! Теперь придется покупать айпад…
  • +1
    Вот бы кто-нибудь сделал подобное для андроида… я просил разработчика FBReader, но у него времени мало. Может, тут найдутся те, кто смог это воплотить?..
  • 0
    А на айфоне есть читалки с поддержкой словарей? А то привык к AlReader на WinMobile.
    • 0
      i2Reader
      • 0
        Спасибо, попробую бесплатную версию. А то, судя по отзывам на хабре, программа очень нестабильна.
    • 0
      ShortBook поддерживает словари
  • 0
    Закладка… До тех пор, пока не придет мой пад, еще три недели ждать.
    Если я все правильно понял — книги на англицком можно будет читать еще проще, тут же пользуясь контекстным переводчиком.
    • +1
      Всё правильно поняли. Очень удобно, когда читаешь что-то на иностранном языке.

      Да и можно второй словарь (тезаурус) заменить, например, на русский толковый — тоже может быть полезно при чтении определённых материалов.
  • 0
    Еще бы прикрутить словарь для расстановки переносов в русских текстах, было бы вообще круто!
  • 0
    вот где бы такую читалку для Windows найти, как в айпаде?
  • 0
    на форуме айфонса пост про прикручивание словаря висит со вчера 14:39… а у вас «Перепечатка хинта в любом виде на сайте и форуме iPhones.ru морально запрещена.»

    К.О. говорит, что что-то не так!
    • 0
      Мой посыл лишь выражает отрицательное отношение к названному ресурсы (администрации). Просто заранее предупредил, чтобы не использовали мой пост в своих интересах.

      А если кто-то раньше написал о подобном функционала, то я могу только порадоваться.

  • 0
    А где можно достать последнюю версию упомянутого DSLConverter'а?
    • 0
      Ищите на просторах Интернет — последняя версия вроде бы 0.23 :). Я уже давно не занимаюсь этой программой — исходники где-то в резерве пылятся.
    • 0
      Если уж прям вообще не найти нигде, то напишите в приват — достану из резерва и соберу заново.
      • 0
        Понимаю, что тема давно забыта, но мне тут понадобилось сконвертировать несколько dsl словарей, гугл привел к вашему DSLConverter-у, только вот все ссылки для скачивания ведут на рапидшару, откуда он, видимо, уже давно удален. Других источников я не нашел. Есть ли у вас возможность выложить его где-нибудь еще раз?
  • 0
    А в виде отдельного приложения (Как на десктопной Mac OS) можно как то лингвовские словари поставить? Есть ли какие-то оболочки?
  • 0
    А на iPhone получилось у кого-нибудь прикрутить?
    • 0
      Я не пробовал. Попробуйте оба способа и расскажите :).
      • 0
        Попытался сделать разными путями, но так и не получилось. При нажатии на Dictionary, iBooks тупо вылетает :(
      • 0
        Ура, заработало! :)
        • 0
          Каким методом получилось?
  • 0
    Я читаю книги и на русском, и на английском. Когда я читаю на английском, хотелось бы использовать стандартный словарь, а на русском – толковый. Толковый словарь русского на маке имеется и работает, а вот к айпаду его прикрутить не могу, как не пытался. Сейчас докрутил до того, что iBooks просто вылетает.

    Был бы очень признателен за совет.
    • 0
      Тогда вам следует попробовать вот вот такой способ
      • 0
        К сожалению, не работает, айбукс опять вылетает.

        Я думаю, проблема в том, что во всех этих инструкциях люди меняет дефолтные английские словари, а мне эти словари как раз нужны.
        • 0
          Ах ты ж, это я идиот, забывал ставить на айбукс chmod 755 и еще думал, почему он вылетает.
      • 0
        Все, получилось, хоть и не совсем по инструкции
        . Спасибо.
        • 0
          Не за что, рад за вас.
          Но вот интересно что вы читаете такого на русском языке, что аж толковый словарь требуется :))
          • 0
            Разное читаю. В основном, конечно, можно и без словаря обойтись, но вот попадется, бывает, какое-нибудь слово эдакое, особенно в классике.
  • 0
    А можно как-то добавить англо-русский словарь, но чтобы оригинальный New Oxford American Dictionary тоже остался и при этом можно было использовать два словаря одновременно?
  • 0
    Возможно кто-то подскажет где папка Dictionries, потому как на прошивке 6.1 найти ее в обычном месте /Library/Dictionaries не удалось
    • 0
      У меня тут: //User/Library/Assets/com_apple_MobileAsset_DictionaryServices_dictionary/7dc564a5a6fd7619f941d3d1145ce89d37700e78.asset/AssetData/New Oxford American Dictionary.dictionary/Contents
      • 0
        Потратил порядка двух часов на поиски этой папки, а всего лишь нужно было прокрутить страницу с комментариями в самый низ.
        Спасибо!

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