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 морально запрещена.
    Метки:
    Поделиться публикацией
    Комментарии 48
    • 0
      Удобно.
      А в iPhone такое можно прикрутить?
      • 0
        Нет. Такой функционал есть только в iPad.
        • 0
          i2Reader понимает словари в формате Dict.
          • 0
            iBooks и Pages нет на iPhone. Можно предположить что когда iBooks выйдет на айфоне там эта фича будет.
          • +1
            словарь — это хорошо. вот если без jailbreak'а — было бы вообще замечательно…
            • 0
              без джейлбрейка никак, зачем спрашивать даже?
              • 0
                а где в моем ответе вопросительный знак?
            • +6
              Огромное вам спасибо за статью и за DSLConverter (лучше сказать спасибо, поздно, чем никогда)
            • 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
                                                        Потратил порядка двух часов на поиски этой папки, а всего лишь нужно было прокрутить страницу с комментариями в самый низ.
                                                        Спасибо!

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