先程,長年待望されていた ATOK for iOS がとうとう公開されました!
しかし,これまで iOS の標準キーボードを鍛え込むため登録していた多数の単語は,ATOK for iOS へは反映されないようです。
自分はこれまで,固有名詞や顔文字をはじめ,「めーる」→自分のメールアドレス,「でんわ」→自分の電話番号 など,いろいろ単語登録することで入力を便利にしていましたので,これを引き継ぎたいと思い,登録単語のエクスポート・インポートを試みました。
1. iOS → iCloud → Mac 経由で辞書をエクスポート
iOS と Mac の「ことえり」は,iCloud を経由して登録単語を共有しています。普段Macで「ことえり」を使っていなくても,iCloudの「書類とデータ」の同期を有効にしていれば,登録単語は同期されています。
そこで,Mac 経由で登録単語一覧をファイルとしてエクスポートすることができます。
OS X 10.9 Mavericks では,ことえりの環境設定からではなく,システム環境設定の「キーボード→ユーザ辞書」から登録単語をエクスポートすることができます。
こちらの記述に従い,登録単語を全選択して画面外にドラッグ&ドロップすると,「ユーザ辞書.plist」が生成されます。
(上記サイトより説明用画像を引用)
2. plist をATOK辞書形式に変換
次のスクリプトを ユーザ辞書.plist と同じフォルダで実行します。
すると,ATOK形式の辞書ファイル user_word.txt が生成されます。
#!/usr/bin/ruby
require 'rexml/document'
dict = REXML::Document.new(open("ユーザ辞書.plist"))
open("user_word.txt","w:UTF-16LE"){|f|
f.print "\uFEFF!!ATOK_TANGO_TEXT_HEADER_1\r\n\r\n"
dict.elements.each('plist/array/dict') do |element|
phrase = element.elements[2].text
shortcut = element.elements[4].text
f.print sprintf("%s\t%s\t名詞*\r\n", shortcut, phrase).encode(Encoding::UTF_16)
end
}
スクリプト実行方法の詳細
- 上記スクリプトを plist2atok.rb として保存します。上のをコピー&ペーストしてもよいですし,Gistからダウンロードしてもよいでしょう。
- plist2atok.rb を ユーザ辞書.plist と同じフォルダに置きます。以下では例としてデスクトップに置いたとします。
- Finderで Command+Shift+U を押して「ユーティリティ」フォルダに移動し,ターミナルを起動します。
- 以下のコマンドを順に実行します。すると,デスクトップに user_word.txt が生成されます。
cd ~/Desktop
ruby plist2atok.rb
3. iTunes経由でiOS版ATOKにインポート
公式サイトの記述に従い,
iTunes → iPhone → App → ファイル共有 → ATOK
を選択し,[ATOKの書類]リストに user_word.txt をドラッグすると,iPhone 内にこのファイルがコピーされます。
(公式サイトより説明用画像を引用)
4. iOS版ATOKで一括単語登録
iPhoneのホーム画面からATOKを起動し,
ツール → 一括処理 → 一覧出力ファイルの読み込み
をタップすると,単語が取り込まれ,読み込み結果画面が表示されます。
これで完了です!