0

localizable.strings ファイルを使用してテスト アプリをセットアップしました。プロジェクト設定で、English-United Kingdom、french、および french-france を追加します

「フランス語」の文字列ファイルはアプリで機能します。言語「フランス」を選択すると、ローカライズされたバージョンが表示されます

ただし、言語を英語に設定し、地域形式を「英国」に設定すると、en-GB 文字列ファイルからの文字列が表示されることを期待しています。英語版を見ています。ここで明らかに何かが欠けています。「フランス語 - フランス」を使用する場合も同様です。fr-FR バージョンの文字列ファイルを使用することを期待しています。

フランス語-フランス、フランス語-スイスなどがあります。これらを実装するにはどうすればよいですか?

助けてくれてありがとう。

4

1 に答える 1

0

文字列を取得するローカリゼーション ディレクトリを明示的に設定することで解決した問題がありました (問題のリンクと以下のテキスト)。

iOS Localizable.strings が BASE ファイルから取得されない

NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"];
if (path == nil)
{
    path = [[NSBundle mainBundle] pathForResource:@"Base" ofType:@"lproj"];
}

NSLocalizedStringFromTableInBundle(@"TAB_TITLE_Camera", @"Localizable", [NSBundle bundleWithPath:path], @"");

文字列を取得したい特定のローカライズ ディレクトリがある場合は、

pathForResource:

en-GBfr-FR、または必要なその他のディレクトリ名を使用します。

適切なローカリゼーション ディレクトリを選択することを想定している、または少なくとも選択する必要があると思いますが、それを実行していないように見えるため、このソリューションを思いつきました。

于 2014-09-19T06:49:50.573 に答える