Xcode 4に更新しました。
通常、アプリをローカライズする場合、プロジェクトに「Localizable.String」ファイルを追加し、「情報を見る」メニューに移動して「ローカライズする」ボタンをクリックします。
ただし、Xcode 4には「情報を見る」メニューはありません。
言語を追加しようとすると、「InfoPlist.String」ファイルのみに影響します(アプリケーションの名前のみをローカライズできます)。
Xcode 4でアプリにローカライズを追加するにはどうすればよいですか?
理解すれば簡単です。
Xcode5。xおよびiOS 7でこれを達成したい場合またはXcode6。xおよびiOS 8、「- Xcode 5でアプリをローカライズする方法 代わりに。
[〜#〜] snr [〜#〜] の link が好きだったが、彼の答えは少し短かった。
また、この質問は少し古いことがわかり、私の答えは古いバージョンのXcodeとは異なる場合があります。 (Xcode v。4.3.3を使用しました)
ただし、、bothXcode4.3.5以下+4.4以上(およびXcode 5.xおよび6.xここ: Xcode 5でアプリをローカライズする方法? )。
開始するには、iOSリソースカテゴリに新しい「文字列ファイル」を追加する必要があります。
次に、ファイルを「Localizable.strings」として作成します。
ファイルが作成されたら、それを選択して、ファイルインスペクターを開きます。
[〜#〜] edit [〜#〜]:新しいXcode 4.4、4.5(およびそれ以降)で状況が(少し)変更されました( iOS 6サポート)。 Xcode 4.4またはaboveを使用してNotである場合、これをスキップするステップ。
{Xcode4.4、4.5(以上)の方法:
「ローカライズする」ボタンをクリックします
メインプロジェクトページに移動します。
[ローカライズ]の下の[+]ボタンをクリックし、サポートする言語を選択します。
(ドイツ語/ドイツ語を選択します)
ローカライズするファイルを尋ねるウィンドウが表示されます。「Only」「Localizable.strings」ファイルが選択されていることを確認し、「完了」をクリックします。
}
{Xcode4.3.5以下:
[ローカライズ]の下の[+]ボタンをクリックし、サポートする言語を選択します。
(ドイツ語/ドイツ語を選択します)
}
。
。
。
。
「Localizable.strings」ファイルの下に2つのファイルがあることがわかります。
次に、両方のローカライズファイル内にローカライズ文字列を追加します。
次に、コーディングの部分を説明します。
ここでは、単にUILabel
を宣言し、そのテキストをローカライズ可能なファイル文字列に設定します。
宣言:
IBOutlet UILabel *testLabel;
ViewDidLoadの内部では、NSLocalizedString
を使用してテキストを設定します。
[testLabel setText:NSLocalizedString(@"TEST", nil)];
最後に、「Interface Builder」でtestLabel
を接続します。
これで、プロジェクトを実行し、ローカライズされた文字列を確認できるはずです。また、言語を変更すると、ローカライズされた文字列も変更されるはずです。
ローカライズするファイルを選択し、ユーティリティセクションでファイルインスペクターをクリックします。セクションローカリゼーションがあります
ファイルを選択し、メインメニューの[表示]-> [ユーティリティ]-> [ファイルインスペクター]から[ファイルインスペクター]を開くと、ファイル情報を表示(およびローカライズを追加)できます。
まず、新しいLocalizable.stringファイルを追加して選択し、[表示]-> [ユーティリティ]-> [ファイルインスペクター]をクリックして、[ローカライズ]セクションに言語を追加します。それも確認してください XCode 4、ローカライズの追加
高度なユーザー定義ランタイム属性を使用できます。
http://cupobjc.blogspot.com.es/2014/04/interfaz-builder-localization.html
最初にUILabelの新しいカテゴリを定義します。
#import "UILabel+Localized.h"
@implementation UILabel (Localized)
-(void) setTextLocalized:(NSString *)aText{
[self setText:NSLocalizedString(aText, nil)];
}
@end
次に、インターフェイスビルダーで、ユーザー定義のランタイム属性:
textLocalized Stringローカライズする文字列
また、IBOutletを宣言する必要はなく、ViewDidLoad [testLabel setText:NSLocalizedString(@ "TEST"、nil)]にコードを記述する必要もありません。
xcode4のローカライズの方法が変更されました! localizable.stringsを右クリックし、別の言語のサポートを追加するには、右側の[ローカライズ]ペインの[+]をクリックします。
または、TraductoProを使用してこのプロセスを自動化し、時間を大幅に節約できます。 Xcodeとうまく統合できるMacアプリです。
アプリ内で言語を動的に切り替え、Podベースのソリューションを使用する動的な方法が必要な場合は、以下をご覧ください。
https://github.com/nullic/DPLocalizationManager
でインストール:pod 'DPLocalization', '~> 1.2'
同じ標準ローカリゼーションファイルをサポートしますが、User Defined runtime attributes
およびviewDidLoad
などのコード内の動的リンクも使用します。
サンプルプロジェクトのいくつかの例:
self.startup.text = DPLocalizedString(@"TITLE", nil);
self.label.autolocalizationKey = @"LABEL_TEXT";
[self.label updateAutolocalizationArguments:@[@"Hello", @1234567890, [NSDate date]]];
self.autolocalizationKey = @"TITLE";
いくつかの例を示すサンプルプロジェクトを含むgitプロジェクトをダウンロードします。