【问题标题】:How to Ask user to Choose Language between French and English?如何让用户在法语和英语之间选择语言?
【发布时间】:2014-11-02 20:09:36
【问题描述】:

我需要在应用程序运行时或在应用程序启动之前要求用户在法语和英语之间选择语言吗?

  1. 在运行时本地化是否仅在重新启动应用后适用?

  2. 我可以在 Main.m 中添加一些警报吗?

喜欢下面

UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Choose Language"
                                                  message:@"2 Options"
                                                 delegate:self
                                        cancelButtonTitle:@"Ok"
                                        otherButtonTitles:@"French", @"English", nil];
[message show];

在 clickedButtonAtIndex 方法中:

NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

if([title isEqualToString:@"French"])
{
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"fr",@"en",nil]
                                              forKey:@"AppleLanguages"];
}
else if([title isEqualToString:@"English"])
{
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en",@"fr",nil]
                                              forKey:@"AppleLanguages"];
}

【问题讨论】:

  • 为什么要询问用户而不是只使用他们喜欢的系统语言?
  • 您遇到了什么问题?您尝试过什么解决方法?这个问题目前似乎与应用设计有关,而不是具体问题。
  • @Robotic Cat 我有一个本地化法语和英语的应用程序......在登录到应用程序之前,需要确保他/她的应用程序首选语言。
  • @012346:OK 对我来说听起来不错——但这不是我问的。你有什么错误或错误?目前的问题似乎与应用程序设计有关。
  • @Robotic Cat 如果在 LoginViewController 中使用 Uisegmentedcontrol 进行操作,一些界面构建器仍将使用系统默认语言而不是指定语言

标签: ios ipad localization runtime main


【解决方案1】:

您不能在应用程序启动之前向用户显示警报。相反,在主屏幕/启动屏幕中,您可以使用切换控件在语言之间切换。

【讨论】:

  • 我用过这个......一些界面构建器不会在运行时改变语言......一旦我们杀死应用程序并重新打开它就会切换
  • 如果您只有两种语言作为选项,请加载默认语言并将开关切换到 ON 状态。如果您遇到界面构建器问题,请使用可本地化的字符串
  • 你的意思是使用基础国际化
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2022-01-22
  • 2011-09-14
  • 1970-01-01
相关资源
最近更新 更多