[追記 / 20100726]
バイナリデータを一括で登録することが出来るようになった。
なので今度からはPCからユーザー辞書を一括登録しても、iPhone上のユーザー辞書の編集で「よみ」を表示させられるし、その後iPhoneから単語登録しても辞書登録が消去されずにすみます。
新しい一括登録の手順は以下を参考に。
iOS4のユーザー辞書にPCから単語を一括登録する手順 / よみ表示問題解決版
変換ページ
方法は選べる2種類から。
ユーザー辞書テキストを変換して、iPhoneから抽出した.sqliteに直接反映させるページ。
ユーザー辞書テキストを変換して、ローカルでiPhoneから抽出した.sqliteに結合するようの.sqliteを出力するページ
operaで.sqliteをクリックするとがダウンロードにならずブラウザで開いちゃってますけど、説明は後ほど。
[追記 ここまで]
こんな感じになる
この方法の良いところ / 悪いところ
まず良いところ。
- 大量の単語を一括登録したい場合、iPhone上で登録するよりは楽。
以上。
次に悪いところ、記事にしちゃってごめんなさい!と謝りたいレベルです。ごめんなさい。
- バックアップデータ内のユーザー辞書を弄ってからiPhoneに戻すので、復元する必要があり、時間がかかる。
バイナリデータの解析が(うちの能力的に)出来てないので、iPhone上のユーザー辞書の編集で「よみ」が表示されない。- [追記 / 20100719] バイナリの解析が終わってiPhoneで認識できる「よみ」を出力できたことは出来たんだけど、一括でインポートする方法が思いつかない状態、この道は出口に続いているの?
- 上記バイナリデータが無いため、iPhoneで単語登録するとこの方法で追加した分の辞書登録が消去されてしまう。
最後のやつ、致命的すぎる。
毎回この方法で辞書登録するのなら大丈夫なんだけど、いかんせん時間がかかるからなぁ…
とりあえずちょっと辞書登録したいって時には全く向かないのでオススメ出来ないですが、どうしても大量の単語を一括登録したい場合に限ってそこそこ有効かもしれないです。
作業時間の目安
iPhoneの復元1回 + 数分。
アプリやら画像やら音楽やら動画やらが大量に詰まっていると復元するのに長時間かかるので、作業前には出来るだけiPhoneを軽くしてからバックアップを取ると良いと思う。
数十回ほど”工場出荷状態まで復元して登録して”をやり直してみて、iPhoneが使えなくなっちゃうくらいのエラーは起きませんでしたが、上記デメリットを含めこのページを参考に作業するなら一応自己責任ということでお願いします。
使用する3つのアプリ
- iBackupBot for iTunes / iPhoneのバックアップを開いて編集できるソフト
iTunes Backup Manager for iPhone 3G, iPhone 3GS, iPod Touch, iPad - PupSQLite / SQLite3データベースを閲覧・作成・編集するためのソフトウェア
Pup’s Atelier-Software - plist Editor for Windows / .plistを編集できる
plist Editor for Windows (Freeware)
上記アプリで使えるように辞書テキストファイルを変換するページ
- 辞書テキストファイルを、
Library_Keyboard_UserWords.sqliteに追加できる形式の.xlsファイルと、
Library_Keyboard_SerializedUserWords-ja用のタグにラップするページ
UserWords / .txt to .xls
作業の流れ
順番 | やること | 使用アプリ |
---|---|---|
1 | バックアップ作成 | iTunes |
2 | ユーザー辞書関連ファイルのエクスポート | iBackupBot |
3 | ユーザー辞書編集 | PupSQLite plist Editor |
4 | ユーザー辞書関連ファイルのインポート | iBackupBot |
5 | 復元 | iTunes か iBackupBot |
作業開始
1) iTunesでiPhoneのバックアップを作成。
iPhoneを右クリックしてバックアップ
2) 辞書関連ファイルエクスポート
iBackupBotでユーザー辞書関連ファイルを抽出
必要なのは以下の2ファイルです、頑張って探す。
- Library_Keyboard_UserWords.sqlite
- Library_Keyboard_SerializedUserWords-ja(iPhone上で1つでも単語を登録していないと出現しない)
見つけたらチェックを付けてエクスポート[File] – [Export](ctrl + E)
Export Backed-Up Files というウインドウが開くので
Export only checled file(s). にチェックを入れると
Export with backup information, for import to another backup. が出現、こっちにもチェックが付いている事を確認して[OK]
3) 辞書ファイルの編集
ユーザー辞書に追加する[よみ]と[単語]を準備
次のような、よくあるフォーマットで辞書ファイルを作成しておけば、この後の作業が楽になる。
よみ [Tab か 全角スペース] 単語 よみ [Tab か 全角スペース] 単語 よみ [Tab か 全角スペース] 単語
自分のIMEをテキストファイルに出力したり、顔文字サイトからダウンロードしてきたファイルはだいたいそんなフォーマットになってるハズ。
PCの辞書ファイルをそのまま移行しても、iPhoneでもともと変換できないタイプの『よみ』だともちろん変換できないです(アルファベットなど)
MatsuCon – 顔文字辞書ダウンロードにあるMicrosoft IMEライト版を参考にさせてもらうとこんな感じ。
あうあう ⊂ミ⊃^ω^ )⊃ アウアウ!! 顔文字 あせ (;´Д`) 顔文字 あせ :(;゙゚'ω゚'): 顔文字
品詞がついてるけどよみ [Tab か 全角スペース] 単語の順番で始まっていれば大丈夫。
変換する
用意したファイルをUserWords / .txt to .xlsで変換する。
operaとgoogleって仲良しだったと思ったんだけど、なんでoperaはgearsに対応してないんだろう。
『アップロードしたファイルを変換する』を押すとファイルが2個出来る
緑の文字側のファイルを(Library_Keyboard_UserWords.sqlite 追加用.xls)を保存して次へ。
PupSQLite で Library_Keyboard_UserWords.sqliteに結合
[追記 / 20100715]
以前の方法だと、最初にiPhone上で登録していた単語と、あとから追加するxlsの単語のidが重複してしまい、最初に登録してあった単語の数分だけ登録失敗していたようなんですが(気づいてませんでしたごめんなさい)
PupSQLite作者のPupさんにヒントを頂き全部登録できるようになりました、感謝。
[追記2 / 20100717]
PupSQLite ver 1.9.3.0のバージョンアップによって上記対策をしなくとも重複させずに単語が登録可能になりました、素敵。
PupSQLite を起動。
Library_Keyboard_UserWords.sqliteを開いて、テーブル ZTIUSERWORD を右クリック – [フィールドの編集]
フィールド名 Z_PK の重複とNULLをOKにして、主キーのチェックを外しておく。
[ファイル] – [インポート] – [ファイルからインポート]
『インポートするファイル』に、前の手順で保存した Library_Keyboard_UserWords.xlsを選択。
インポート先は『既存のテーブル』。
適当にぽちぽちしていくと
Z_PKが重複して登録されているのでUPDATE文で更新。
[SQLを記入して実行アイコン]をクリック
SQLの実行ウィンドウが開くので、SQL文の入力欄に以下をコピペ
update ZTIUSERWORD set Z_PK = rowid;
実行すると、連番が修正されはず、主キーは戻しておく。
————————-
最後に ZTIUSERWORDの行数を、Z_PRIMARYKEYのZ_MAXに入力しておく。
plist Editor で Library_Keyboard_SerializedUserWords-ja に『よみ』と『単語』のデータを追加
plist Editorを起動して Library_Keyboard_SerializedUserWords-ja を開く。
変換サイトのピンク側のリンク先のテキスト(『よみ』と『単語』が
こっちのファイルは変換する際の紐付けになるっぽい。
Library_Keyboard_SerializedUserWords-jaの前にペーストして保存。
以上で辞書ファイルの編集は完了、あとはインポートして復元するだけ。
4) インポート
iBackupBot に戻って [File] – [Import](Ctrl + I) から、Exportしてファイルを保存したフォルダを選んでそこにある2ファイルをimport
5) 復元
iBackupBot か iTunesからバックアップデータを復元。画像はiBackupBotからの復元。
ユーザー辞書が反映されたか確認
メモ帳ひらいて変換してみる。
以上です、お疲れ様でした(*- -)(*_ _)ペコリ
その他
『ユーザー辞書を編集…』を開いても登録した辞書が表示されていない場合
各国のキーボードからキーボードの数を変更すると反映されるみたいです。
『ユーザー辞書を編集…』に『よみ』が表示されない。
この方法で追加した単語は、残念ながら『よみ』が表示されない。
Library_Keyboard_UserWords.sqlite にある
ZTIUSERWORD の ZPROPERTIES の Byte[]配列ってのが、ユーザー辞書の編集画面に表示される『よみ』なので、そこに適切なバイナリファイルを追加できたら表示させられます。
この作業の後にiPhone上で辞書登録すると、Library_Keyboard_UserWords.sqliteのZPROPERTIESのByte[]配列が登録されていない単語がLibrary_Keyboard_SerializedUserWords-jaから消滅してしまい変換できなくなる。
この作業の後に同期でエラーが出るなら
警告をリセットを試してみるといいかも。
辞書テキストファイルを変換するサイトを活用しない場合は
まとめる前の投稿の中盤以降が参考になりそうです、一応リンク貼っておきます。
iPhoneのユーザー辞書登録で、そのうち役に立つかもしれない自分メモ / 20100704追記
コメント