iOS应用文字国际化

1 新建文件InternationalDemo

1.1 添加需要国际化的国家文字如图1.1

iOS应用文字国际化_第1张图片
图1.1

1.2 新建string 如图1.2 (注意如果需要应用名称国际化,必须新建成InfoPlist.string)

iOS应用文字国际化_第2张图片
图1.2

1.3 添加刚才添加的国际化文件名称如图1.3

iOS应用文字国际化_第3张图片
图1.3

1.4 在中文国际化文件下面添加应用名称国际化的app名,如图1.4

iOS应用文字国际化_第4张图片
图1.4

1.5 对用的英文国际化文件下添加英文名称,如图1.5

iOS应用文字国际化_第5张图片
图1.5

1.6 中文状态下的app名称为如图1.6

iOS应用文字国际化_第6张图片
图1.6

2 内容国际化 如图2.1

iOS应用文字国际化_第7张图片
中文状态下的label
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 30)];
    label.backgroundColor = [UIColor grayColor];
    label.text = NSLocalizedStringFromTable(@"test", @"InfoPlist", nil);
    [self.view addSubview:label];
    
}

这里我们可以将NSLocalizedStringFromTable(@"test", @"InfoPlist", nil);方法提出来以方便以后调用,可以配置在pch文件下

// ------------------ 其他全局配置的参数 ------------------------------/
#define KLocalized  @"Localizable" // 国际化文件
#define KNSLocalizedString(key,comment)  NSLocalizedStringFromTable(key, KLocalized,comment)

// 调用  titleKey 为自定义字符串
[button setTitle:KNSLocalizedString(titleKey, nil) forState:UIControlStateNormal];

下面为for循环同时创建多个button时国际化文件下的文件

"wechat" = "微信好友";
"wechatmoment" = "微信朋友圈";
"qq" = "QQ";
"qzone" = "QQ空间";
"sina" = "新浪微博";
"douban" = "豆瓣";
"line" = "短信";
"email" = "邮件";

下面为for循环同时创建多个button时国际化文件下的文件

"wechat" = "wechat";
"wechatmoment" = "moment";
"qq" = "QQ";
"qzone" = "qzone";
"sina" = "sina";
"douban" = "Douban";
"line" = "message";
"email" = "email";

在viewController里面设置button按钮

你可能感兴趣的