2013-03-19 10 views
5

OK、この質問の目標は厳密にプログラミングに関連するものではありませんが、プログラミングツールを使用してプログラマーが答えることができる質問です。私と一緒に熊。自然言語学習のためにMac OS X言語ローカリゼーションファイルをリバースエンジニアリングするにはどうすればよいですか?

Mac OS Xのシステム言語を変更すると、フランス語などの自然言語の学習を強化するのに役立ちます。しかし、私は理解できないフランス語のメニュー項目やダイアログボックスを見つけることがありますが、それは翻訳をgoogleにしたり、システム言語を英語に戻すのに役立ちます。しかし私は、英語の翻訳がローカリゼーションファイルのどこかに隠されていて、何とかフランス語のフレーズにマップしていることを知っています。だから私がしたいのは、すべてのローカライゼーションファイルのすべてのテキストを抽出してこのフレーズのマッピングを英語で=フランス語のそのフレーズで簡単に見つけることができるようにすることです。

ローカリゼーションファイルはLocalizable.strings、lprojファイル、nibファイルなどに保存されていますが、保存方法や使用方法の頭や尾は作成できません。私はプログラムすることができますが、私はXcodeで何も書いたことがありません。私が見つけることができるすべての情報は、Mac OS/iOSプログラマがソフトウェアをローカライズするためのものであり、ハッカーが既にローカライゼーション情報を抽出するためのものではありません。

Mac OS Xシステムおよびサードパーティのソフトウェアローカリゼーションファイルから外国語の情報をプレーンテキストとして抽出するにはどうすればよいですか?ありがとう!

答えて

1

文字列ファイルは簡単です。それらは単にプロパティリストとしてシリアライズされた辞書です。辞書キーは、特定のローカリゼーションのために指定された文字列を検索するためにプログラムによって使用されます。両方のディクショナリをロードし、キーを反復し、英語の辞書の値を出力のキーとして使用し、他の言語の辞書の値を出力の値として使用して、英語から別の言語へのマッピングを構築できます。

NIBはより硬い。ビルドプロセスは、NIBファイルを編集または解析するのに適していないフォームに「コンパイル」します。コンパイルされていないNIBファイルにアクセスできる場合は、ibtool --export-strings-fileを使用して文字列ファイルをダンプすることができます。これを上記のように処理することができます。あなたがしない場合、私はあなたが苦労するかもしれないと思う。

+0

私はあなたがプロパティリストに物事を保存することに関して何を言っているのか理解していますが、さまざまな文字列ファイルがどのように関連して接続されているか、 – arandomlypickedname

+0

あなたは何が問題を抱えているのかを明確にすることはできますか? – bdash

関連する問題