美文网首页
iOS APP-如何像微信在程序内部设置语言版本

iOS APP-如何像微信在程序内部设置语言版本

作者: 此用户已注销23333 | 来源:发表于2015-07-07 15:24 被阅读3082次

    最近公司的产品支持了国际化。虽然只支持了English,Specified Chinese但后续添加其他版本就属于体力活了。

    iOS多语言,苹果也是一贯的给了规范和尽可能自动化的方式。参看:苹果官方文档

    发版以后,收到用户反馈,说有的用户自己用的是英文iOS,但是想看到我们中文版本(大概因为有的功能在英文版阉割掉的缘故),在憋住没有x用户装x后,还是乖乖去看微信的做法,他们也是外语版本阉割了功能,但是提供了程序内置语言切换,既应用程序的语言显示不再直接依赖当前操作系统语言设置。

    翻看了stackoverflow一些唇枪舌战。找到了这个靠谱的答案,根据Gilad的回答。用xib或者storyboard的人,注意不光要改变AppleLanguages还要重新初始化你的界面控件

    eg:

    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"zh-Hans",@"en",@"zh-Hant",nil] forKey:@"AppleLanguages"];

    [NSBundle setLanguage:@"zh-Hans"];//这个要用到Gilad封装的NSBundle类别

    [[NSUserDefaults standardUserDefaults] synchronize];

    ZKAppDelegate*appDelegate = (ZKAppDelegate*)[UIApplicationsharedApplication].delegate;

    UIStoryboard*storyboard = appDelegate.window.rootViewController.storyboard;

    UIViewController*rootViewController = [storyboardinstantiateViewControllerWithIdentifier:@"ZKLaunchViewControllerIdentifier"];

    appDelegate.window.rootViewController= rootViewController;

    [appDelegate.windowmakeKeyAndVisible];

    相关文章

      网友评论

          本文标题:iOS APP-如何像微信在程序内部设置语言版本

          本文链接:https://www.haomeiwen.com/subject/duiyqttx.html