iOS,本地化字符

iOS字符本地化

1.本地化资源库

1.1.新建Bundle作为本地化资源库

1.2.将本地化资源库改成如下

1.3.配置各个语言的本地字符(Localizable.strings)资源

//英语

"Group" = "Group";

"Name" = "Name";

//简体中文

"Group" = "群组";

"Name" = "一线天";

//繁体中文

"Group" = "群組";

"Name" = "壹線天";

2.处理本地转换扩展

2.1.新建Bundle扩展类

2.2.实现NSBundle扩展方法

//

//  NSBundle+LocalizationString.h

//  LocalizationStringTest

//

//  Created by Vie on 2017/1/20.

//  Copyright ? 2017年 Vie. All rights reserved.

//

#import <Foundation/Foundation.h>

@interface NSBundle (LocalizationString)

/**

根据系统语言返回本地化字符

@param key 字符key

@return 本地化字符

*/

+(NSString *)localizationStringForKey:(NSString *)key;

@end

//

//  NSBundle+LocalizationString.m

//  LocalizationStringTest

//

//  Created by Vie on 2017/1/20.

//  Copyright ? 2017年 Vie. All rights reserved.

//

#import "NSBundle+LocalizationString.h"

@implementation NSBundle (LocalizationString)

/**

根据系统语言返回本地化字符

@param key 字符key

@return 本地化字符

*/

+(NSString *)localizationStringForKey:(NSString *)key{

static NSBundle const *bundle=nil;

if (bundle==nil) {

// (iOS获取的语言字符串比较不稳定)目前框架只处理en、zh-Hans、zh-Hant三种情况,其他按照系统默认处理

NSString *language = [NSLocale preferredLanguages].firstObject;

if ([language hasPrefix:@"en"]) {

language = @"en";

} else if ([language hasPrefix:@"zh"]) {

if ([language rangeOfString:@"Hans"].location != NSNotFound) {

language = @"zh-Hans"; // 简体中文

} else { // zh-Hant\zh-HK\zh-TW

language = @"zh-Hant"; // 繁體中文

}

} else {

language = @"zh-Hans";

}

//初始化资源

bundle=[NSBundle bundleWithPath:[[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"LocalizationString" ofType:@"bundle"]] pathForResource:language ofType:@"lproj"]];

}

return [bundle localizedStringForKey:key value:nil table:nil];

}

@end

3.本地化字符key

3.1.本地化字符key实现

//

//  LocalizationKey.h

//  LocalizationStringTest

//  本地话字符key列表

//  Created by Vie on 2017/1/20.

//  Copyright ? 2017年 Vie. All rights reserved.

//

#define Group   @"Group"

#define Name    @"Name"

4.使用

#import "NSBundle+LocalizationString.h"

#import "LocalizationKey.h"

NSLog(@"%@|%@",[NSBundle localizationStringForKey:Group],[NSBundle localizationStringForKey:Name]);

时间: 2025-01-20 05:47:00

iOS,本地化字符的相关文章

IOS本地化应用程序

BK项目已经完成得七七八八了,在项目的后期需要将其翻译成多国语言版本,以适应全球多个国家多个店面的使用. 应用本地化是分别对字符串.图片和 xib 或 storyboard 文件本地化,而传统的做法是对 xib 上的字符串(包括UILabel和UIButton.UITextField等)关联一个变量,通过NSLocalizedString这个函数去查找 Localizeable .strings 文件中的key值进行本地化操作,或者是生成同一个xib文件的不同语言版本,如 MainVC.xib(

IOS本地化应用

BK项目已完成7788,在项目的后期需要被翻译成多国语言版.为了适应全球多个国家使用多个存储. 应用本地化是分别对字符串.图片和 xib 或 storyboard 文件本地化,而传统的做法是对 xib 上的字符串(包含UILabel和UIButton.UITextField等)关联一个变量,通过NSLocalizedString这个函数去查找 Localizeable .strings 文件里的key值进行本地化操作,或者是生成同一个xib文件的不同语言版本号.如 MainVC.xib(Germ

iOS本地化

本地化与相机中显示英文 一.当你发现相机中显示英文,可以通过它设置 添加一项“Localized resources can be mixed”,值设置为“yes”即可!在InfoPlist文件中 NSLocalizedString(key, comment),在代码中使用NSLocalizedString(key, comment)来读取本地化字符串,key是Localizable.strings文件中等号左边的字符串,comment纯粹是注释 如:NSString *tip = NSLoca

iOS 本地化

iOS 可以对界面,图片,string 等进行本地化. 设置可以到 1. PRJECT -> INFO -> Localizations 添加语言. 2. TARGETS -> INFO 里面添加 Localizations 项,并添加语言. 3. 到 string 文件里,信息那里点 Localize 进行本地化设置. 4. 如果用模拟器测试,在模拟器界面下调整语言是无效的.需要到 Xcode 的顶端工具栏,停止模拟器按钮旁边的 Target 图标那里点一下,然后选 Edit Sche

ios本地化支持

ios应用本地化 第一步:首先,在xcode左侧选中当前工程, 第二步:接下来注意,以为默认的悬着是Targets,而我们在这里需要的是Project, 第三部:点击进入project下的我们的工程名.选中info 第四部:有选项Localizations,点击下面的加号,选择我们需要提供支持的语言. 第五部:这一步走有两种方法可以实现a:有storyboar的本地化,b:无storyboard的本地化.进过了解我们的项目使用b方案,比较靠谱 第六步:选族需要进行本地化的文件,在xcode右栏选

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

废话不说,直接上代码 #pragma mark - 中文字符判断 - (BOOL)validateContainsChinese:(NSString *)content { NSRegularExpression *regularexpression = [[NSRegularExpression alloc] initWithPattern:@"^[\u4e00-\u9fa5]" options:NSRegularExpressionCaseInsensitive error:nil

SQLite3及iOS本地化存储

(一)SQLite3: (1)定义:是一款轻量级的,嵌入式的数据库.是一个进程内的库,本质就是一个文件,不需要依赖外部,不需要服务器,不需要安装或者管理,就是一个单一的磁盘文件.而服务端的数据库往往都很大,例如Orcal,MySql,SQL Server,这些需要独立的服务器,安装配置并且需要大量人员的维护. (2)数据类型:五个数据类型,integer整数,real小数,text字符串,blob二进制数据(把一段图片,音频,视频塞进去,一般不塞,数据库是查询检索的,而不是保存的,没法检索,一般

iOS本地化程序的一些坑

XLIFF(storyboard.xib)本地化导出Xcode-Editor-ExportLocalization...自定义xib内容无法导出: Debug联调时,尽管修改了设备语言环境,还是一直是英文(en),需要修改Target,编辑EditScheme-Run-Options ApplicationLanguage修改为SystemLanguage

ios本地化多语言支持

1.在Supporting Files文件夹右键,NewFile… -> iOS -> Resources -> String Files,命名为Localizable.strings 2.选中Localizable.strings 点击 XCode-> View-> Utilities -> File Inspector,在Localization中点+添加语言比如中文英文 1 2 3 4 5 6 7 8 9 "title"="当前系统语