① 如何在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));

② ios 国际化文本怎样把文本里面的文字全部导出

1、点击软件上方的“插入”选项卡。 2、下方的“插图”工具栏组,选择工具栏组中的“形状”按钮。 3、在弹出的下拉列表中找到“基本形状”栏,找到“文本框”工具,如果要插入“竖向的文本框”,找到边上的”垂直文本框”用鼠标左键单击该工具即可。 4、回到word编辑区,光标变成十字形,在空白处单击,按钮鼠标左键不放,拖动,释放鼠标,可以绘制出一个“文本框”。 5、通过调节形状周边的控制点,可以改变形状的大小。此时系统自动切换到形状格式选项卡,可以设置形状的线条颜色,粗细,样式,填充颜色等进行设置。 6、单击文本框,就会出现光标在里面,就可以编辑输入文字了。

③ iOS项目中的SDK怎么国际化

设置方法: 点击xcode工程左侧项目名称->点击右侧TARGETS下项目名称->右侧点击Building Settings,搜索内栏中输入:容 Base SDK 或iOS Deployment Target,设置即可

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

国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。

  1. 添加多语言:

    新建工程(国际化)——> 国际化——>project——>info——>Localizations——> "+"Chinese(Simplified)——> finish

  2. 创建InfoPlist.strings:修改工程名语言cmd+N(新建)——>Resource——> Strings File ——>Next——>命名为InfoPlist.strings ——> creates ——>Finish

  3. 添加属性:

    点击InfoPlist.strings——>右侧Locatize ——> Locatize——>取消Base,勾选English, Chinses(Simplified)

  4. 点击左侧InfoPlist.strings下三角添加属性:

    InfoPlist.string(English)里面输入:CFBundleDisplayName = "Localizable";

    InfoPlist.string(Chinese(Simplified))里面输入:CFBundleDisplayName ="国际化";

    此时:工程的名字改为国际化(中文下),对应的英文下变为:Localizable

  5. 同理创建Localizable.strings(步骤同3):修改标签显示语言,在Localizable.strings(Simplified)下写:"labelText" = "简体中文";在Localizable.strings(English)下写:"labelText"="Now is English";在VC中创建一个labelText(label的对象)