サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

Mac の日本語 IME のユーザ辞書内容を Google 日本語入力の辞書へ移行するスクリプト

はじめに

 Mac(Catalina)の日本語 IME があんまりにもひどいので1Google 日本語入力を試してみることにしました。

 しかしインストールしてもユーザ辞書を自動的にインポートしてくれたりはしませんでした。ChromeSafari のブックマークをインポートするかどうか選べるのに。

 2つの辞書の移行方法について調べると、別途 U-Dict というアプリのインストールが必要な手順が出てきました。

 なんで .plist(つまりただの XML)からプレーンテキストに変換するのにワザワザ別のアプリを使わにゃならんのだ。

PHPコマンドラインツールを作る

 つまり XML からデータを抽出するだけなので、かんたんなスクリプトでできるでしょう。

 使い方のイメージはこんな感じです。ターミナルです。

> cat ユーザ辞書.plist | php tool.php > 変換後.txt

PHPソースコード

#!/usr/bin/php
<?php

$res = fopen('php://stdin', 'r');
$src = stream_get_contents($res);
$xml = simplexml_load_string($src);

$words = $xml->array->dict;
foreach ($words as $word) {
    $tango = $word->string[0];
    $yomi  = $word->string[1];
    echo $yomi . "\t" . $tango . "\t名詞\t\n";
}

おわりに

 想像通りかんたんなスクリプトで書けました。

 しかし Mac の UI から浮きまくっているので Google 日本語入力を使い続けるかどうか微妙です。メニューバーの右上にあるだけだから気にならないだろうと思いますか?ところが結構パカパカしてめっちゃ気になるんですよこれが。


  1. 学習しない。正確に言うと、学習内容がしばらくするとなぜか消される。ことえりより明らかに悪化しています。