タグ別アーカイブ: iPhone3G

[UPDATE8]iBooksのルックアップ辞書を英和・和英にする方法

iBooksのルックアップ辞書機能は便利ですが、英語書籍はデフォルト設定で英英辞書を参照されてしまいます。これを英和・和英辞書にする方法を紹介します。
※iBooks1.1.2/iOS4.2.1で確認しています。
※iBooks1.2/iOS4.2.1で確認しています。
※iBooks1.2.1/iOS4.3.1で確認しています。
※iBooks1.2.2/iOS4.3.1で確認しています。
※iBooks1.3/iOS4.3.3で確認しています。
※iBooks1.3.2/iOS5.0で確認しています。
※iBooks1.5/iOS5.0.1で確認しています。
※iBooks2.0/iOS5.0.1で確認しています。
※iBooks2.1/iOS5.1で確認しています。

1. 母艦Mac/PCにiPhone ExplorerとProperty List Editorをインストール
こちら iPhoneアプリの言語メニューを個別に英語表記にする方法 を参考にインストールします。

2. iBooksに英語書籍と日本語書籍を同期
初期状態のiPhoneには辞書データがインストールされておらず、ルックアップ辞書機能の初回使用時にダウンロードされます。英語書籍はiBookstoreから”Winnie-the-Pooh”などをダウンロードし、日本語書籍はネット上で検索するとEPUB形式のサンプルが見つかりますのでiTunes経由でiPhoneに移します。英語書籍は英英辞書等のデータ、日本語書籍は英和・和英辞書や国語辞典等のデータをダウンロードをするために使います。

英語書籍でダウンロードできる辞書
 New Oxford American Dictionary
 Oxford American Writer’s Thesaurus
 Apple Dictionary

01ibooks-dic-select.png
02ibooks-dic-select.png
03ibooks-dic-select.png

日本語書籍でダウンロードできる辞書
 大辞泉
 プログレッシブ英和和英辞典
 類語例解辞典

04ibooks-dic-select.png

05ibooks-dic-select.png

06ibooks-dic-select.png

3. iPhoneから辞書優先設定ファイルを取得
iPhoneを母艦に接続してiPhone Explorerを起動し、Apps>iBooks.appにある”BKDictionaryManager_LanguageToOrder.plist”をドラッグ&ドロップで母艦のデスクトップ等にコピーします。このファイルを編集し同じ場所に戻しますのでiPhone側のファイルはバックアップとして”BKDictionaryManager_LanguageToOrder_org.plist”のようにファイル名を変更しておきます。

08ibooks-dic-select.png

4. plistでルックアップ辞書の優先順位を変更
Property List EditorからBKDictionaryManager_LanguageToOrder.plistを開きます。

09ibooks-dic-select.png

デフォルトのルックアップ辞書の優先順位は、”Winnie-the-Pooh”のような英語書籍は”en”以下のとおり、New Oxford American Dictionary > Oxford American Writer’s Thesaurus > アップル用語辞典 の順に設定されていることがわかります。

en以下に英和辞書はありませんので、一番最初にルックアップされるよう割り込ませればよいわけです。英和・和英辞書である”com.apple.dictionary.PEJ-PJE”を”com.apple.dictionary.NOAD”の上に追加して保存します。

10ibooks-dic-select.png

5. 辞書優先設定ファイルをiPhone側にコピー
優先順位を変更した”BKDictionaryManager_LanguageToOrder.plist”をiPhone側にコピーして戻します。

11ibooks-dic-select.png

6. iBooksを起動
マルチタスキング機能でバックグラウンドにサスペンド状態となっている場合は完全に終了させてからiBooksを起動します。ルックアップされる辞書が英英から英和に変更されているはずです。

12ibooks-dic-select.png

デフォルト状態への復元する場合は…
iPhone Explorerを使って、iBooksの”BKDictionaryManager_LanguageToOrder.plist”を削除し、バックアップしていた”BKDictionaryManager_LanguageToOrder_org.plist”をファイル名を変更して”BKDictionaryManager_LanguageToOrder.plist”に戻して、アプリを再起動します。
※アプリを削除して再インストールしても復元できますが、アプリの設定内容やデータが初期化されますので注意してください。

この方法での辞書変更をiPad2でも確認しました
iPad2にてカスタマイズした”BKDictionaryManager_LanguageToOrder.plist”で優先辞書の設定変更が有効であることを確認しました。

iBooks PEJ Dictionary

iPhoneアプリのメニュー・ラベルの文字列を変更する方法

iPhoneアプリでメニューのラベル文字列を変更したいと思ったことはないでしょうか?たとえば、ツイッター・クライアントの1つである”Twittelator”ではタイムラインのことを英語で”Friends”、日本語で”フレンド”と表記していますが、個人的には違和感があります。これを”タイムライン”と修正することができます。

注意喚起情報
この方法はいわゆる脱獄(JailBreak)は不要ですが、操作方法を誤ると当該アプリのデータまたは設定内容が失われる可能性がありますので注意してください。
脱獄と違ってシステム領域には影響しないので文鎮化することはまずないでしょう。

始める前に母艦に準備するソフトウェア
iPhone Explorer(フリーウェア)を http://www.macroplant.com/iphoneexplorer/ からダウンロードし母艦にインストールします。

Property List Editorをインストールします。TwittelatorのLocalizable.stringsはバイナリフォーマットのためテキストエディタだと編集できませんので専用エディタが必要になります。テキストエディタで編集できる場合もありますが、plistを修正する場合はこの専用エディタを使った方がよいでしょう。

Mac版 – Apple: PlistEdit Pro 1.5
Windows版 – plist Editor for Windows (Freeware)

  1. iPhoneを母艦に接続します
    iPod touch、iPadでは確認していませんが同じ方法で変更できると思います。

  2. iPhoneからLocalizable.stringsを母艦側にコピーします
    iPhone Explorerを起動し、Apps>Twittelator.app>Japanese.lprojから”Localizable.strings”をドラッグ&ドロップで母艦にコピーします。iPhone側のLocalizable.stringsはファイル名を変更し、”Localizable_org.strings”のように元に戻せるようにバックアップを置いておきます。

  3. Property List Editorで編集します
    母艦にコピーした”Localizable.strings”を開きます。ファイルの拡張子は”.strings”ですが中身はplistと同じなのでそのままで問題ありません。Win版もMac版のいずれのProperty List Editorも検索機能を実装しているので、変更したい文字列を簡単に探すことができます。今回の例では「フレンド」という文字列で検索し「タイムライン」に変更し、保存します。

    MacのProperty List Editor

    Windows7のProperty List Editor

  4. iPhone ExplorerでiPhone側に戻します
    母艦で編集した”Localizable.strings”をiPhone Explorerを使ってiPhone側の同じ場所に戻します。

  5. アプリを起動します
    修正が反映されていない場合は、iOSのマルチタスキング機能によりバックグラウンドでサスペンド状態になっている可能性がありますので、プルプル削除で完全に終了させてからアプリを起動します。

    修正前

    修正後

    デフォルト状態への復元する場合は…
    iPhone Explorerを使って、該当するアプリの”Localizable.strings”を削除し、バックアップしていた”Localizable_org.strings”をファイル名を変更して”Localizable.strings”に戻して、アプリを再起動します。元に戻らない場合はバックグラウンドでサスペンド状態になっている可能性がありますので完全に終了してから起動します。
    ※アプリを削除して再インストールしても復元できますが、アプリの設定内容やデータが初期化されますので注意してください。

    留意事項
    アプリのアップデートを適用した場合は上記内容は初期化されます。
    参考:代助のブログ「iPhoneアプリの言語メニューを個別に英語表記にする方法」

[UPDATE8]iBooksのルックアップ辞書を英和・和英/国語辞典にする

iPadの目玉アプリのひとつがiBooks。まだiBookStoreには日本語書籍はなく洋書が並んでいるだけなのでiPad User Guideをダウンロードして使ってみていたところ、Kindleのように辞書をルックアップして意味を表示する機能があることに気がついた。英和辞書なら便利だなと思っていたところJailbreakしていればカンタンにできることがわかったのでその備忘録。

[Updated on August 5, 2010]
JailBreakせずに辞書を切り替える方法が紹介されたブログがありますので、まずはそちらをおすすめします。
iBooks (iPad 電子書籍) で英和辞書を表示させる裏技

[Updated on November 30, 2010]
JailBreakをせずに設定する方法がありましたので当ブログの別エントリ”iBooksのルックアップ辞書を英和・和英にする方法”にまとめました。

注意喚起情報[Updated on August 5, 2010]
以下に紹介する方法はJailBreakが必要になります。JailBreakされたiPhone/iPad/iPod touchはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となってしまいます。また、JailBreakはアップル社の施したセキュアな枠組みを無効化することになるため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。さらに、JailBreakされたiPhone/iPad/iPod touchにAppStore以外で配信されるアップル社が承認していないサードパーティー製のアプリケーションをインストールする行為は、その安全性が保証されておらず悪意のあるプログラムが混入している可能性もあり、未知なる危険を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性についてはこちらのサイトで詳細に説明されていますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について

普通は英英辞書データが表示されるが英和辞書データをルックアップ
IMG_0049

iBooksのルックアップ辞書の英英辞書データを探したところ、/Library/Dictionaries/に各種辞書が格納されていた。なんと英和・和英辞書データも格納されており、他にも類語辞書や国語辞書も入っている様子。これは話が早い(Kindleでは英和辞書を英辞郎データから作る必要があった)。
/Library/Dictionaries/Apple Dictionary.dictionary
/Library/Dictionaries/New Oxford American Dictionary.dictionary
/Library/Dictionaries/Oxford American’s Thesaurus.dictionary
/Library/Dictionaries/Shogakukan Daijisen.dictionary
/Library/Dictionaries/Shogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary
/Library/Dictionaries/Shogakukan Ruigo Reikai Jiten.dictionary

ルックアップさせる辞書データをどこかで制御しているはずなので探したところ、iBooks.app下のサブディレクトリ(/var/mobile/Applications/iBooks/iBooks.app/Japanese.lproj/DefaultDictionaries.plist)に発見した。標準ではオックスフォード辞書2つが設定されているのでこれを変更する。英語の類語辞書は引けても英語から日本語の類語は引けないので設定しても無駄かもしれない。念のためplistは編集前にバックアップを取っておく。

デフォルト設定
<key>DCSDefaultActiveDictionaries</key>
<array>
 <string>/Library/Dictionaries/New Oxford American Dictionary.dictionary</string>
 <string>/Library/Dictionaries/Oxford American Writer’s Thesaurus.dictionary</string>
 <string>/Library/Dictionaries/Apple Dictionary.dictionary</string>
</array>

赤字部分をそれぞれShogakukan Progressive English-Japanese Japanese-English Dictionary.dictionary、Shogakukan Ruigo Reikai Jiten.dictionaryに変更して保存。ホームスクリーンからiBooksを起動するだけ。RespringやRebootは不要。

plistにはデフォルトの辞書も設定されており、DCSDefaultActiveDictionariesで指定された辞書データが何らかの理由で参照できない場合に使用される感じ。オックスフォード辞書と英和・和英辞書、類語辞書などあるだけ指定してみたところ、オックスフォード辞書しか表示されなかった。並び順などもひょっとすると優先順位などを意味するのかもしれない。

電子ブックリーダーとして、辞書のルックアップ機能というのは非常に魅力である。読んでいる時に英単語や語彙をすぐ確認できるのだから。Kindleも同じ機能があるものの英和辞書データは入っていないため自力で入れる必要があったし苦労したが、このiPadはなんだろ?すごすぎる。国語辞典、類語辞典まで搭載している。和書データであれば日本語の意味や類語を表示できるかもしれない。

日本語のePubサンプル( ePub変換”>青空文庫 (XHTML) -> ePub変換)をiBooksに入れて試してみたところ、ちゃんと大辞泉から引っ張ってきた。いろいろと夢が膨らんだ感じ。

IMG_0051

実はちょっと面倒。DefaultDictionaries.plistのDCSDefaultActiveDictionariesセクションの辞書データは参照優先順位に並んでいるらしく、上位データがヒットすると下位辞書データは参照しない。そのため国語辞典、英和・和英辞典のどちらを上位にするかで表示される内容が異なってしまう。たとえば国語辞典を下位にすると日本語の意味を知りたいのに英訳が表示されたり、国語辞典を上位にして洋書でルックアップするとカタカナ英語などは国語辞典から引っ張ってきてしまう等の不都合が生じる。

現在のところiBooksで読める日本語書籍データが普及していないため支障はないように思う。iBookStoreでダウンロード出来る頃には、ルックアップで参照する辞書を自分で選択できるような機能が追加されていると想像する。

–Updated on June 4, 2010
ツイッターでお世話になっている @hitoriblogさんが設定画面から最優先する辞書を手動で選択できるtweakを作ってくださっています。これは便利です。iBooks、Pagesのほか、KeynoteやNumbersでも辞書対応しているようです。

iPadのポップアップ辞書環境を少し改善するDicSelector

いろいろと

  • 辞書データ格納場所がiBooks.app下ではないので他のアプリでも共用できるんだと思う。
  • iBooksに限らず範囲選択したときに出てくるメニューに”辞書”みたいな機能も出てきたらこれはスゴイ。

–Updated on July 5, 2010
iBooksのバージョンアップにより上記方法ではルックアップ辞書を変更不可になっていました。確認したところiBooks.appのディレクトリ直下に “BKDictionaryManager_LanguageToOrder.plist” というファイルがあり、ルックアップ辞書をコントロールしている様子。DefaultDictionaries.plistの役割がどのように変わったかは不明。BKDictionaryManager_LanguageToOrder.plistを次のとおり変更する。辞書の並びは自分の参照したい順番に変更する。作業前にバックアップ推奨。

<dict>
<key>en</key>
 <array>
  <string>com.apple.dictionary.PEJ-PJE</string>
  <string>com.apple.dictionary.NOAD</string>
  <string>com.aplple.dictionary.OAWT</string>
  <string>com.apple.dictionary.AppleDictionary</string>
 </array>
<key>ja</key>
 <array>
  <string>com.apple.dictionary.Daijisen</string>
  <string>com.aplple.dictionary.ruig</string>
  <string>com.apple.dictionary.PEJ-PJE</string>
 </array>
</dict>

書籍データの言語に基づき呼び出す辞書を決定しているので、英語書籍データの場合に優先辞書を英和和英になるよう追加する(赤字部分)だけ。前バージョンでは書籍データの言語に応じて英和辞書と国語辞書の優先順位を変更しなければならない場面もあったが、今回のバージョンアップでその手間はほぼ不要になった。

なお、Pages、Keynote、Numbersはバージョン改訂されていないので、まだDefaultDictionaries.plistが有効に機能している。

moyashiさん(@hitoriblog)が公開してくださったDicSelectorはiBooks1.1では機能しないため現在レポジトリでは公開停止になっています。 (2010年7月20日修正)iBoks1.1対応バージョンがリリースされております。

–Updated on July 20, 2010
iBooksがバージョンアップして1.1から1.1.1になりましたが、辞書をルックアップする機能に変更はないようです。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法が使用できます。

なお、moyashi(@hitoriblog)さんが設定画面から辞書の優先順位を切り替えるDicSelectorも対応してくださっています。直接plistを編集する手間が省けて非常に便利です。
iBooks等のポップアップ辞書で使う辞書を選択可能にするDicSelector

–Updated on July 24, 2010
iBooksがバージョンアップして1.1.2になった。BKDictionaryManager_LanguageToOrder.plistに辞書の優先順位を追加・変更する方法は健在。DicSelectorも問題なく動作することを確認した。

動作環境
iPad WIFI+3G 16GB-USA iOS3.2 Spirit Jailbreak済み

OS4.0で切り捨てられたiPhone3Gに復活の呪文を

2010年4月8日(日本時間4月9日午前2時)にiPhoneOS4.0が発表された。マルチタスクやフォルダ、ゲームセンター、iAdなどの新しい機能やサービスを実装することが明らかになった。一方で、残念なお知らせとしてはマルチタスクがiPhone3G、iPod touch第2世代には対応していないなど、非力なハードウェアについては負荷が大きい機能が削られたようだ。

発表からほどなく世界中のハッカーがiPhone3Gでもマルチタスクが可能であることを突き止めている。その内容を見る限りiPhone3GのOS4.0は既にJailbreak出来たということを意味し、事実数日後にDev-Teamからredsn0w0.9.5betaがリリースされ(現在は0.9.5beta2)、iPhone3GであればOS4.0のベータ版をJailbreakできるようになったようだ。このバージョンではまだ3GSは非対応なので注意。

やはり非力なiPhone3G。3GSを触ってしまうと3Gに戻ることはできないだろう。が、しかしである。ハードとして実装していない電子コンパスやオートフォーカスカメラについてはやむを得ないとしてOS4.0の新機能を使うことができないのはなんとも寂しい。

とりあえずマルチタスク、HOME画面の壁紙表示、バッテリー残量表示はできるようだ。
SpringBoardの設定ファイルにのキーと値を追加するだけ。
 multitasking=true
 gas-gauge-battery=true
 homescreen-wallpaper=true


HOME画面の壁紙表示とバッテリー残量表示
gasgauge+wallpaper

マルチタスク
multitasking