美文网首页
iOS应用文字国际化

iOS应用文字国际化

作者: fulen | 来源:发表于2017-07-21 16:01 被阅读15次

    1 新建文件InternationalDemo

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

    图1.1

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

    图1.2

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

    图1.3

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

    图1.4

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

    图1.5

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

    图1.6

    2 内容国际化 如图2.1

    中文状态下的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按钮

    相关文章

      网友评论

          本文标题:iOS应用文字国际化

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