iPhone で使っていたユーザー辞書を Android の Google 日本語入力アプリに持っていきたくて、辞書を変換できる Web ページを作った。
⇒ iOS のユーザー辞書を Google 日本語入力の辞書に変換する
iOS のユーザ辞書 フォーマット仕様
iOS のユーザ辞書を iCloud 経由で Mac に同期して、 Mac のメニューから [(Appleマーク)] → [システム環境設定] → [キーボード] → [ユーザ辞書] にて、入力と変換のリストを選択してデスクトップにドラッグ。これで「ユーザ辞書.plist」という名前のファイルが生成される。
中身は XML 文書になっている。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>phrase</key>
<string>(。-ω-)</string>
<key>shortcut</key>
<string>ねむい</string>
</dict>
<dict>
<key>phrase</key>
<string>(・ω・。)</string>
<key>shortcut</key>
<string>おなかすいた</string>
</dict>
</array>
</plist>
Google 日本語入力 の辞書 フォーマット仕様
Mac や Android にて、Google 日本語入力の辞書をエクスポートすることが可能。
エクスポートしたファイルの中身は、項目がタブで区切られたテキストファイルになっている。文字エンコーディングは UTF-8 で、改行は LF のみ。
ねむい[TAB](。-ω-)[TAB]名詞[TAB]
おなかすいた[TAB](・ω・。)[TAB]名詞[TAB]
([TAB]は制御文字のタブ)
iOS ユーザー辞書を Google 日本語入力の辞書に変換する JavaScript のコード
jQuery 3.0.0 を使用。
function ios_dict_to_google_ime_dict(src){
var xml = $($.parseXML(src));
var dicts = xml.find("dict");
var entries = [];
for(var i=0; i<dicts.length; i++){
var dict = dicts[i];
var keys = $(dict).find("key");
var strings = $(dict).find("string");
var phrase = null;
var shortcut = null;
for(var j=0; j<keys.length; j++){
var key = $(keys[j]);
var str = $(strings[j]);
if(key.text() === "phrase"){
phrase = str.text();
}else if(key.text() === "shortcut"){
shortcut = str.text();
}
}
if(phrase != null && shortcut != null){
entries.push({phrase: phrase, shortcut: shortcut});
}
}
var lines = [];
for(var i=0; i<entries.length; i++){
var e = entries[i];
lines.push(e.shortcut + "\t" + e.phrase + "\t" + "名詞\t");
}
return lines.join("\n");
}
iOS ユーザー辞書には「品詞」という項目が存在しないが、 Google 日本語入力では「品詞」は必須らしいので、「品詞」の項目には強引に「名詞」を指定している。
- ref.
- iOS のユーザー辞書を Google 日本語入力の辞書に変換する
- Apple 日本語ユーザ辞書: Japanese Input Method: ユーザ辞書を編集する/使用する
- Google 日本語入力 辞書: 辞書 - 日本語入力 ヘルプ
tags: ios iphone android
Posted by NI-Lab. (@nilab)