10
11

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-09-22

先程,長年待望されていた 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

10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11