脱獄してないiPhoneのユーザー辞書に、PCの作業だけで単語を追加したり一括登録する方法を模索したまとめ。

  • このエントリーをはてなブックマークに追加
  • LINEで送る

[追記 / 20100726]

バイナリデータを一括で登録することが出来るようになった。

なので今度からはPCからユーザー辞書を一括登録しても、iPhone上のユーザー辞書の編集で「よみ」を表示させられるし、その後iPhoneから単語登録しても辞書登録が消去されずにすみます。

新しい一括登録の手順は以下を参考に。

iOS4のユーザー辞書にPCから単語を一括登録する手順 / よみ表示問題解決版

変換ページ

方法は選べる2種類から。
ユーザー辞書テキストを変換して、iPhoneから抽出した.sqliteに直接反映させるページ。
ユーザー辞書テキストを変換して、ローカルでiPhoneから抽出した.sqliteに結合するようの.sqliteを出力するページ

operaで.sqliteをクリックするとがダウンロードにならずブラウザで開いちゃってますけど、説明は後ほど。
[追記 ここまで]

こんな感じになる

[image]before / after

この方法の良いところ / 悪いところ

まず良いところ。

  • 大量の単語を一括登録したい場合、iPhone上で登録するよりは楽。

以上。
次に悪いところ、記事にしちゃってごめんなさい!と謝りたいレベルです。ごめんなさい。

  • バックアップデータ内のユーザー辞書を弄ってからiPhoneに戻すので、復元する必要があり、時間がかかる。
  • バイナリデータの解析が(うちの能力的に)出来てないので、iPhone上のユーザー辞書の編集で「よみ」が表示されない。
  • [追記 / 20100719] バイナリの解析が終わってiPhoneで認識できる「よみ」を出力できたことは出来たんだけど、一括でインポートする方法が思いつかない状態、この道は出口に続いているの?
  • 上記バイナリデータが無いため、iPhoneで単語登録するとこの方法で追加した分の辞書登録が消去されてしまう。

最後のやつ、致命的すぎる。
毎回この方法で辞書登録するのなら大丈夫なんだけど、いかんせん時間がかかるからなぁ…

とりあえずちょっと辞書登録したいって時には全く向かないのでオススメ出来ないですが、どうしても大量の単語を一括登録したい場合に限ってそこそこ有効かもしれないです。

作業時間の目安

iPhoneの復元1回 + 数分。
アプリやら画像やら音楽やら動画やらが大量に詰まっていると復元するのに長時間かかるので、作業前には出来るだけiPhoneを軽くしてからバックアップを取ると良いと思う。

数十回ほど”工場出荷状態まで復元して登録して”をやり直してみて、iPhoneが使えなくなっちゃうくらいのエラーは起きませんでしたが、上記デメリットを含めこのページを参考に作業するなら一応自己責任ということでお願いします。

使用する3つのアプリ

[image]iBackupBot for iTunesのアイコン
iBackupBot for iTunes / iPhoneのバックアップを開いて編集できるソフト
iTunes Backup Manager for iPhone 3G, iPhone 3GS, iPod Touch, iPad
[image]PupSQLiteのアイコン
PupSQLite / SQLite3データベースを閲覧・作成・編集するためのソフトウェア
Pup’s Atelier-Software
[image]plist Editor for Windowsのアイコン
plist Editor for Windows / .plistを編集できる
plist Editor for Windows (Freeware)

上記アプリで使えるように辞書テキストファイルを変換するページ

[image]辞書テキストファイルの変換サイト
辞書テキストファイルを、
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を右クリックしてバックアップ

[image]iPhoneのバックアップを作成

2) 辞書関連ファイルエクスポート

iBackupBotでユーザー辞書関連ファイルを抽出

[image]iBackupBotでエクスポートする2ファイル

必要なのは以下の2ファイルです、頑張って探す。

  • Library_Keyboard_UserWords.sqlite
  • Library_Keyboard_SerializedUserWords-ja(iPhone上で1つでも単語を登録していないと出現しない)

見つけたらチェックを付けてエクスポート[File] – [Export](ctrl + E)

[image]エクスポートの設定

Export Backed-Up Files というウインドウが開くので
Export only checled file(s). にチェックを入れると
Export with backup information, for import to another backup. が出現、こっちにもチェックが付いている事を確認して[OK]

以下の4ファイルが出力されてたら次へ
[image]exportされたファイルは4つだった。

3) 辞書ファイルの編集

ユーザー辞書に追加する[よみ]と[単語]を準備

次のような、よくあるフォーマットで辞書ファイルを作成しておけば、この後の作業が楽になる。

自分のIMEをテキストファイルに出力したり、顔文字サイトからダウンロードしてきたファイルはだいたいそんなフォーマットになってるハズ。

PCの辞書ファイルをそのまま移行しても、iPhoneでもともと変換できないタイプの『よみ』だともちろん変換できないです(アルファベットなど)

MatsuCon – 顔文字辞書ダウンロードにあるMicrosoft IMEライト版を参考にさせてもらうとこんな感じ。

品詞がついてるけどよみ [Tab か 全角スペース] 単語の順番で始まっていれば大丈夫。

変換する

用意したファイルをUserWords / .txt to .xlsで変換する。

[image]ドラッグアンドドロップ対応

operaとgoogleって仲良しだったと思ったんだけど、なんでoperaはgearsに対応してないんだろう。

『アップロードしたファイルを変換する』を押すとファイルが2個出来る
緑の文字側のファイルを(Library_Keyboard_UserWords.sqlite 追加用.xls)を保存して次へ。

[image]変換された.xlsファイル

PupSQLite で Library_Keyboard_UserWords.sqliteに結合

[追記 / 20100715]
以前の方法だと、最初にiPhone上で登録していた単語と、あとから追加するxlsの単語のidが重複してしまい、最初に登録してあった単語の数分だけ登録失敗していたようなんですが(気づいてませんでしたごめんなさい)
PupSQLite作者のPupさんにヒントを頂き全部登録できるようになりました、感謝。
[追記2 / 20100717]
PupSQLite ver 1.9.3.0のバージョンアップによって上記対策をしなくとも重複させずに単語が登録可能になりました、素敵。

[image]PupSQLiteのアイコンPupSQLite を起動。

Library_Keyboard_UserWords.sqliteを開いて、テーブル ZTIUSERWORD を右クリック – [フィールドの編集]

[image]フィールドの編集

フィールド名 Z_PK の重複とNULLをOKにして、主キーのチェックを外しておく。
[image]変更する箇所

[ファイル] – [インポート] – [ファイルからインポート]
『インポートするファイル』に、前の手順で保存した Library_Keyboard_UserWords.xlsを選択。
インポート先は『既存のテーブル』。

[image]既存のテーブルに追加

適当にぽちぽちしていくと

[image]そのままどんどん進める

結合完了。
[image]ZSORTKEY_JA や ZSTRING が追加された

Z_PKが重複して登録されているのでUPDATE文で更新。
[SQLを記入して実行アイコン]をクリック
[image]連番を修正する

SQLの実行ウィンドウが開くので、SQL文の入力欄に以下をコピペ

[image]update文の実行

実行すると、連番が修正されはず、主キーは戻しておく。
————————-

最後に ZTIUSERWORDの行数を、Z_PRIMARYKEYのZ_MAXに入力しておく。
[image]登録数をZ_MAXに入力

plist Editor で Library_Keyboard_SerializedUserWords-ja に『よみ』と『単語』のデータを追加

[image]plist Editor for Windowsのアイコン plist Editorを起動して Library_Keyboard_SerializedUserWords-ja を開く。

変換サイトのピンク側のリンク先のテキスト(『よみ』と『単語』がにラップされてるもの)を全選択(Ctrl+A)してコピー。

こっちのファイルは変換する際の紐付けになるっぽい。

[image]Library_Keyboard_SerializedUserWords-ja用の出力

[image]stringでラップされてるテキスト

Library_Keyboard_SerializedUserWords-jaの前にペーストして保存。

[image]stringでラップされてるテキストを/arrayの前へペースト

以上で辞書ファイルの編集は完了、あとはインポートして復元するだけ。

4) インポート

iBackupBot に戻って [File] – [Import](Ctrl + I) から、Exportしてファイルを保存したフォルダを選んでそこにある2ファイルをimport
[image]importするところ

5) 復元

iBackupBot か iTunesからバックアップデータを復元。画像はiBackupBotからの復元。
[image]復元

ユーザー辞書が反映されたか確認

メモ帳ひらいて変換してみる。

[image]変換してみる

以上です、お疲れ様でした(*- -)(*_ _)ペコリ

その他

『ユーザー辞書を編集…』を開いても登録した辞書が表示されていない場合

各国のキーボードからキーボードの数を変更すると反映されるみたいです。

[image]キーボードの数を変更する

『ユーザー辞書を編集…』に『よみ』が表示されない。

この方法で追加した単語は、残念ながら『よみ』が表示されない。

[image]よみが表示されない

Library_Keyboard_UserWords.sqlite にある
ZTIUSERWORD の ZPROPERTIES の Byte[]配列ってのが、ユーザー辞書の編集画面に表示される『よみ』なので、そこに適切なバイナリファイルを追加できたら表示させられます。

この作業の後にiPhone上で辞書登録すると、Library_Keyboard_UserWords.sqliteのZPROPERTIESのByte[]配列が登録されていない単語がLibrary_Keyboard_SerializedUserWords-jaから消滅してしまい変換できなくなる。

この作業の後に同期でエラーが出るなら

警告をリセットを試してみるといいかも。

[image]警告をリセット

辞書テキストファイルを変換するサイトを活用しない場合は
まとめる前の投稿の中盤以降が参考になりそうです、一応リンク貼っておきます。
iPhoneのユーザー辞書登録で、そのうち役に立つかもしれない自分メモ / 20100704追記

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメント

  1. スーパーコピールイ・ヴィトン より:

    激安、安心、安全にお届けします、安心して買って下さいパネライコピー時計高品質のブランドコピーを超激安な価格で販売しています。
    人気商品コピー ブランド通販専門店。
    全国送料無料!
    当社は2018逸品が満載している好評度業界No.1ブランド コピー激安通販店です
    店長お薦めは以下の商品:
    パネライコピー時計,パネライスーパーコピー,パネライN級品
    IWCスーパーコピー,IWC N級品,IWC時計コピー, IWC ポルトギーゼ
    スーパーコピールイ・ヴィトン

コメントを残す


You can add images to your comment by clicking here.