ある日、Macの辞書アプリ(辞書.app)で英単語の意味を調べたら「何も見つかりませんでした。」とすげなく返されてしまいました。「え、サ終した?」と思ったら、どうも不具合らしいです。というわけで直しました。
直し方
ざっくり直し方の概要をまとめると、英和・和英辞書のファイルをダウンロードして自分で追加する、という感じです。
1. 辞書のダウンロードリンクを取得する
最初に辞書ファイルをダウンロードするためのリンクを探します。辞書のリンクは以下のディレクトリにあるファイル com_apple_MobileAsset_DictionaryServices_dictionaryOSX.xml
にリストされています。名前長い。
/System/Library/AssetsV2/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/
このリストの中から目的の辞書を見つけます。今回は「ウィズダム英和辞典」を探します。
適当なテキストエディタでファイルを開いて「ウィズダム」を検索すると dict タグで囲まれた以下のような記述が出てきます。
<dict>
<key>Build</key>
<!-- (省略) -->
<key>DictionaryPackageDisplayName</key>
<string>ウィズダム英和辞典 / ウィズダム和英辞典</string>
<key>DictionaryPackageName</key>
<string>Sanseido The WISDOM English-Japanese Japanese-English Dictionary.dictionary</string>
<!-- (省略) -->
<key>_ContentVersion</key>
<integer>19</integer>
<!-- (省略) -->
<key>__BaseURL</key>
<string>https://updates.cdn-apple.com/2023/mobileassets/032-21951/0D7EE843-9451-4943-998A-D2C38CAE75EA/</string>
<key>__CanUseLocalCacheServer</key>
<true/>
<key>__InstallWithOS</key>
<true/>
<key>__RelativePath</key>
<string>com_apple_MobileAsset_DictionaryServices_dictionaryOSX/a89153eed75259385e5d027c337fd8420e4eadc3.zip</string>
</dict>
同じような内容のものが複数出てくると思います。これは同じ名前の辞書がバージョン違いで複数リストされているため。よくわかりませんが、とりあえず _ContentVersion
が新しいもの(数字が一番大きいもの)を選んでおけばよさそう。ファイルのうしろにあるものほどバージョンが高いみたいです。
__BaseURL
と __RelativePath
の値をくっつけた URL から zip ファイルをダウンロードします。上記の場合は以下のようになります。
https://updates.cdn-apple.com/2023/mobileassets/032-30369/105701CA-16E4-4CF6-B62F-AD0C8A24FB89/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/97fabe6bfa307569eae94deba2b2b988655c8217.zip
もしリンクが切れてた場合は別のバージョンを探してチャレンジしてみましょう。
2. 辞書ファイルの下ごしらえ
ダウンロードした zip ファイルを解凍します。解凍して出てきたディレクトリの中身は以下のようになっているはず。
a89153eed75259385e5d027c337fd8420e4eadc3 (ダウンロードしたzipファイルと同じ名前)
├ AssetData
│ └ Sanseido The WISDOM English-Japanese Japanese-English Dictionary.dictionary
├ Info.plist
└ META-INF
この中の Sanseido The WISDOM English-Japanese Japanese-English Dictionary.dictionary
というディレクトリを適当な名前にリネームします。名前は元のディレクトリ名と違っていればなんでもいいみたいです。今回はいつ作業したのかわかるように名前の最後(拡張子の直前)に日付を追加してみました。
Sanseido The WISDOM English-Japanese Japanese-English Dictionary2023-02-12.dictionary
3. 辞書ファイルを移動
リネームしたディレクトリを以下のディレクトリに移動します。<user>
は自分のアカウント名です。
/Users/<user>/Library/Dictionaries
ユーザの「ライブラリ(Library)」ディレクトリは不可視ファイルになっていて通常見えません。これはショートカット command + shift + .(ピリオド)
で見えるようにできます。もう一度同じショートカットを押すと非表示に戻せます。
Finderのメニューバーで 移動
> フォルダへ移動...
を選択し、表示されたダイアログに /Users/<user>/Library/Dictionaries
を直接入力しても行けます。
4. 辞書.appを設定
コピーしたら辞書アプリを開き、メニューバーから 辞書
> 設定...
を開きます。表示された辞書ソースのリストの一番最後に「ウィズダム英和辞典 / ウィズダム和英辞典 (日本語-英語)」が追加されていると思います。これが今回新しく自分で追加した辞書です。
また、それとは別にまったく同じ名前の辞書があると思います。これは「何も見つけることができ」なかったほうの古い辞書です。
新しいほうにチェックを入れ、古いほうはチェックをはずします。あとはダイアログを閉じて設定は完了です。
同じ名前でややこしい! 辞書の表示名を変えたい! という場合は Xcode の Property List Editor で info.plist を開いて名前を編集すれば表示名を変えられそう。(やってないのでわからない。)
辞書が表示されるようになりました! この辞書アプリ、地味に使うので直ってよかった。
この不具合はMacOSのアップデートで直ったり直らなかったりするみたいです。あと、OSをクリーンインストールすると直るとか。(それは直ったと言えるのだろうか。)
将来的に不具合が修正されたら自分で追加した辞書を削除し、元の辞書に切替直しましょう。
追記 2023-12-14:いつのまにか直っていたので元に戻しました。