1

私のアプリには、英語、フランス語、ドイツ語をサポートする localizable.strings ファイルがあり、ボタンをタップするとポップアップする警告ビューがあります。この警告ビューの言語を、デバイスが設定されている言語と一致させるにはどうすればよいですか? どんな助けでも大歓迎です。

4

3 に答える 3

14

アプリ内の他のローカライズされた文字列と同様に、UIAlertViewメッセージ、タイトル、ボタンのタイトルを Localizable.strings ファイルでローカライズします。

次の例を参照してください。

UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Connection Error", nil) message:NSLocalizedString(@"Couldn't connect to the internet. Please check your network connection", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Ok", nil) otherButtonTitles:nil, nil];
于 2013-01-14T06:03:40.233 に答える
0

デバイスのロケール設定で言語を確認してください。

NSString *localeLang = [[NSLocale preferredLanguages] objectAtIndex:0];

これにより、その言語のコードが返されます...次のGoogle検索で、どのコードがどの言語に使用されているかのリストを見つけることができます:

http://www.google.com/search?client=safari&rls=en&q=ISO+639-1+codes&ie=UTF-8&oe=UTF-8

いくつかの言語は複数のコードを持つ可能性があることに注意してください。私は確認したことがないのでわかりません。

于 2013-01-14T06:04:04.917 に答える
0

Swift 2.0 については、次の例を参照してください。

let alert = UIAlertController(
        title: (NSLocalizedString("alert_Title" , comment: "Alert title.") as String),
        message: "Your message here",
        preferredStyle: .Alert)

    alert.addAction(UIAlertAction(
        title: (NSLocalizedString("alert_RateButton" , comment: "Alert button to rate in App Store.") as String),
        style: .Default,
        handler: { action in UIApplication.sharedApplication().openURL(NSURL(
            string: "https://itunes.apple.com/your_app_at_app_store")!)
            print("Going to App at AppStore")
    }))

    // DISMISS
    alert.addAction(UIAlertAction(
        title: (NSLocalizedString("alert_BackButton" , comment: "Alert back button.") as String),
        style: .Default,
        handler: nil))
    presentViewController(
        alert,
        animated: true,
        completion: nil)
}

楽しみ。

于 2016-01-18T01:35:13.727 に答える