美文网首页
iOS 国际化 强制默认显示某种语言

iOS 国际化 强制默认显示某种语言

作者: 蓝白自由 | 来源:发表于2020-07-15 16:35 被阅读0次

场景需求 :
在系统语言选定为中文时,App 语言为 中文
其他情况下全部作 英文 显示

因此需要添加系统语言读取,经过判断后直接调用我需要的某种语言对应的值来显示。

// 在 Appdelegate.m 中添加系统语言检测与赋值
NSArray *languages = [NSLocale preferredLanguages];
NSString *language = [languages objectAtIndex:0];
if ([language hasPrefix:@"zh"]) { // 检测开头匹配, 是否为中文
[[NSUserDefaults standardUserDefaults] setObject:@"zh-Hans" forKey:@"appLanguage"]; // App语言设置为中文
} else { // 其他语言
[[NSUserDefaults standardUserDefaults] setObject:@"en" forKey:@"appLanguage"]; // App语言设置为英文
}

// 在需要的部分添加手动选取语言的宏, 并调用得到对应的值
// 宏
#define Localized(key)  [[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"appLanguage"]] ofType:@"lproj"]] localizedStringForKey:(key) value:nil table:@"Localizable"]

// 调用
self.label.text = Localized(@"mainText");

选定系统语言为中文,安装App并运行,之后修改系统语言为日文,使用 NSLocalizedString 国际化的文字显示为中文,使用自定义宏 Localized 国际化的文字显示为英文。

相关文章

  • iOS App 名称国际化

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

  • iOS 国际化 强制默认显示某种语言

    场景需求 :在系统语言选定为中文时,App 语言为 中文其他情况下全部作 英文 显示 因此需要添加系统语言读取,经...

  • APP国际化(Localization) (iOS开发)

    目录 App名称国际化 图片、文字国际化 强制默认显示某种语言 一、App名称国际化 按照图示的步骤操作就行1.添...

  • Localization 国际化

    iOS中什么是国际化? 根据系统不同的语言环境显示相应的语言内容。 iOS中如何为工程添加国际化功能 comman...

  • iOS多语言配置

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

  • IOS中的国际化(一)

    IOS中的国际化(一) IOS中,如果系统的语言或者地区变化了,我们怎样让App中显示的语言, 日期,数字,货币单...

  • IOS语言国际化

    IOS语言国际化 多国语言适配

  • iOS 国际化设置默认语言

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

  • iOS多语言国际化

    前言 iOS的国际化,即多语言的实现,主要有两种: 跟随系统语言的自动切换显示的语言 手动设置语言,由用户选择,可...

  • ios架构篇-2 国际化多语言

    关键字:ios,国际化,多语言 实现功能:1.默认采用系统语言2.语言切换后实时生效3.支持中英文,包含页面、ap...

网友评论

      本文标题:iOS 国际化 强制默认显示某种语言

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