ios 未配置国际化可以上线其他地区么

  1. 建立一个空模板应用

  2. 2.建立一个ViewController并带上Xib

  3. 3.Xib上放一个Label

4.添加一个简体中文语言包回

5.选中Xib,点击Localize这个按答钮

圈中English 和Chinese

然后看到这里,改动这里面的文字即可(确保界面完成之后再进行国际化)

⑵ 如何在iOS开发中切换显示语言实现国际化

1.在Project设置,添加中英两种语言:



3.添加一个字段,



在English中,添加:SUBMIT_BTN_TITLE = Go;


在Chinese中,添加:SUBMIT_BTN_TITLE = 开始;


4.一个工具类GDLocalizableController,用来切换本地语言:

//

// GDLocalizableController.h

// guide-book

//

// Created by why on 7/16/14.

// Copyright (c) 2014 why. All rights reserved.

//


#import


@interface GDLocalizableController : NSObject


+(NSBundle *)bundle;//获取当前资源文件


+(void)initUserLanguage;//初始化语言文件


+(NSString *)userLanguage;//获取应用当前语言


+(void)setUserlanguage:(NSString *)language;//设置当前语言


@end


//

// GDLocalizableController.m

// guide-book

//

// Created by why on 7/16/14.

// Copyright (c) 2014 why. All rights reserved.

//


#import GDLocalizableController.h


@implementation GDLocalizableController


static NSBundle *bundle = nil;


+ ( NSBundle * )bundle{

return bundle;

}

+(void)initUserLanguage{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

NSString *string = [def valueForKey:@userLanguage];

if(string.length == 0){

//获取系统当前语言版本

NSArray* languages = [def objectForKey:@AppleLanguages];

NSString *current = [languages objectAtIndex:0];

string = current;

[def setValue:current forKey:@userLanguage];

[def synchronize];//持久化,不加的话不会保存

}

//获取文件路径

NSString *path = [[NSBundle mainBundle] pathForResource:string ofType:@lproj];

bundle = [NSBundle bundleWithPath:path];//生成bundle

}


+(NSString *)userLanguage{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

NSString *language = [def valueForKey:@userLanguage];

return language;

}


+(void)setUserlanguage:(NSString *)language{

NSUserDefaults *def = [NSUserDefaults standardUserDefaults];

//1.第一步改变bundle的值

NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@lproj ];

bundle = [NSBundle bundleWithPath:path];

//2.持久化

[def setValue:language forKey:@userLanguage];

[def synchronize];

}


@end


5. 自定义一个宏方便处理:





// ----- 多语言设置

#define CHINESE @zh-Hans

#define ENGLISH @en

#define GDLocalizedString(key) [[GDLocalizableController bundle] localizedStringForKey:(key) value:@ table:nil]


6.使用:



[GDLocalizableController setUserlanguage:CHINESE];

NSLog(GDLocalizedString(@SUBMIT_BTN_TITLE));

[GDLocalizableController setUserlanguage:ENGLISH];

NSLog(GDLocalizedString(@SUBMIT_BTN_TITLE));