Как создать словарь для Mac OS X?

Словарь, кажется, на несколько версий опережает документацию Apple (2007). Я нашел хороший пост в блоге об этом, но теперь все кажется другим. Я установил Xcode (включая инструменты командной строки), но ничего не там, где он должен быть (например, / Developer не создается и нет Dictionary \ Development \ Kit). Я хотел бы сделать довольно сложный словарь, поэтому я хотел бы сделать эту работу вместо того, чтобы несколько раз преобразовывать типы файлов.

Ответы (4)

Xcode больше не поставляется с Dictionary Development Kit, но вам даже не нужен Xcode для его использования.

  • Зарегистрируйте бесплатную учетную запись разработчика и загрузите пакет вспомогательных инструментов с сайта developer.apple.com/downloads * Теперь он называется: Дополнительный инструмент для Xcode (ищите последнюю версию)
  • Переместите папку Dictionary Development Kit в /Applications/Utilities/DictionaryDevelopmentKit/(без пробелов) и скопируйте папку project_templates в~/Desktop/
  • Откройте ~/Desktop/project_templates/Makefileи измените DICT_BUILD_TOOL_DIR с /DevTools/Utilities/Dictionary Development Kitна/Applications/Utilities/DictionaryDevelopmentKit
  • cd ~/Desktop/project_templates/; make && make install

Словарь должен появиться в Dictionary.app после того, как вы закроете его и снова откроете. После этого попробуйте отредактировать MyDictionary.xml или MyDictionary.css. Имя словаря совпадает с CFBundleName в Info.plist, а имя пакета — DICT_NAME в Makefile.

Если всплывающие окна поиска показывают результаты из более старой версии словаря, попробуйте выйти из системы и снова войти в нее. Завершение или удаление com.apple.lookupd ~/Library/Caches/com.apple.Dictionary*не сработало.

Кто-то загрузил Dictionary Development Kit на Github, если вы хотите избежать регистрации учетной записи разработчика.

Вот пошаговая процедура преобразования словарей в открытых форматах в исходный код AppleDict и компиляции для OSX Dictionary.app: https://apple.stackexchange.com/a/119166/66812

Все, что раньше было в /Developer, теперь находится в Xcode.app/Contents/Developer с Xcode, как правило, в /Applications, но на самом деле вы можете разместить его где угодно.

Помимо этого, вы должны иметь возможность извлекать файл словаря по вашему выбору либо в системном словаре, например в статье блога, на которую вы ссылаетесь, либо только в Xcode для использования для расширения своего словаря.

Я пытаюсь создать словарь, а не использовать чужие. Я просмотрел каждую папку в папке /Applications/Xcode.app/Contents, и там нет Dictionary\ Developer\ Kit. Я знаю, что мне нужен build_dict.sh .
Упс - мы сайт для пользователей программ, а не столько для разработчиков. Вы знакомы с stackoverflow.com ? Убедитесь, что вы прочитали stackoverflow.com/questions/how-to-ask о том, как проводить исследования и показывать проблемы на уровне кода, поскольку они имеют тенденцию быстро закрывать чрезмерно расплывчатые вопросы «научите меня, как X». Дайте мне знать, если вы хотите, чтобы это было перенесено туда после прочтения информации.
Мои извинения, я никогда не использовал это раньше. Пожалуйста, закройте это! Я опубликую это, как только я прочитаю больше! Извини.
Извинения вообще не нужны. Мы здесь, чтобы помочь — пожалуйста, возвращайтесь с дополнительными вопросами, которые соответствуют нашей небольшой части сети обмена стеками. Мы тоже любим ответы, если вы хотите помочь таким образом. Если вы не можете самостоятельно удалить его, просто отметьте, что вам нужна помощь модератора (или вы можете отредактировать его и пометить для переноса в Stack Overflow, и мы справимся с этим) — если он какое-то время находится здесь закрытым, он ничего не болит.
@RobertMarshallMurphy Мы собираемся сохранить это - я думаю, что один из наших пользователей даст хороший ответ, а также пояснил, что это скорее вопрос «какой формат использует Apple», чем вопрос «программирования».

Я написал небольшое java-приложение toDictionaryXML для добавления записей в пользовательский словарь. Он не очень хорошо закодирован, функционал довольно скудный и его непросто установить. Но все же это экономит мне много времени.