`
119568242
  • 浏览: 426837 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[ios]多语言支持

    博客分类:
  • ios
 
阅读更多

转自:http://blog.csdn.net/songrotek/article/details/8766641

 

要使应用多语言化在Xcode中实现起来其实是相当容易的。对于大多数的应用,多语言化主要在于文字的多语言化,其他的诸如图形,界面的多语言化一般的应用并不会涉及。当然,这些在Xcode中都可以实现。下面主要介绍一下文字多语言化的方法。

 

Step 1:为应用添加多语言版本


这个很简单,在project中info下有localizations,点击+添加所需要的版本,这时会弹出对话框显示要添加语言版本的内容。


这里面包含了storyboard,infoPlist.strings。如果要实现产品名称的多语言化,应包含infoPlist.strings。同时也可以看到我们可以直接在storyboard中实现比如按钮,图片的多语言。对于Localizable.strings,是针对文字的多语言,在下面会讲到。这个要手动添加。

 

Step 2:编程中的变化

要实现多语言,在编程中就不能直接用NSString 了,而是使用

NSLocalizedString(key, comment)

介绍一下基本用法:key是对应显示的NSString,comment则为注释。基本的原理就是有不同版本的Localizable.strings,相同的注释在不同语言版本中key不一样,这样显示的时候不同的语言界面显示的语言就不一样。

 

Step 3:获取Localizable.strings

打开Terminal终端:

然后将地址换到工程所在文件夹。基本方法是输入“cd ”然后将工程文件夹拉进其窗口。

然后输入 genstrings ./LocalizeMe/*.m 这里LocalizeMe是我这里例子的项目名称。要改成你项目的名称。 回车,然后打开工程文件夹,你就可以看到Localizable.strings文件,将其拉进Xcode项目中。


打开文件可以看到如下类似内容,Localizable.strings 包含你的项目中所有使用NSLocalizedString的内容。


这里的注释就是comment,而下面的“Three”=“Three”,左边的字符串就是Key。

 

Step 4:编辑Localizable.strings

如果你这时候还没有针对Localizable.strings这个文件进行多语言化也没关系。如下图:

点击这个文件,然后打开属性,可以看到右边有Localization选项,比如我要添加中文版,那就在Chinese上打钩,这样这个文件就会自动添加一个Chinese版本。


接下来就是点击这个Chinese版本进行编辑:


把每个对应的key的内容改成中文的就OK了。

现在运行程序,如果手机是中文的,那么显示的就是中文内容,如果是英文的,那就是英文内容。

 

Step 5:应用名称多语言化

这个很简单,在infoPlist.strings中输入

CFBundleDisplayName = "应用名";

就可以了。

 

 

=======================

自己的补充:

NSBundle.h下有

#define NSLocalizedString(key, comment) \

    [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]

#define NSLocalizedStringFromTable(key, tbl, comment) \

    [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]

#define NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment) \

    [bundle localizedStringForKey:(key) value:@"" table:(tbl)]

#define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) \

 

    [bundle localizedStringForKey:(key) value:(val) table:(tbl)]

 

4个方法

(key, tbl, bundle, val, comment)

1.key 所使用的字符串对应的key

2.tbl 所使用的字符串所在的string文件名。 ex:abc.strings的话 就输入abc

3.bundle 资源strings文件所在的文件目录。

4.val 默认字符。

5.comment 注释

 

分享到:
评论

相关推荐

    1.3iOS支持多语言demo

    虽然没有提供博客的具体内容,但我们可以基于iOS多语言支持的通用知识进行深入探讨。 1. **本地化基础**:在iOS中,本地化主要通过Xcode的国际化工具来实现。开发者需要在项目中添加Localizable.strings文件,该...

    iOS多语言设置

    以下是关于iOS多语言设置、本地化和国际化的详细知识: 1. **国际化与本地化** - **国际化(Internationalization)**:是指设计和开发应用程序的过程,使其能够适应多种语言和文化环境,而不必对代码进行大量修改...

    iOS实现多语言

    在iOS应用开发中,实现多语言支持是一项基本且重要的任务,尤其对于面向全球用户的软件来说。这使得应用程序能够根据用户设备的语言设置,显示相应的文本和图像,提供更加友好的用户体验。下面将详细介绍如何在iOS中...

    ios国际化 多语言支持

    iOS 国际化多语言支持 iOS 开发中,国际化是非常重要的一步,特别是在项目需要在多个国家和地区发布的情况下。国际化可以让应用程序适应不同语言和地区的需求,从而提高应用程序的用户体验和市场竞争力。 在 iOS ...

    iOS开发多语言切换

    在iOS应用开发中,支持多语言切换是一项重要的功能,它可以让全球不同地区的用户根据自己的语言习惯来使用应用。本文将详细讲解如何在iOS项目中实现多语言切换,并以"iOS开发多语言切换Demo"为例进行深入探讨。 ...

    ios应用实现多语言demo

    在iOS应用开发中,实现多语言支持是一项重要的功能,它可以让您的应用触及更广泛的用户群体。这个名为"ios应用实现多语言demo"的项目显然旨在展示如何在iOS应用中实现这一功能。以下是对这一主题的详细说明: 1. **...

    iOS多语言本地化和切换

    在iOS应用开发中,为了使应用能够适应全球用户的需求,多语言本地化是一个必不可少的环节。这涉及到如何设计和实现应用的国际化功能,使得不同地区的用户可以使用他们熟悉的语言进行交互。本文将深入探讨iOS应用的多...

    ios 多语言本地化方案

    iOS 多语言本地化是为应用程序提供不同语言支持的关键步骤,使得全球用户能够根据自己的语言偏好使用应用。本文档详细介绍了如何实现这一功能,包括自动根据系统语言切换和通过应用设置自定义语言。 1. 案例描述: ...

    swift-iOS手动切换显示语言

    这个话题涉及到Swift编程、iOS应用国际化以及多语言支持。下面我们将深入探讨如何在Swift中实现这一功能。 首先,我们需要理解iOS的国际化和本地化机制。iOS通过Localizable.strings文件来处理应用的多语言支持。每...

    ios语言国际化源码

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

    ios 多国语言,随系统,手动选择

    "ios 多国语言,随系统,手动选择"这个标题暗示了我们要讨论的是如何在iOS应用中实现多语言支持,并且能够根据用户的系统语言设置自动切换,同时提供手动选择语言的选项。以下是对这个主题的详细讲解: 1. **...

    Unity安卓IOS根据不同国家语言显示不同的APP名字

    安卓需要的文件

    Xcode的iOS12.0支持工具包

    1. **Swift 4.2**:更新的Swift编程语言版本,带来了更多语法改进和错误处理。 2. **通用购买**:开发者可以为iOS、macOS、watchOS和tvOS应用提供单一购买方案。 3. **App Store Connect集成**:可以直接在Xcode内...

    unity 多语言,支持android 和ios

    unity 多语言,支持android 和ios,操作简单,容易上手

    iOS-语言本地化

    iOS语言本地化是苹果开发平台为...总的来说,iOS的本地化机制允许开发者轻松地创建多语言应用,提升用户体验,扩大市场覆盖范围。通过正确理解和使用这些工具,开发者可以为全球用户提供更贴心、更具有吸引力的产品。

    多语言跨境商城源码/商家入驻/一键铺货/批量采集/在线客服/多语言/多货币/业务后台

    多语言支持 目前有 英语 法语 俄语 泰语 意大利语 越南语 印尼语 印地语 需要其他语言可以免费定制 多货币支持 支持以USD为主的全球主流货币,一键转换汇率,提高用户购买率 商家入驻 这是每一个跨境商城必备的...

    iOS语言国际化

    通过以上步骤,开发者可以构建出一个完全支持多语言的iOS应用。GDLocalizableController作为一个辅助工具,简化了这一过程,使开发者能够更加专注于应用的核心功能,而不是语言切换的细节。 总之,iOS语言国际化是...

    iOS 13.4 的支持包文件..

    iOS 13.4是Apple公司为iPhone、iPad和iPod touch推出的操作系统版本,它带来了多项新特性和改进。此支持包文件可能是用于开发者在Xcode环境下进行iOS 13.4应用开发或更新的资源集合。Xcode是Apple官方的集成开发环境...

    iOS 手动切换语言

    首先,我们来了解iOS的语言支持。苹果的iOS系统支持多种语言,包括但不限于英语、简体中文、繁体中文、法语、德语、日语、韩语等。这些语言涵盖了全球大部分地区,满足了不同国家和地区用户的需要。 接下来,我们将...

    iOS视频图片混合轮播,支持视频播放和图片预览

    总的来说,实现“iOS视频图片混合轮播,支持视频播放和图片预览”涉及到Objective-C编程、UI设计、多媒体处理等多个方面,需要开发者具备扎实的iOS开发基础和良好的用户体验意识。通过合理的设计和编码,可以创造出...

Global site tag (gtag.js) - Google Analytics