web-dev-qa-db-ja.com

Xcode 4でアプリをローカライズする方法は?

Xcode 4に更新しました。

通常、アプリをローカライズする場合、プロジェクトに「Localizable.String」ファイルを追加し、「情報を見る」メニューに移動して「ローカライズする」ボタンをクリックします。

ただし、Xcode 4には「情報を見る」メニューはありません。

言語を追加しようとすると、「InfoPlist.String」ファイルのみに影響します(アプリケーションの名前のみをローカライズできます)。

Xcode 4でアプリにローカライズを追加するにはどうすればよいですか?

66
jacob

理解すれば簡単です。

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リソースカテゴリに新しい「文字列ファイル」を追加する必要があります。

Strings File

次に、ファイルを「Localizable.strings」として作成します。 Create As

ファイルが作成されたら、それを選択して、ファイルインスペクターを開きます。

The Localizable FileFile Inspector

[〜#〜] edit [〜#〜]:新しいXcode 4.4、4.5(およびそれ以降)で状況が(少し)変更されました( iOS 6サポート)。 Xcode 4.4またはaboveを使用してNotである場合、これをスキップするステップ。

{Xcode4.4、4.5(以上)の方法:

「ローカライズする」ボタンをクリックします Make localized button

メインプロジェクトページに移動します。 Main Project page

[ローカライズ]の下の[+]ボタンをクリックし、サポートする言語を選択します。

(ドイツ語/ドイツ語を選択します)

List of languages

ローカライズするファイルを尋ねるウィンドウが表示されます。「Only」「Localizable.strings」ファイルが選択されていることを確認し、「完了」をクリックします。

Only the "Localizable.strings" file is selected

}

{Xcode4.3.5以下:

[ローカライズ]の下の[+]ボタンをクリックし、サポートする言語を選択します。

(ドイツ語/ドイツ語を選択します)

List of languages

}

「Localizable.strings」ファイルの下に2つのファイルがあることがわかります。

Localizable Files

次に、両方のローカライズファイル内にローカライズ文字列を追加します。

English

German

次に、コーディングの部分を説明します。

ここでは、単にUILabelを宣言し、そのテキストをローカライズ可能なファイル文字列に設定します。

宣言:

IBOutlet UILabel *testLabel;

ViewDidLoadの内部では、NSLocalizedStringを使用してテキストを設定します。

[testLabel setText:NSLocalizedString(@"TEST", nil)];

最後に、「Interface Builder」でtestLabelを接続します。

Connect IBOutlet

これで、プロジェクトを実行し、ローカライズされた文字列を確認できるはずです。また、言語を変更すると、ローカライズされた文字列も変更されるはずです。

English ResultChange the languageGerman Result

210

ローカライズするファイルを選択し、ユーティリティセクションでファイルインスペクターをクリックします。セクションローカリゼーションがあります

13
Pierre

ファイルを選択し、メインメニューの[表示]-> [ユーティリティ]-> [ファイルインスペクター]から[ファイルインスペクター]を開くと、ファイル情報を表示(およびローカライズを追加)できます。

8
pragmatic

まず、新しいLocalizable.stringファイルを追加して選択し、[表示]-> [ユーティリティ]-> [ファイルインスペクター]をクリックして、[ローカライズ]セクションに言語を追加します。それも確認してください XCode 4、ローカライズの追加

4
korat prashant

高度なユーザー定義ランタイム属性を使用できます。

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ローカライズする文字列

enter image description here

また、IBOutletを宣言する必要はなく、ViewDidLoad [testLabel setText:NSLocalizedString(@ "TEST"、nil)]にコードを記述する必要もありません。

1
rafaperez

xcode4のローカライズの方法が変更されました! localizable.stringsを右クリックし、別の言語のサポートを追加するには、右側の[ローカライズ]ペインの[+]をクリックします。

1
Kaibin

または、TraductoProを使用してこのプロセスを自動化し、時間を大幅に節約できます。 Xcodeとうまく統合できるMacアプリです。

0
VisualFrames

アプリ内で言語を動的に切り替え、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プロジェクトをダウンロードします。

0
Nick N