【 IOS语言本地化(多语言环境)】让你的游戏与软件国际全球化,自动识别各地区用户!

简介:
本站文章均为  李华明Himi  原创,转载务必在明显处注明: 

转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/608.html


貌似又是一个很久没有写博客的时段过去了 =。 = ,公司第一款游戏已经上线,相继iphone中文版,ipad,android版本都会陆续上线,这里感谢大家的支持与关注!年后呢,Himi呢也一直在这里为自己的个人博客各种使劲,由于没有弄过所以比较菊花…不过至少现在弄的还算自己满意,一直关注过Himi的童鞋应该知道,Himi的博客在各大论坛和社区都有开设,本身Himi身处创业中,一方面时间安排不开来写博客,并且到各大博客去繁琐操作更新,另外一方面Himi也在努力自我学习中,所以做一个独立博客也是势在必行了; 也因此除了Himi的此个人博客外,其他博客将会相继停止更新;望大家相互转告,并能体谅Himi;

好了不多说了,转入正题,今天要讲解的是个移动开发中比较基础而又不能少的知识点:游戏本地化

简单概括下游戏“本地化”概念,所谓本地化简单的说就是不同地区的用户进入我们的应用程序后,我们的app中的文字传递给用户的信息都能显示他们能看懂的语言,譬如:中国用户打开我们的app自动显示文字信息语言为简体或者繁体,美国用户打开我们的app自动显示文字信息语言为英文等等;

那么本地化的方式一般有两种形式:

1. 我们自己在app中提供给用户一个语言选择的功能,例如主界面中有一个“语言选择”的按钮,用户点击后进入一个类似列表的UI中,让用户选择“中文”,“英文”…等语言;当用户选择后我们则让程序中的text信息自动选择对应的语言信息文本即可,(或者用户选择语言后自动从我们的server端下载语言资源包灯),此方式相比而言感觉较笨;

2.当用户进入我们的app时,我们根据当前用户当前移动设备的语言自动将我们的app切换对应语言!(虽然此方法省去了用户的选择,而智能判定,但是用户如果需要使用其他语言进行app的话,需要手动去设置手机语言,此方式则相比于第一种形式感觉又不太方便了,不过一般用户不会这么玩咱们的 = =)

那么这里对于第一种本地化的方式Himi这里就不多说了,比较容易实现,没有可讲的,这里Himi重点说下第二种形式:智能判定用户设备系统语言进而自动设置我们的app为其对应语种!

首先右键你的项目,选择New File…,然后出现如下窗口,在左侧 Resource 中选择 Strings File 一项,最后自定义名字即可,这里我把这个文件命名为:HimiInternation.strings  (备注1)

然后我们选中新建的xx.strings文件,然后在“Hide or show the Utilities”中添加语言,这里Himi添加英文和中文为大家举例说明,如下图:(途中箭头是“Hide or show the Utilities”)

   Chinese(zh-Hans)中文简体     English 英文

当添加了两种语言后,那么一开始我们创建的HimiInternation.strings中双击打开后将看到如下两个文件:

1.HimiInternation.strings(English)       2.HimiInternation.strings(Chinese)

两个文件中内容如下:

1.HimiInternation.strings(English)

2.HimiInternation.strings(Chinese)

  OK,以上步骤完成后,下面我们来看看如何使用吧:(备注3)(这里拿cocos2d项目模版代码讲解)

 

OK,首先我们运行项目,当前我的手机语言为中文简体,运行截图如下:

然后我从进入手机的“设置”-“通用”-“多语言环境”-语言-选择 English ,点击完成将系统语种换成英文,重新打开我们的项目,截图如下:

 

注意备注1与备注3:

如果在备注1步骤时命名.strings文件为 Localizable.strings 时,那么你就可以在备注3使用的时候,用以下方式调用即可:

如果备注1步骤创建.strings文件是自定义的名字的话,如当前我起名为 HimiInternation.strings,那么调用的方式为备注3的方式:

NSLocalizedStringFromTable(@”title”,@”HimiInternation”, nil)   NSLocalizedStringFromTable(@”name”,@”HimiInternation”, nil)

当自定义名字后,使用NSLocalizedString的方式不起作用,这里要注意;

 本篇源码下载: “InternationProject.zip”      下载地址: http://vdisk.weibo.com/s/hq1NT


相关文章
|
1月前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
54 9
|
1月前
|
安全 API Swift
探索iOS开发中的Swift语言之美
【10月更文挑战第23天】在数字时代的浪潮中,iOS开发如同一艘航船,而Swift语言则是推动这艘船前进的风帆。本文将带你领略Swift的独特魅力,从语法到设计哲学,再到实际应用案例,我们将一步步深入这个现代编程语言的世界。你将发现,Swift不仅仅是一种编程语言,它是苹果生态系统中的一个创新工具,它让iOS开发变得更加高效、安全和有趣。让我们一起启航,探索Swift的奥秘,感受编程的乐趣。
|
2月前
|
安全 Swift iOS开发
探索iOS开发中的Swift语言之美
在数字时代的浪潮中,移动应用已成为日常生活的延伸。本文将深入探讨iOS平台上的Swift编程语言,揭示其背后的设计哲学、语法特性以及如何利用Swift进行高效开发。我们将通过实际代码示例,展示Swift语言的强大功能和优雅简洁的编程风格,引导读者理解并运用Swift解决实际问题。
|
2月前
|
安全 Android开发 数据安全/隐私保护
探索安卓与iOS的安全性对比:哪个更适合企业环境?
在数字化时代,移动设备已成为企业日常运营不可或缺的一部分。选择合适的操作系统对于保障企业数据安全至关重要。本文深入分析了Android和iOS两大主流操作系统的安全性,从系统架构、安全功能、应用生态及更新频率四个维度进行全面比较,旨在为企业提供一个清晰的决策依据,帮助企业在Android的开放性与iOS的封闭性之间找到最适合自身需求的平衡点。
68 6
|
3月前
|
安全 Swift iOS开发
探索iOS开发之旅:Swift语言的魅力与挑战
【9月更文挑战第21天】在这篇文章中,我们将一起潜入iOS开发的海洋,探索Swift这门现代编程语言的独特之处。从简洁的语法到强大的功能,Swift旨在让开发者能够以更高效、更安全的方式构建应用程序。通过实际代码示例,我们会深入了解Swift如何简化复杂任务,并讨论它面临的挑战和未来的发展方向。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和知识。
52 4
|
5月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析
在移动应用开发的广阔舞台上,安卓与iOS这两大操作系统各占半壁江山。它们在开发环境上的差异,不仅影响了开发者的编码体验,也在一定程度上塑造了应用生态的多样性。本文将深入探讨两者在开发工具、编程语言、用户界面设计以及市场分布等方面的不同特点,为即将踏入这一领域的开发者提供一盏明灯。
|
5月前
|
IDE 开发工具 Android开发
安卓与iOS开发环境的差异性分析
在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各据一方,引领着市场潮流。它们各自拥有独特的开发环境和工具集,为开发者提供了不同的挑战与机遇。本文旨在深入剖析这两个平台的开发环境,通过比较它们的编程语言、集成开发环境(IDE)、用户界面设计、以及系统架构等方面,揭示各自的优势与局限。我们将探讨如何基于这些差异来优化开发策略,并预测未来可能的发展趋势,以期为开发者在选择平台时提供有价值的参考。
|
5月前
|
开发工具 Android开发 iOS开发
探索Android与iOS开发环境的差异性
在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星座般耀眼。本文将深入探讨这两个操作系统的开发环境,揭示它们在编程语言、工具、用户界面设计以及性能优化等方面的显著差异。通过对比分析,旨在为开发者提供清晰的平台选择指导,并帮助他们理解各自环境下的最佳实践。
|
5月前
|
API 开发工具 Android开发
安卓与iOS开发环境对比分析
移动操作系统的两大巨头,安卓和iOS,各自拥有独特的开发环境和工具。本文将深入探讨两者的开发环境差异,从编程语言、开发工具、用户界面设计、API支持以及生态系统五个维度进行比较分析。通过数据支撑和案例研究,揭示各自的优势和局限性,为开发者选择适合自己项目需求的平台提供参考依据。
63 1
|
4月前
|
iOS开发
解决IOS上架App Store后显示语言为英文的问题
解决IOS上架App Store后显示语言为英文的问题
105 0