首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义NSLocalizedString?

自定义NSLocalizedString是一种在iOS应用开发中实现多语言支持的方法。NSLocalizedString是一个常用的本地化字符串的宏,它可以在应用程序中轻松地实现多语言支持。但是,当应用程序需要支持的语言种类较多时,使用NSLocalizedString可能会导致代码变得冗长和难以维护。

在这种情况下,可以考虑自定义NSLocalizedString。自定义NSLocalizedString的方法是创建一个自定义的宏或函数,该宏或函数可以更简洁地处理多语言支持。这可以通过将多个NSLocalizedString宏组合在一起,或者通过创建一个自定义函数来实现。

以下是一个简单的自定义NSLocalizedString的示例:

代码语言:txt
复制
#define LocalizedString(key, comment) \
NSLocalizedStringFromTableInBundle(key, @"Localizable", [NSBundle mainBundle], comment)

这个自定义宏使用了NSLocalizedStringFromTableInBundle函数,该函数可以从指定的Bundle中获取本地化字符串。这样,我们就可以使用LocalizedString宏来代替NSLocalizedString,以更简洁的方式实现多语言支持。

总之,自定义NSLocalizedString是一种在iOS应用开发中实现多语言支持的有效方法。它可以提高代码的可读性和可维护性,并且可以更灵活地处理多语言支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS小技能:本地化(Internationalization & Localization)

数字代表参数的顺序 文章:https://blog.csdn.net/z929118967/article/details/108793150 【iOS APP 内的国际化切换】1、字符串的本地化、2、自定义解析本地化字符串的工具类...LanguageManager 2、应用内切换语言生效的技术实现:采用销毁根控制器,重新进入一次 3、本地化字符串指定参数顺序 划重点 1、字符串的本地化 2、自定义解析本地化字符串的工具类LanguageManager...componentsJoinedByString:@", "]], forHTTPHeaderField:@"Accept-Language"]; 2.3 APP 内的国际化切换 字符串的本地化 自定义解析本地化字符串的工具类...,以及每个使用 NSLocalizedString 的源文件,把键和注释追加到目标文件。...#define NSLocalizedString(key, comment) \ [NSBundle.mainBundle localizedStringForKey:(key) value

3.2K30

iOS APP 内的本地化切换【修订】

download.csdn.net/download/u011018979/19089505 文章:https://kunnan.blog.csdn.net/article/details/103733872 原理: 1、自定义解析本地化字符串的工具类...划重点 1、字符串的本地化 2、自定义解析本地化字符串的工具类LanguageManager 3、例子:登录界面切换中英文(内含demo) 应用内切换语言生效的技术实现: 1、销毁根控制器,重新进入一次...在这里插入图片描述 在代码中使用NSLocalizedString(key, comment)来读取本地化字符串,key是Localizable.strings文件中等号左边的字符串,comment纯粹是注释...#define NSLocalizedString(key, comment) \ [NSBundle.mainBundle localizedStringForKey:(key) value.../article/details/108793150 原理:在%和@中间加上数值(1,2$),数字代表参数的顺序 "FORMAT" = "I am %2$@ from '%1$@'"; II、 自定义解析本地化字符串的工具类

60820

iOS字符串的本地化(APP 内的本地化切换) 、nib本地化、图片本地化

III、字符串本地化 应用场景: iOS APP 内的国际化切换 (对话框中的文字)、 应用名称本地化 3.1 APP 内的本地化切换 【iOS APP 内的国际化切换】1、字符串的本地化、2、自定义解析本地化字符串的工具类...download.csdn.net/download/u011018979/19089505 文章:https://kunnan.blog.csdn.net/article/details/103733872 原理: 1、自定义解析本地化字符串的工具类...划重点 1、字符串的本地化 2、自定义解析本地化字符串的工具类LanguageManager、 3、例子:登录界面切换中英文(内含demo) 应用内切换语言生效的技术实现: 1、销毁根控制器,重新进入一次...-s substring substitute 'substring' for NSLocalizedString....(@"Tip", @"dialog title"); NSString *ok = NSLocalizedString(@"Ok", @"dialog button"); NSString

1.5K30

3分钟实现iOS语言本地化国际化(图文详解)

Snip20160619_15.png 我们只需要使用Foundation框架自带的NSLocalizedString(key, comment)这个宏根据Key获取对应的字符串,然后赋值给代码中的字符串...#define NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@""...也就是说,如果你的strings文件名字不是Localizable而是自定义的话,如VVS.strings,那么你就得使用NSLocalizedStringFromTable这个宏来读取本地化字符串。...// key:系统根据key取字符串 // tbl:自定义strings文件的名字 // comment:可以不传 NSLocalizedStringFromTable(, <#tbl...(四)图片本地化 本地化图片,有两种方式,第一种方式和本地化代码中的字符串一样,通过NSLocalizedString(key,comment)来获取相应的字符串,然后根据这个字符串再获取图片。

15.9K31

iOS小技能:APP内的本地化语言切换(案例:登录界面切换中英文)

Tip"="Tip"; zh-Hans.lproj/Localizable.strings "Connected" = "已连接"; "Tip"="提示"; 在这里插入图片描述 在代码中使用NSLocalizedString...(key, comment)来读取本地化字符串,key是Localizable.strings文件中等号左边的字符串,comment纯粹是注释 #define NSLocalizedString(key...NSString *)table { //假如为跟随系统 if (self.languageType==HZLanguageTypeSystem) { return NSLocalizedString...(@"cancel") cancleBlock:nil sureString:QCTLocal(@"sure") sureBlock:^{ 如果没有对字符串进行本地化 或者 找不到key对应的值,NSLocalizedString.../article/details/108793150 原理:在%和@中间加上数值 (1 ,2$),数字代表参数的顺序 "FORMAT" = "I am %2$@ from '%1$@'"; II 自定义解析本地化字符串的工具类

3K20

iOS CocoaPods 子模块实现多语言

NSLocalizedString(key, comment) 2. NSLocalizedStringFromTable(key, tbl, comment) 3....NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) NSLocalizedString(key, comment) 宏只有两个参数...项目中可以添加以下本地化文件: 1、App名称本地化(默认文件名为:InfoPlist.strings,且必须是这个名字) 2、代码中字符串本地化(默认文件名为:Localizable.strings,且必须是这个名字) 3、自定义代码中字符串本地化...(可以自定义文件名和位置) 因为这个多语言功能是在子模块的,所以只能使用第三种。...3.1 新建自定义本地化文件 首先需要command + N,选择iOS -> Resource -> Strings File,文件名(可自定义)为:Contact.strings 文件创建成功,查看

2.4K10

iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboardxib本地化纯代码本地化语言切换后记

localized作为计算属性输出到目标文件 echo -e "import Foundation\n\nextension String {\n var localized: String { return NSLocalizedString...(如果不想搞乱Base,新建一个即可) 关于storyboard/xib切换语言 替换Bundle即可 自定义一个Bundle,重写localizedString方法,每次都从Userdefault中获取当前选择语言...,再使用方法替换将Bundle.main替换成自定义的Bundle enum Language : String { case english = "en" case chinese =...} } 其中为Userdefault自定义了下标 public subscript(key: String) -> Any?...import Foundation\n\nextension String {\n var localized: String { Bundle.main.onLanguage() \n return NSLocalizedString

2.4K31
领券