2011-12-20 14 views
0

私はiPhoneアプリケーションの開発に慣れています(私はXCode 4.2を使用しています)、すべての文字列、字幕などを内部的に翻訳する方法があるのだろうかと思いました。 1 。したがってiPhoneアプリケーションの国際化

私が考えているアイデアは、グローバル変数として言語を保存して、すべてを翻訳するためにNSUserDefaultsを使用することです

別のオプションは、ルックアップテーブルを作ることですが(それはObjective-Cで可能でもあります?)

ありがとうございます。

+0

あなたは何を期待していますか?あなたはそれらを1つずつ翻訳することしかできません... Appleは魔法の翻訳ツールをリリースしませんでしたが、それはある意味では可能です。 –

答えて

0

NSLocalizedStringのドキュメントを参照してください。 .xibファイルをローカライズする方法(English.lproj、de.lproj、fr.lprojなどでローカライズされたコピーを作成する方法)

1

あなたは、言語ごとに(という名前のLocalizable.strings(NSLocalizedString(@"<#key#>", @"<#comment#>") 1つのファイルを使用することができます。あなたは上記の機能を使用する場合は、のLocalizable.stringsファイルを生成するために、MacのApp Storeで利用できるアプリケーションLinguan()を使用することができます。

ファイルを作成するコマンドラインツールgenstringsもありますが、Linguanアプリが単価で数分で支払うと私には信じています。

あなたはいつもより良い翻訳を提供し、キーに関するコンテキスト。

0

作成する必要があるのはtです翻訳したい言語ごとにキーと値のペアをファイルし、それに応じて名前を付けます(例:_en、_frなど)。

NSLocalizedString(@"myKey", nil) 

そして、これは現在のiPhoneの設定があるどんな言語にローカライズされた文字列を返します:

次に、あなたがしなければならないすべては、このメソッドにメッセージを送っています。

Localizing iPhone apps

1

はあなたがここでの処理のステップバイステップのチュートリアル読むことができます:ここで

iPhone Localization Tutorial

を高だ

この記事では、あなたが知っている必要があります基本をカバー基本の概要(上のチュートリアルに詳細があります):

1)すべてのコード化された文字列を変更してください電話:NSLocalizedString(@"My text", @"Context for the translator")

2)genstringsターミナルコマンドを使用してすべての文字列をエクスポートします。

3)これにより、すべての英語(ソース)文字列を含むLocalizable.stringsというテキストファイルが作成されます。

/* Context for the translator */ 
"My text" = "My text"; 

あなたはそのファイルを翻訳者に送信します。 en.lprojFR:あなたは、その適切な言語フォルダ内の各翻訳のLocalizable.stringsファイルを置く)"My text" = "Mi texto";

4:彼らは、このような右サイドを翻訳します。 lprojなどes.lproj、iPhone上のアプリの負荷が、それは、ユーザーの言語設定をチェックします

。ユーザがフランス語をシステム言語として選択した場合、Localizable.stringsfr.lprojフォルダファイルがロードされます。翻訳されていない文字列がある場合、それらの文字列はデフォルトで英語(またはソース言語が何であれ)になります。

チュートリアル全体を読むと、ファイル/フォルダ名が正確である必要があります。