`
zjjzmw1
  • 浏览: 1366578 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

ios 国际化(项目名和内容)

    博客分类:
  • iOS
ios 
阅读更多

第一步:在Supporting Files 中新建一个文件Localizable.strings .方法:在Supporting Files 上右键选择New File 选择Resource ----》Strings File 。

第二步:现在有InfoPlist.strings 和Localizable.strings 两个文件。这两个文件前一个用于改变项目在手机总图片的名字,后面一个用于改变里面的内容。现在点击项目名字---》PROJECT---》Info  进入这里下面有个Localizations 默认有个Chinese 点击下面的‘+’号,选择你要国际化的语言一般是English .注意这时会让你选择几个文件,你只要选择InfoPlist.strings 和Localizable.strings 就行了。其他的都取消选择。

第三步:这时再回来看看项目中的那两个文件点击发现分别包含了两个子文件了。后面加个(English)(Chinese)。只需要在里面写内容就行了。

第四步:举例说明:在InfoPlist.strings(English)中写CFBundleDisplayName="China";  在Info.Plist.strings (Chinese)中写CFBundleDisplayName="中国";这时候如果你的手机语言环境是中文,你的项目名会显示,中国。如果你手机语言环境是英文,你的项目明会显示China。

第五步:在Localizable.strings(English)中写 “name”="name"; 在Localizable.strings (Chinese)中写“name"=
"名称";这时候,在程序中用的时候比如:UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 320, 100)];
    label.text=NSLocalizedString(@"name", nil);
    [self.view addSubview:label];

如果手机语言环境是中文,则label上的文字就是名称两个字,如果手机语言环境是英文则显示是name.

到此就结束了。下面截几个图:截图在附件中,添加这里没有填上。还有个测试项目,

 

 

国际化

http://my.oschina.net/u/1049180/blog/215695

http://stackoverflow.com/questions/30808192/allowsbackgroundlocationupdates-in-cllocationmanager-in-ios9

首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizable.strings对key指定不同的值,系统会根据当前系统语言,去不同的lproj找不同的字符串。用个图显示吧:

 

我们应用只支持中文,英文,所以只建了zh-Hans.lproj和en.lproj,然后在Localizable.strings指定了不同的值。举例如下:

 这样程序就能根据系统语言,去选择“登录”还是“Log In”。

 

但是如果每次加了一个本地化字符串,就得手动去Localizable.strings添加对应的key,那就太麻烦了,幸好苹果提供了快捷生成本地化key的命令。下面以en.lproj的生成为例:

首先,我们进入程序工程所在的目录,用命令建立en.lproj 

  mkdir en.lproj

然后我们遍历所有的子目录文件,去生成Localizable.strings,命令如下:

  find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj

基本都说genstrings -o en.lproj *.m就可以生成Localizable.strings,但是这个命令只能生成当前目录的,并没有遍历子目录,所以基本没用

这样系统就会把子目录用到NSLocalizedString函数的key值都写到文件里。

 

需要注意的是,NSLocalizedString(key,comment),用这个函数时,key不能是宏定义或者一些动态字符串,否则用上面的命令会报错。

2
0
分享到:
评论
1 楼 吃饱了就饿 2013-02-18  
张老师这是什么时候用的

相关推荐

    iOS 国际化 demo

    本“iOS国际化demo”旨在提供一个实践示例,帮助开发者理解和实现iOS应用的多语言支持。以下是对该主题的详细说明: 一、国际化基础 国际化(Internationalization)是指设计和构建软件系统,使其能够适应不同地区...

    ios国际化 多语言支持

    iOS 国际化多语言支持 iOS 开发中,国际化是非常重要的一步,特别是在项目...通过使用多语言支持和 genstrings 命令,我们可以轻松地实现 iOS 项目的国际化和多语言支持,从而提高应用程序的用户体验和市场竞争力。

    iOS 本地化国际化 demo

    在iOS应用开发中,本地化和国际化是一项至关重要的任务,它允许我们的应用程序适应不同地区和语言的用户。这个“iOS 本地化国际化 demo”显然提供了一个实际操作的例子,帮助开发者理解如何在iOS项目中实现这一功能...

    ios 国际化 本地化

    国际化(Internationalization,通常缩写为i18n)和本地化(Localization,简称l10n)是iOS应用开发中的重要环节,旨在使应用程序能够适应不同国家和地区的语言、文化以及用户习惯。这两个概念虽然经常一起提及,但...

    swift-iOS国际化工具

    总的来说,Swift-iOS国际化工具是iOS应用全球化的关键,它包括了字符串资源的管理、日期和数字的本地化格式化,以及辅助工具的使用。正确理解和运用这些知识点,可以使你的应用更好地服务于全球用户。

    iOS语言国际化

    在iOS应用开发中,语言国际化是一项重要的功能,它允许应用程序根据用户的设备设置显示不同语言的内容。这使得应用具有更广泛的用户基础,能够适应全球化的市场需求。本篇文章将深入探讨iOS的本地化国际化机制,以及...

    最新iOS国际化NSLocalizedString

    "最新iOS国际化NSLocalizedString"这个主题主要涵盖了如何使用苹果提供的NSLocalizedString宏来实现应用的多语言支持。接下来,我们将深入探讨这一关键知识点。 首先,我们需要了解iOS中的国际化...

    iOS 国际化代码

    "iOS国际化代码"这个项目提供了一个示例,展示了如何实现应用程序的多语言支持,包括字符串、应用名称、图片以及界面文件的国际化。下面我们将深入探讨这些方面的实现细节。 首先,我们从最基础的字符串国际化开始...

    iOS国际化,点击切换语言

    首先,我们要了解iOS国际化的基本概念。苹果提供了强大的国际化框架,包括`Localizable.strings`文件、`InfoPlist.strings`文件以及`NSBundle`类等,用于存储和加载不同语言的文本资源。`Localizable.strings`文件是...

    ios语言国际化源码

    "ios语言国际化源码"这个压缩包很可能是提供了一个Objective-C(OC)开发的示例项目,用于展示如何在iOS应用中实现多语言支持。下面将详细解释iOS应用的国际化过程,并探讨相关的关键知识点。 1. **国际化基础**: ...

    ios-国际区号选择器 PhoneAreaCodeViewController.zip

    7. **国际化区号库**:可能使用公开的数据源(如ISO 3166-1或E.164标准)来获取最新、最准确的区号信息。 8. **用户交互**:确保良好的用户反馈,例如选中状态的视觉提示,滑动动画等。 9. **测试**:进行单元测试...

    iOS 国际化适配demo,包含应用内国际化和跟随系统两种情况。.zip

    软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    ios-iOS 搭建项目框架.zip

    6. **国际化与本地化**:如果应用需要支持多语言,应考虑国际化和本地化策略。 7. **持续集成/持续部署(CI/CD)**:如Jenkins、Travis CI等,自动化构建和发布流程,提高效率。 8. **代码规范和版本控制**:遵循...

    ios 国外餐饮项目源码

    9. **国际化与本地化**:考虑到是“国外”餐饮项目,源码可能包含多语言支持,利用iOS的Localizable.strings文件和InfoPlist.strings实现。 10. **权限管理**:应用可能需要用户授权访问相机(拍摄菜品照片)、...

    iOS国际化的方法

    国际化的方法: 点击左侧列表项目名称,点击project下的项目名称,—》找到info—>localizations—>luaugue-> 点击加载,添加需要用的语言,一般添加chinese english

    ios程序本地化

    随着全球化的不断推进,软件和应用程序的国际化变得尤为重要。为了满足不同国家和地区用户的需求,开发者必须考虑如何让自己的应用能够适应多种语言环境。在iOS开发中,这个过程通常被称为“本地化”。本文将详细...

    ios源码之本地化与国际化.rar

    在iOS应用开发中,本地化和国际化是两个关键的概念,它们允许开发者为全球不同地区的用户提供适应其语言和文化环境的应用体验。"ios源码之本地化与国际化.rar"这个压缩包很可能包含了一些示例代码或者教程,用于演示...

    IOS项目实战

    7. **国际化与本地化**:为了让应用能适应不同语言环境,了解如何进行国际化和本地化配置是必要的。Xcode提供了内置支持,开发者需要创建Localizable.strings文件来管理多语言字符串。 8. **错误处理**:在开发过程...

Global site tag (gtag.js) - Google Analytics