ios多种语言的本地化思路

基本上语言在应用程序中貌似生一定量种做法: 一、程序中提供给用户自己挑的机遇;
二、依照当前用户眼前运动装备的语言自动将我们的app切换对应语言。

ios多种语言的本地化思路

   ios程序实现多种语言的本地化办法,目前如若对一款游戏进行多语言本地化,在网上找了有方案,加上自己的一点点想法整理出一致套方案与豪门大快朵颐!

  多语言在应用程序中貌似有零星栽做法:

  一、程序中提供给用户自己选的会;

  二、依照当下用户眼前活动设备的言语自动将大家的app切换对应语言。

  第一种植做法相比较简单完全靠自己之抒发了,那里要讲第二栽做法,重要细分一下几接触:

  1.本地化应用程序名称

  2.本土化字符串

  3.本地化图片

  4.本地化其他文件

  1.本地化应用程序名称

  (1)点击“new
file”然后于弹来窗口左边采用IOS的resource项,在右就可以看到“String
File”的图标。成立是文件,命名为“InfoPlist”(一定是以此文件称)
就杀成一个InfoPlist.strings文件;

  (2)选中InfoPlist.strings 点击 XCode-> View-> Utilities ->
File Inspector,在Localization中点“+”,添加chinese
(zh-Hans)类型的吗简体闽南语,english
应该会活动添加上。然后于InfoPlish.strings
右侧会多起一个三角形,点击展开后雅观来InfoPlish.strings(english)和InfoPlish.strings(chinese)两独本子的文本;

  (3)在InfoPlish.strings(english)文件中进入:

   代码如下:

  CFBundleDisplayName =”Program”;

  其中“Program”为英文应用程序名称,同理在InfoPlish.strings(chinese)文件被插手:

  代码如下:

  CFBundleDisplayName =”应用程序”;

  其中“应用程序”为普通话名称,注意:CFBundleDisplayName加不加双引号都执行

  (4)编辑Info.plist,添加一个新的特性Application has localized display
name, 设置其品种也boolean,并以该value设置为YES即可

  2.当地化字符串

  (1)类似“本地化应用程序名称”第一步,点击“new
file”然后于弹有窗口左边采取IOS的resource项,在左边就可以看到“String
File”的图标。创造是文件,命名为“Localizable”(一定是者文件名否则前边调用会有局部分)就老成一个Localizable.strings文件;

  (2)类似“本地化应用程序名称”第二伯步,在Localizable.strings(english)文件中参加:

  ”welcome”=”Click on the screen to continue…”;

  同理在Localizable.strings(chinese)文件中投入:

  ”welcome”=”点击屏幕继续…”;

  (3)在代码中以NSLocalizedString(<#key#>,
<#comment#>)来读取本地化字符串,代码如下:

  代码如下:

  CCLabelTTF *label = [CCLabelTTF
labelWithString:NSLocalizedString(@”welcome”, nil) fontName:@”Marker
Felt” fontSize:18];

  CGSize size = [[CCDirector sharedDirector] winSize];

  label.position = ccp( size.width /2 , size.height/2+30 );

  [self addChild: label];

  注意:倘若您的strings文件名字不是Localizable而是自定义的话,如wang.strings,那么您即便得使NSLocalizedStringFromTable()来读取本地化字符串:

  代码如下:

  NSLocalizedStringFromTable(@”welcome”,@”wang”, nil)

  3.本地化图片

  这里还要分开点儿种方法,第一种及地点化字符串方法类似,把丁英文图片的名字分别存到吃英文对应之strings文件,然后经过NSLocalizedString)来收获图片名称,如:

  Localizable.strings(english)文件被在:

   代码如下:

  ”BtnCancel”=”BtnCancelEn.png”;

  Localizable.strings(chinese)文件被进入:

  代码如下:

  ”BtnCancel”=”BtnCancelCn.png”;

  然后当代码中行使NSLocalizedString)来博取图片名称:

  代码如下:

  CCSprite *btnCancel = [CCSprite
spriteWithSpriteFrameName:NSLocalizedString(@”BtnCancel”, nil)];

  btnCancel.position=ccp(s.width/2,s.height/2-40);

  [self addChild:btnCancel z:2 tag:104];

  第二种就相比专业了:点中而若本地化的图,如“icon.png”,然后XCode->
View-> Utilities -> File
Inspector,在Localization中点“+”添加chinese
(zh-Hans);在图纸左侧就碰面面世一个倒三角,点开就会晤面世(english)和(chinese)的2摆放图,并且以品种文件夹着会师现出en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的凡英文版图片,zh-Hans.lproj存放的凡中文版图片,中英文图片名字如出一辙,咱们以文书夹着直接交换图片就可了,最终动用时平昔以正规名字就执行了,如:“icon.png”。

  4.本地化其他文件

  本地化其他文件和本地化图片第两种植办法类似,先在Localization中补充加语言,然后拿对承诺版本拷贝到en.lproj和zh-Hans.lproj文件夹着,最终引用就推行了。

  以上所述就是本文的全体内容了,希望我们能欣赏。

http://www.bkjia.com/IOSjc/1007566.htmlwww.bkjia.comtruehttp://www.bkjia.com/IOSjc/1007566.htmlTechArticleios多种语言的本地化思路
ios程序实现多种语言的本地化办法,目前而对准一款游戏举办多语言本地化,在网上查找了一些方案,加上自己之一点…

先是种植做法比较简单完全依靠自己的抒发了,这里要谈第两种做法,首要分一下几乎碰:

1.本地化应用程序名称 2.当地化字符串 3.本地化图片 4.本地化其他文件

1.本地化应用程序名称

(1)点击“new
file”然后于弹有窗口左边选拔IOS的resource项,在右边就能够看到“String
File”的图标。创制是文件,命名吧“InfoPlist”(一定是这文件称)
就非常成一个InfoPlist.strings文件;

(2)选中InfoPlist.strings 点击 XCode-;> View-;> Utilities -;>
File Inspector,在Localization中点“+”,添加chinese
(zh-Hans)类型的呢简体中文,english
应该会自动添加上。然后于InfoPlish.strings
左边会多来一个三角,点击展开后得以视InfoPlish.strings(english)和InfoPlish.strings(chinese)两单版本的文书;

(3)在InfoPlish.strings(english)文件被入:

CFBundleDisplayName ="Program";   

                                其中“Program”为英文应用程序名称,同理在InfoPlish.strings(chinese)文件中加入:

CFBundleDisplayName ="应用程序";  

                                 其中“应用程序”为中文名称,注意:CFBundleDisplayName加不加双引号都行

(4)编辑Info.plist,添加一个初的习性Application has localized display
name, 设置其体系为boolean,并将这些value设置也YES即可

2.;本地化字符串

(1)类似“本地化应用程序名称”第一步,点击“new
file”然后在弹来窗口左边接纳IOS的resource项,在右就可以看到“String
File”的图标。成立是文件,命名也“Localizable”(一定是此文件名否则前面调用会有有组别)就这一个成一个Localizable.strings文件;

(2)类似“本地化应用程序名称”第四叔步,在Localizable.strings(english)文件中在:

"welcome"="Click on the screen to continue...";  

                                 同理在Localizable.strings(chinese)文件中加入:

"welcome"="点击屏幕继续...";  

                                (3)在代码中使用NSLocalizedString(&lt;#key#&gt;, &lt;#comment#&gt;)来读取本地化字符串,代码如下:

CCLabelTTF *label = [CCLabelTTF labelWithString:NSLocalizedString(@"welcome", nil) fontName:@"Marker Felt" fontSize:18];  
CGSize size = [[CCDirector sharedDirector] winSize];  
label.position =  ccp( size.width /2 , size.height/2+30 );  
[self addChild: label];  

                                注意:如果你的strings文件名字不是Localizable而是自定义的话,如wang.strings,那么你就得使用NSLocalizedStringFromTable()来读取本地化字符串:

NSLocalizedStringFromTable(@"welcome",@"wang", nil)  

                                 3.;本地化图片

此地以细分点儿种植情势,第一种植和地面化字符串方法类似,把着英文图片的讳分别存到备受英文对应的strings文件,然后通过NSLocalizedString)来得到图片名称,如:

Localizable.strings(english)文件被投入:

"BtnCancel"="BtnCancelEn.png";  
Localizable.strings(chinese)文件中加入:

"BtnCancel"="BtnCancelCn.png";  

                                然后在代码中使用NSLocalizedString)来获取图片名称:

CCSprite *btnCancel = [CCSprite spriteWithSpriteFrameName:NSLocalizedString(@"BtnCancel", nil)];  
btnCancel.position=ccp(s.width/2,s.height/2-40);  
[self addChild:btnCancel z:2 tag:104];  

                                第二种就比较正规化了:点中你要本地化的图片,如“icon.png”,然后XCode-&gt; View-;&gt; Utilities -;&gt; File Inspector,在Localization中点“+”添加chinese (zh-Hans);在图片左边就会出现一个倒三角,点开就会出现(english)和(chinese)的2张图,并且在项目文件夹中会出现en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版图片,zh-Hans.lproj存放的是中文版图片,中英文图片名字一样,我们在文件夹中直接替换图片就可以了,最后使用时直接使用正常名字就行了,如:“icon.png”。

4.本地化其他文件

本地化其他文件与本地化图片第二种办法类似,先在Localization中补充加语言,然后把对许版本拷贝到en.lproj和zh-Hans.lproj文件夹着,最终引用就行了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图