iOS標準キーボードの登録単語をMac経由でATOK for iOSへインポートする

  • 10
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

先程,長年待望されていた ATOK for iOS がとうとう公開されました!

しかし,これまで iOS の標準キーボードを鍛え込むため登録していた多数の単語は,ATOK for iOS へは反映されないようです。
自分はこれまで,固有名詞や顔文字をはじめ,「めーる」→自分のメールアドレス,「でんわ」→自分の電話番号 など,いろいろ単語登録することで入力を便利にしていましたので,これを引き継ぎたいと思い,登録単語のエクスポート・インポートを試みました。

1. iOS → iCloud → Mac 経由で辞書をエクスポート

iOS と Mac の「ことえり」は,iCloud を経由して登録単語を共有しています。普段Macで「ことえり」を使っていなくても,iCloudの「書類とデータ」の同期を有効にしていれば,登録単語は同期されています。
そこで,Mac 経由で登録単語一覧をファイルとしてエクスポートすることができます。

OS X 10.9 Mavericks では,ことえりの環境設定からではなく,システム環境設定の「キーボード→ユーザ辞書」から登録単語をエクスポートすることができます。
こちらの記述に従い,登録単語を全選択して画面外にドラッグ&ドロップすると,「ユーザ辞書.plist」が生成されます。

dic0a.png
dic05a.png
上記サイトより説明用画像を引用)

2. plist をATOK辞書形式に変換

次のスクリプトを ユーザ辞書.plist と同じフォルダで実行します。
すると,ATOK形式の辞書ファイル user_word.txt が生成されます。

plist2atok.rb
#!/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
}

スクリプト実行方法の詳細

  1. 上記スクリプトを plist2atok.rb として保存します。上のをコピー&ペーストしてもよいですし,Gistからダウンロードしてもよいでしょう。
  2. plist2atok.rb を ユーザ辞書.plist と同じフォルダに置きます。以下では例としてデスクトップに置いたとします。
  3. Finderで Command+Shift+U を押して「ユーティリティ」フォルダに移動し,ターミナルを起動します。
  4. 以下のコマンドを順に実行します。すると,デスクトップに user_word.txt が生成されます。
cd ~/Desktop
ruby plist2atok.rb

3. iTunes経由でiOS版ATOKにインポート

公式サイトの記述に従い,

iTunes → iPhone → App → ファイル共有 → ATOK

を選択し,[ATOKの書類]リストに user_word.txt をドラッグすると,iPhone 内にこのファイルがコピーされます。

load.gif
公式サイトより説明用画像を引用)

4. iOS版ATOKで一括単語登録

iPhoneのホーム画面からATOKを起動し,

ツール → 一括処理 → 一覧出力ファイルの読み込み

をタップすると,単語が取り込まれ,読み込み結果画面が表示されます。
これで完了です!

f14e96c9-7e2d-9855-7ba8-4377fc5fb3b2.png