Mac 原生词典扩展词库

1. 前置知识

  1. MDict是一款用于PC及移动设备的电子辞典软件,可以用于查看mdx格式的词典文件。第三方词库,也是最有名的,就是 mdx 格式的词典文件,多用于 MDict 词典软件上,后来像欧路词典也支持了 mdx 格式的词典。这种格式的词典文件最大的优势在于有大量的用户制作了各种不同语言的精美词典,并且在各活跃的社区中互相沟通交流,例如 PDAWIKI虽然 macOS 平台的原生词典是不支持 mdx 格式的词典文件的,但是通过一些途径我们可以把 mdx 格式的词典文件转换成 dictionary 格式的词典文件,就可以用在原生词典应用上了。
  2. MDD/MDX文件区别

2. 安装步骤:

  1. pip3 install lxml beautifulsoup4 html5lib****
  2. 安装 Command Line Tools for Xcode,在此界面搜索Command Line Tools for Xcode 13.4
  3. 安装 Additional Tools for Xcode,在此界面搜索Additional Tools for Xcode,将.dmg中Utilities中的Dictionary Development Kit拖拽提取到 /Applications/Utilities/Dictionary Development Kit
  4. 下载柯林斯mdd、mdx、css文件,转化mdx过程中会关联mdd文件
  5. python3 ~/pyglossary/main.py --write-format=AppleDict ~/Downloads/collins_3th.mdx ~/Downloads/collins_3th
  6. 切换到collins_3th文件夹,makemake install

2.1 ERROR Solution

make《柯林斯高阶英汉双解第三版》,需要修改/Applications/Utilities/Dictionary Development Kit/build_dict.sh此行:xmllint -huge --stream -noout "$SRC_FILE" || error "Error.” ,用来解决parser error : Excessive depth in document: 256 use XML_PARSE_HUGE optionerror(通过查看xmllint.c source code

2.2 Coding References

3 mdx下载资源

安装成功的词库:

*** 新妆 Collins COBUILD 柯林斯英汉 - MDict 词库资源区 - MDict Dictionaries - 掌上百科 - PDAWIKI - Powered by Discuz!

4 其他参考资料

把查词做到极致的 macOS 原生词典,其实很好用 - 少数派

可以给Mac的Dictionary添加其他原装词典吗?怎么添加?

2021 Macbook Pro 自带词典添加词库

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Mac原生代码给WKWebView传递参数可以通过JavaScript与原生代码进行交互来实现。以下是一个简单的步骤: 1. 首先,在你的Mac原生代码中,你需要将WKWebView加载一个HTML页面,并定义一个JavaScript脚本的函数来接收参数。你可以使用WKWebView的`loadHTMLString(_:baseURL:)`函数来加载HTML内容。 2. 创建一个WKWebView的配置对象,并设置它的`userContentController`属性以添加一个用于向JavaScript发送消息的脚本消息处理程序。你可以使用`add(_:name:)`方法来添加消息处理程序。例如: ```swift let webView = WKWebView(frame: .zero, configuration: config) let scriptHandler = MyScriptHandler() // 自定义的脚本消息处理程序 webView.configuration.userContentController.add(scriptHandler, name: "myScriptHandler") ``` 3. 在你的自定义脚本消息处理程序中,实现`userContentController(_:didReceive:)`方法来接收来自JavaScript的消息。在这个方法中,你可以对接收到的消息进行处理,并将处理结果返还给JavaScript,可以通过调用WKWebView的`evaluateJavaScript(_:completionHandler:)`方法来将结果发送给JavaScript。例如: ```swift func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { if message.name == "myScriptHandler" { // 处理接收到的消息 let receivedData = message.body as! [String: Any] let parameter = receivedData["parameter"] as! String // 向JavaScript发送处理结果 webView.evaluateJavaScript("handleResponse('\(parameter)');", completionHandler: nil) } } ``` 4. 在你的HTML页面中,调用JavaScript函数并传递参数给原生代码。你可以通过调用`window.webkit.messageHandlers.myScriptHandler.postMessage(_:)`方法来发送消息给原生代码,参数可以是一个JSON对象。 ```javascript function sendParameterToNative() { var parameter = { "parameter": "这是一个参数" }; window.webkit.messageHandlers.myScriptHandler.postMessage(parameter); } ``` 通过这样的步骤,你可以在Mac原生代码中使用WebKit框架的WKWebView来接收并处理来自JavaScript的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值