zoukankan      html  css  js  c++  java
  • 基于Xcode5的本地化

    一、程序名国际化
     
    1、首先添加应用对多语言支持的国际化文件
     
    点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.strings下会有两个文件,InfoPlist.strings(English)和InfoPlist.strings(Chinese(Simplified))。
     
    2、在相应语言的国际化文件中添加相应的语言内容:
     
    例如在英文国际化文件InfoPlist.strings(English)中添加:
    CFBundleDisplayName="app name";
    在中文国际化文件InfoPlist.strings(Chinese(Simplified))中添加:
    CFBundleDisplayName="应用名称";
     
    则应用的名称会根据系统当前的语言环境,按照相应的国际化文件中指定的CFBundleDisplayName来显示指定的名称
     

    二、内容国际化

     
    1、首先添加应用对多语言支持的国际化文件
    如果在程序名国际化中已经添加好,则此步骤可以省略
    点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以添加国际化文件,例如添加一个简体中文Chinese(Simplified),弹出对话框后点击确定,此时在Supporting Files文件组下的InfoPlist.String下会有两个文件,English和Simplified。
     
    2、添加多个语言的国际化文件
    New File… -->iOS-->Resource-->Strings File,例如添加文件:Localizable.strings(文件名必须是该名字,否则无法识别)
    然后点击文件,在右侧的文件属性列表栏中的,点击Localization按钮,在弹出的对话框中,选择对需要的对应的语言,多个语言的国际化文件与各自的语言关联了。
     
     
    3、添加国际化内容
    例如在Localizable.strings (English)中添加:
    "loading" = "Loading…";
     
    Localizable.strings (Chinese(Simplified))中添加:
    "loading" = "加载中…";
     
    注意不要漏掉;(分号)
     
    3、使用国际化
     
    //系统会根据当前设备的语言环境来判断使用英文还是中文
    NSString *loading = NSLocalizedString(@"loading",@"");
     
    获取系统支持的所有语言
    NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];  
    //取得iPhone支持的所有语言设置  
    NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];  
    NSLog ( @"%@" , languages); 
     
    获取当前使用语言
    NSArray *languages = [NSLocale preferredLanguages];  
    NSString *currentLanguage = [languages objectAtIndex:0];  
    NSLog ( @"%@" , currentLanguage); 
     
    用获取到的当前语言,和支持的语言做字符串对比,就可以知道是那种语言了。
    if([currentLanguage isEqualToString:@"en"])  
    {  
        NSLog(@"current Language:en");  
    }  
     
    referened from: http://blog.csdn.net/yuyunliu/article/details/13997589
  • 相关阅读:
    经典SQL例题
    truncate,delete,drop的异同点
    scp 在不同主机之间数据传输
    自定义标签库
    servlet 学习
    HTTP协议 学习
    Tomcat服务器的数字证书 HTTPS 连接!
    JSP开发 路径问题汇总
    java 文件上传 下载 总结
    myeclipse 出现换行符和空格符 解决方案 换行出现乱码
  • 原文地址:https://www.cnblogs.com/sunshine-anycall/p/3927623.html
Copyright © 2011-2022 走看看