美文网首页
多语言开发

多语言开发

作者: 冷武橘 | 来源:发表于2020-04-19 21:26 被阅读0次

一、让你的项目支持多语言开发(项目配置)

  • 1、配置工程
    点击PROJECT,在Localizations中点击添加你所需要支持的语言


    2457121-94d3055d23915538.png
  • 2、新建String File


    2457121-b99d3bbf24c7b604.png
  • 3.本地化String
    选中 test.string文件,在文件的右侧点击Localize,然后选中你所需要支持的语言
    File


    2457121-ffbdc01c91ae2f78.png
    2457121-46c487b8d53b63ec.png

    完成以上三步,你的项目已经可以支持中文,英文,日文三种语言了,下面就是加载语言文件了,显示多语言
    二、加载test.string文件,实现多语言显示

  • 1、常用的方法和宏简单说明
//这是加载string文件的appi方法
a.- (NSString *)localizedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName

key:    string文件中定义的key

value:    如果string文件中,通过key取不到对应的value,就默认加载传进去的value

tableName:  文件名称

--------------------------------------------------------------------------------------
b./*这是苹果已经定义好的一个宏
#define NSLocalizedStringFromTable(key, tbl, comment) \
        [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:(tbl)]
*/
NSLocalizedStringFromTable(key, tbl, comment) 
--------------------------------------------------------------------------------------
c./*
这也是苹果已经定义好的一个宏
#define NSLocalizedString(key, comment) \
        [NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:nil]
说明:文件名为nil时,系统会默认从项目中加载Localizable.strings文件(当然你需要手动新建一个,并命名为Localizable)
*/
NSLocalizedString(key, comment)
  • 2、点击test.string展开,分别书写key不同语言下的value
/* 
  test.strings(Chininese)
*/

"cancell" =  "取消";

/* 
  test.strings(English)
*/
//key:       value
"cancell" =  "cancell";
2457121-a7138d05342efa30-2.png

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //1.加载多语言文件,本地化字符串
    NSString *title=[[NSBundle mainBundle] localizedStringForKey:@"cancell" value:@"cancell" table:@"test"];
    
    //2.显示文字
    UILabel *lable=[[UILabel alloc]init];
    lable.text=title;
    lable.frame=CGRectMake(100, 100, 100, 40);
    lable.backgroundColor=[UIColor redColor];
    [self.view addSubview:lable];

}
重新运行下,项目就会根据当前系统的语言加载对应的语言文字

以上只有重新运行或者杀死程序后才可以改变语言,并不能手动切换

应用内切换语言请参考:
http://www.jianshu.com/p/627da5a9992c

相关文章

网友评论

      本文标题:多语言开发

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