Dict Mac

Dict Mac 是为 Dict.cn 在 Mac OS X 上编写的本地客户端。建议在 OS X 10.6.2 或以上版本运行(最低支持 10.5)。Dict.cn 的 Web 界面设计得非常不错,平时使用基本能满足我的需求。不过出于以下几个原因我认为拥有一个独立的客户端更好:

  1. Dict.cn 的页面没有达到最简的风格。这不是说 Dict.cn 的界面设计得不好。只是,如果对比一下 Dict Mac 和 Dict.cn,就能感觉到客户端可以做得比 Web 界面更简洁。
  2. 频繁使用 Dict.cn 会污染浏览器的历史记录。
  3. 有时候需要词典时并没有打开浏览器。
  4. Dict.cn 的 API 传递的信息更精简。因为省去了表示页面格式的信息。
  5. 不久以后我会给 Dict Mac 加上本地缓存,这样在失去网络的时候也能使用大部分词典。
  6. 学习了这么久 Cocoa,也应该有个实际动手的项目了。
下载 Dict Mac
(最新版本 0.05)

6 月 15 日

0.05 版(一个小改进版本,下个版本开始实现本地缓存,纠错功能,已查找单词的即时提示):

  1. 修正无法自动 scroll to top 的 bug。
  2. 修正在查询框为空的情况下按回车会无限期查找的 bug。
  3. 允许的窗口缩小的更小(400 x 500 降低到 260 x 340)。

6 月 2 日

0.04 版:

  1. 修正一个内存泄漏 bug。
  2. 修正一个 double-free bug(感谢曲放提供 crash log)。
  3. 修正 Auto-update 提醒对话框在 Leopard 下的控件定位错误。
  4. 完成查词历史功能(不是本地缓存)。
  5. License 设定为 GPL v2。下载包中包含源代码。

5 月 29 日

0.03 版:

  1. 单词发音功能。(实现的较为简单,只能查找完成后即时发音一次)
  2. 内容排版的调整:边留空增加,行间距增加。

5 月 25 日

0.02 版:最低系统要求降低为 OS X 10.5 。建议 10.5.7 以上。

5 月 22 日

0.01 版:Dict Mac 目前最大的缺憾是还不支持发声,不过我很快会解决这个问题。

7 条评论 发表在“Dict Mac”上

  1. Mike 说:

    很好的工作,有可能开源吗?

  2. bugthat 说:

    我也一直使用dict.cn,只是我没有Mac机~只有望楼主的梅止渴了。

  3. fang 说:

    升级到了可发音的版本,挺好用的,不过今天cmd+tab切换程序的时候遇到了crash

    Interval Since Last Report: 515240 sec
    Crashes Since Last Report: 9
    Per-App Interval Since Last Report: 7385 sec
    Per-App Crashes Since Last Report: 1
    Anonymous UUID: 19395B13-8331-42B4-B72A-06573560978F

    Exception Type: EXC_CRASH (SIGABRT)
    Exception Codes: 0×0000000000000000, 0×0000000000000000
    Crashed Thread: 0 Dispatch queue: com.apple.main-thread

    Application Specific Information:
    abort() called

    Thread 0 Crashed: Dispatch queue: com.apple.main-thread
    0 libSystem.B.dylib 0x00007fff86c83886 __kill + 10
    1 libSystem.B.dylib 0x00007fff86d23eae abort + 83
    2 libSystem.B.dylib 0x00007fff86c3ba75 free + 128
    3 com.DongFeng.Dict-Mac 0x0000000100002b21 request_word + 90
    4 com.DongFeng.Dict-Mac 0x0000000100001ae5 -[DictWindow serchWord:] + 89
    5 com.apple.AppKit 0x00007fff87fd58ea -[NSApplication sendAction:to:from:] + 95
    6 com.apple.AppKit 0x00007fff87fd5849 -[NSControl sendAction:to:] + 94
    7 com.apple.AppKit 0x00007fff880050d6 -[NSTextField textDidEndEditing:] + 778
    8 com.apple.Foundation 0x00007fff8759386e _nsnote_callback + 167
    9 com.apple.CoreFoundation 0x00007fff80b31aea __CFXNotificationPost + 954
    10 com.apple.CoreFoundation 0x00007fff80b1e098 _CFXNotificationPostNotification + 200
    11 com.apple.Foundation 0x00007fff8758a7d8 -[NSNotificationCenter postNotificationName:object:userInfo:] + 101
    12 com.apple.AppKit 0x00007fff88015da1 -[NSTextView(NSPrivate) _giveUpFirstResponder:] + 571
    13 com.apple.AppKit 0x00007fff8805b4d0 -[NSTextView(NSKeyBindingCommands) insertNewline:] + 485
    14 com.apple.AppKit 0x00007fff88015669 -[NSTextView doCommandBySelector:] + 293
    15 com.apple.AppKit 0x00007fff88009e5f -[NSKeyBindingManager(NSKeyBindingManager_MultiClients) interpretEventAsCommand:forClient:] + 1966
    16 com.apple.AppKit 0x00007fff88009370 -[NSTextInputContext handleEvent:] + 737
    17 com.apple.AppKit 0x00007fff88009022 -[NSView interpretKeyEvents:] + 186
    18 com.apple.AppKit 0x00007fff88008dfb -[NSTextView keyDown:] + 819
    19 com.apple.AppKit 0x00007fff87f7ac3b -[NSWindow sendEvent:] + 8769
    20 com.apple.AppKit 0x00007fff87eaf662 -[NSApplication sendEvent:] + 4719
    21 com.apple.AppKit 0x00007fff87e460aa -[NSApplication run] + 474
    22 com.apple.AppKit 0x00007fff87e3ed7c NSApplicationMain + 364
    23 com.DongFeng.Dict-Mac 0x000000010000104c start + 52

  4. xiaochun 说:

    怎么download呢?

留下回复