美文网首页修改iosApp的名称
iOS app国际化语言设置以及默认语言

iOS app国际化语言设置以及默认语言

作者: c608 | 来源:发表于2017-12-21 17:55 被阅读318次
1.新建项目,创建 B7F7E32A-B90F-4D92-8B79-7D2E8CB3E700.png

2.文件名字我是使用的系统的Localizable


C7E871E5-3CAF-4F87-9F8A-2D191FCEC32D.png
3.设置支持的语言版本 A678E8ED-04BF-4EAE-896C-A138F61C68ED.png

[图片上传中...(02181497-6E15-419F-A674-5D3A1A883934.png-986780-1513850483670-0)]

4.目前为止,就实现了跟随系统语言来切换app里边的内容
设置语言资源:分别在两个语言文件里边设置key:valuekey必须相同,然后value分别对应版本语言

屏幕快照 2017-12-21 下午6.03.07.png
屏幕快照 2017-12-21 下午6.03.00.png
使用方法:self.label.text = NSLocalizedString(@"xxx", nil);

5.进阶需求,童鞋们想实现进app之后,设置默认语言,如果是当前本地语言之外的语言,就设置语言为英文的话,请看下边思路!
首先didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中判断当前系统语言

 
        NSArray  *languages = [NSLocale preferredLanguages];
        //判断当前系统语言
        NSString *language = [languages objectAtIndex:0];
        if ([language hasPrefix:@"zh-Hans"]) {
            //我这里的需求是,如果不是中文,则APP语言都显示成英文,
            //先把它存在NSUserDefaults中
            [[NSUserDefaults standardUserDefaults] setObject:@"zh-Hans" forKey:@"appLanguage"];
        } else{
            //en.lproj 是英文资源包的文件名字
            [[NSUserDefaults standardUserDefaults] setObject:@"en" forKey:@"appLanguage"];
        }

可以看下资源包名字,就明白了


屏幕快照 2017-12-21 下午6.19.26.png

在pch中,写上这个

#define WWNSLocalizedString(Context)  [NSString stringWithFormat:@"%@", [[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"]] ofType:@"lproj"]] localizedStringForKey:(Context) value:nil table:nil]]

这行代码意思获取首页userdefault中设置的语言类型,然后根据类型去获取语言资源包,然后使用相应的资源
调用的时候就这么用就OK啦

self.label.text = WWNSLocalizedString(@"xxx");

效果图:中文简体语言下


屏幕快照 2017-12-21 下午6.28.00.png

非中文简体下


屏幕快照 2017-12-21 下午6.27.20.png

相关文章

  • iOS app国际化语言设置以及默认语言

    2.文件名字我是使用的系统的Localizable [图片上传中...(02181497-6E15-419F-A6...

  • iOS-图文讲解语言国际化

    前言:iOS的语言国际化是指根据用户手机系统的语言设置,自动将APP的语言设置为和用户手机系统语言一致的语言。通常...

  • iOS多语言配置

    iOS 多语言配置(国际化) iOS app包显示名称可以国际化,具体方法如下: 基础设置 在info.plist...

  • iOS App 名称国际化

    2020-07-15 整理 App 名称国际化 图片、文字国际化 强制默认显示某种语言 启动图国际化 iOS10 ...

  • 语言国际化设置

    App内的国际化设置1.添加语言 1.1选择语言 2.创建语言文件 2.1设置语言文件,选择需要国际化的 3.写入...

  • iOS 国际化设置默认语言

    tips:老项目用的是系统框架方法直接加载不同语言包的,突然要做默认中文和英文的语言切换 // 当然这里会有警告,...

  • iOS实现语言本地化

    APP语言本地化,即语言国际化。指的是根据用户操作系统的语言设置,自动将APP的语言设置为和操作系统一致的语言环境...

  • IOS高级工程师成长之路 -- 基础篇《APP国际化》

    App语言国际化,也叫语言本地化,根据用户使用的操作系统的语言设置,自动将App的语言设置成和用户使用的操作系统的...

  • iOS语言本地化/国际化(图文详解)

    3分钟实现iOS语言本地化/国际化(图文详解)前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自...

  • iOS10 权限设置国际化语言

    最近有人问我:“iOS中权限设置怎么做到国际化语言”。其实很简单,实现的方法跟App名称的国际化大同小异。下面就来...

网友评论

    本文标题:iOS app国际化语言设置以及默认语言

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