iOS dev程序员iOS Developer

华山论剑之iOS从本地走向世界(国际化文件的设置)

2016-05-21  本文已影响186人  神经骚栋
走向世界的骚栋

问题缘由:这两天我一直在使用系统的SeachBar作为自己的项目的搜索框,问题是当SeachBar在活跃状态的时候出现的取消按钮是英文的,不管我怎么改模拟器的系统设置都不能修改文字设置,那么我想到的第一个方法就是重新定义取消按钮,后来发现这个方法非常的麻烦,所以,脑洞大开的我有想到了另外的一个方法那就是使用国际化文件配置.


国际化文件的配置我们可以理解为当我们的手机设置的语言不同,那么App所对应的语言也会发生改变.这里我们首先介绍一个配置较为简单的方法,那就是笼统的配置一下国际化文件,不对其具体的单词或者词语进行配置.

第一步, 如下图,首先我们先找到配置的位置

第二步,我们点击加号,添加对应的我们所需要的语言.这里我就选择简体中文了,然后出现对话框选择要更改的,我们全选,然后点击"完成"就完成国际化文件的基本配置了.


上一个方法,是比较基础的陪着国际化文件,如果我们只想对其中的几个单词或者文字进行国际化配置,该如何设置呢?

第一步, 和上一个方法一样,我们先进行上一个方法的步骤,然后我们就如下添加国际化文件,对一些特别的单词进行区分.注意的问题就是创建出来的文件名称必须是Localizable.strings.

创建国际化语言文件

第二步,如图选中Localizable.strings文件,在Utilites中,点击Localizable选项

第三步,创建后,你的Localizable.strings文件下将挂在英文的语言支持文件。

第四步,
在Localizable.strings(Chinese(Simplified))中,加入如下代码:

"hello"="嗨 !!!!";

在Localizable.strings(English)中,加入如下代码:

"hello"="Hi !!!!";

第五步,这样我们基本就大功告成了,现在我们就要调用一下NSLocalizedString这个宏就可以了,我在这里就使用ViewController做了一下简单的演示.代码如下(可视化做的,😂),然后我们通过设置手机或者模拟器中的语言,就可以改变我们工程项目中的所对应文字表现形式了.


#import "ViewController.h"

@interface ViewController ()

@property (strong, nonatomic) IBOutlet UILabel *firstLabel;//lable


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.firstLabel.text = NSLocalizedString(@"hello", @"");
    
}

@end

总结:项目做国际化的改变,从上面来看还是很简单的,只要注意一下国际化文件的名称就可以,好了,今天就说到这,希望这一篇博客能对大家有所帮助.
上一篇下一篇

猜你喜欢

热点阅读