主页 iOS语言本地化/国际化一些技巧
Post
Cancel

iOS语言本地化/国际化一些技巧

代码获取国际化语言数组

获取当前app使用的语言

1
2
3
    NSArray *langArr1 = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"];
    NSString *language1 = langArr1.firstObject;
    NSLog(@"模拟器语言:%@",language1);

切换语言 en代表 英语, zh-Hans 简体中文, zh-Hant 繁体中文.

1
2
    NSArray *lans = @[@"en"];
    [[NSUserDefaults standardUserDefaults] setObject:lans forKey:@"AppleLanguages"];

修改scheme切换启动语言 –

图1

图2

-AppleLanguages (zh-Hans) 代表简体中文
-AppleLanguages (zh-Hant) 代表繁体中文
-AppleLanguages (en) 代表英文
其它小伙伴们自己总结一下也可以 注意 空格

国际化取不同图片代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //xxx 是国际化 图片的名字 例如xxx.png 
    //如果是 xxx.jpg 必须写把xxx 替换成xxx.jpg
    NSString *imageName = NSLocalizedString(@"xxx", nil); 
    self.imageView.image = [UIImage imageNamed:imageName];
}

@end

下面是我写的一个demo
主要完成 如下内容

  1. 工程名称配置plist 国际化
  2. 字符串国际化
  3. 自定义字符串国际化
  4. 图片国际化

参考 VV木公子

全文完

该博客文章由作者通过 CC BY 4.0 进行授权。