iOS指定加载任意语言

简介: iOS指定加载任意语言

项目中提了个需求,做国际化。但是并不是常规的随着手机系统语言的国际化。要加载特定语言,无视手机系统语言。查阅了网上众多资料,有炫技用runtime的,殊不知,滥用runtime是会挖大坑的.果断放弃,后经多次尝试得出下面答案,仅供给大家参考

配置信息

xcode版本:Version 10.2.1 (10E1001)

macos版本:10.14.6 Beta (18G59b)


image.png

static inline NSString *localString(NSString *string) {
    NSString *stringsBundlePath = [[NSBundle bundleForClass:NSClassFromString(@"IOTUtil")]
                                   pathForResource:@"language"
                                   ofType:@"bundle"];
    NSBundle *bundle = [NSBundle bundleWithPath:stringsBundlePath] ?: [NSBundle mainBundle];
    //languageIOTKey
    NSInteger lanuageValue = [[NSUserDefaults standardUserDefaults] integerForKey:@"languageIOTKey"];
    NSString *pathForResourceStr = @"zh-HK";
    switch (lanuageValue) {
            case 0:
              pathForResourceStr = @"zh-HK";
            break;
            case 1:
             pathForResourceStr = @"zh-Hans";
            break;
            case 2:
             pathForResourceStr = @"en";
            break;
        default:
            break;
    }
    //zh-Hans en zh-HK
    NSString * path = [bundle pathForResource:pathForResourceStr ofType:@"lproj"];
    NSBundle * languageBundle = [NSBundle bundleWithPath:path];
   return [languageBundle localizedStringForKey:string value:@"" table:nil];
}
方法调用
self.infoLabel.text = localString(@"bluetooth_no_authorization_string");
文件结构

image.png


这个关键都 贴出来了,故此就不上demo了,希望可以帮助大大家

相关文章
|
自然语言处理 iOS开发
iOS 国际化(多语言)如何指定默认语言
iOS 国际化(多语言)如何指定默认语言
337 0
|
1月前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
48 9
|
1月前
|
安全 API Swift
探索iOS开发中的Swift语言之美
【10月更文挑战第23天】在数字时代的浪潮中,iOS开发如同一艘航船,而Swift语言则是推动这艘船前进的风帆。本文将带你领略Swift的独特魅力,从语法到设计哲学,再到实际应用案例,我们将一步步深入这个现代编程语言的世界。你将发现,Swift不仅仅是一种编程语言,它是苹果生态系统中的一个创新工具,它让iOS开发变得更加高效、安全和有趣。让我们一起启航,探索Swift的奥秘,感受编程的乐趣。
|
2月前
|
安全 Swift iOS开发
探索iOS开发中的Swift语言之美
在数字时代的浪潮中,移动应用已成为日常生活的延伸。本文将深入探讨iOS平台上的Swift编程语言,揭示其背后的设计哲学、语法特性以及如何利用Swift进行高效开发。我们将通过实际代码示例,展示Swift语言的强大功能和优雅简洁的编程风格,引导读者理解并运用Swift解决实际问题。
|
3月前
|
安全 Swift iOS开发
探索iOS开发之旅:Swift语言的魅力与挑战
【9月更文挑战第21天】在这篇文章中,我们将一起潜入iOS开发的海洋,探索Swift这门现代编程语言的独特之处。从简洁的语法到强大的功能,Swift旨在让开发者能够以更高效、更安全的方式构建应用程序。通过实际代码示例,我们会深入了解Swift如何简化复杂任务,并讨论它面临的挑战和未来的发展方向。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和知识。
49 4
|
4月前
|
iOS开发
解决IOS上架App Store后显示语言为英文的问题
解决IOS上架App Store后显示语言为英文的问题
101 0
|
5月前
|
安全 编译器 Swift
探索iOS开发:Swift语言的现代魔法
【7月更文挑战第11天】本文深入探讨了Swift编程语言,它如何革新iOS开发领域,以及它为开发者带来的独特优势。我们将从Swift的基础语法出发,通过实际案例分析其性能优化技巧,最后讨论Swift在跨平台开发中的潜力。文章旨在为读者提供一个全面而深入的视角,了解Swift不仅仅是一门语言,更是一种推动创新的力量。
|
7月前
|
定位技术 API 开发工具
iOS语言本地化/国际化宝典
iOS语言本地化/国际化宝典
316 0
iOS语言本地化/国际化宝典
|
iOS开发
iOS 获取设备-语言,版本,国家
iOS 获取设备-语言,版本,国家
151 0
|
Swift iOS开发
IOS使用Swift加载Xib文件
IOS使用Swift加载Xib文件
331 0