首先我们要分三个步骤讲解怎么一步步实现app名字国际化、内容国际化、一键切换国际化的:

一、app设置内容或者可以说是app名字或者可以说Info.Plist中的东西国际化

 app名字国际化

 1、首先新建文件command+N 选择,然后next

记住文件名字必须为:InfoPlist,要不然系统识别会失败!

然后点击create,文件工程中会多一个不带箭头的文件

2、添加需要用到的语言

添加需要的语言(简体中文、繁体中文)英文为默认的语言不需要添加!

然后直接点击finish

3、添加语言文件到InfoPlist.Strings文件夹下边

这时候就可以写代码了

在InfoPlist.Strings(English)文件下写

"CFBundleDisplayName" = "Weibo";

同样的在另外两个文件夹写上对应的国际语言

"CFBundleDisplayName" = "微博";//InfoPlist.Strings(chinnese(simplified))

这时候系统模拟器或者真机切换语言看下,app的名字就是对应的(Weibo和微博了)

二、本地应用文字内容国际化

基本步骤和第一步资源国际化是一样的,只需要新建上边InfoPlist名字的时候换成Localizable!!!!!

1、同样的三个文件夹

内容非别是:

"key" = "home";//
"key" = "首页";
"key" = "首頁";

然后在viewcontroller中写入代码

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor blueColor];
[self.view addSubview:label];
  label.text = NSLocalizedString(@"key", @"这个是前边词的注解,可以不用填写");

}

这是后本地内容国际化就完成了!切换本地模拟器环境和真机环境就能看到本地的文案的改变!

三、一键切换国际化语言,这篇博客写的比较清楚(https://www.jianshu.com/p/57f240f2a180),但是这个在你切换本地语言的时候对其改变无效 (引文本地储存了你上次记忆的appLanguage)!和二配合使用比较好!

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)的更多相关文章

  1. ios UITextView 计算文字内容大小

    先设置好 textView的内容文字,再调用以下代码,就能够得到文字内容的size,其中参数表示最大的size的尺寸,通常,高度应该不限制,宽度是控件的宽度. let newSize = statem ...

  2. Android应用内部实现多语言,一键切换语言,国际化适配

    1.首先提供多语言对应的string值 如en对应英语, fr对应法语 两个文件中包含同样的key, 对应不同的语言的value 2.java代码相应用户切换语言动作 private static v ...

  3. iOS 学习笔记六 【APP中的文字和APP名字的国际化多语言处理】

    今天为新手解决下APP中的文字和APP名字的国际化多语言处理, 不多说了,直接上步骤: 1.打开你的项目,单机project名字,选中project,直接看图吧: 2.创建Localizable.st ...

  4. IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)

    上篇 IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源 介绍了纯代码刷新 实现程序内切换语言. 但效率底下,也存在一些问题.暂放弃. ...

  5. iOS Storyboard创建APP 的国际化操作

    Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...

  6. iOS: 设置App的国际化和本地化

    原文链接:http://www.cocoachina.com/appstore/20160310/15632.html 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的 ...

  7. 【转】iOS 设置APP的名称(浅述APP版本国际化与本地化)

    原文网址:http://www.jianshu.com/p/a3a70f0398c4 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名 ...

  8. Ionic App之国际化(1)单个参数的处理

    最近的app开发中需要考虑多语言国际化的问题,经查资料,目前大部分使用的是angular-translate.js这个组件,网站说明是这个:https://angular-translate.gith ...

  9. Ionic App之国际化(3) json数组的处理

    接上一篇Ionic App之国际化(2) json数组的处理 之后,如何处理json数据长度的问题,目前的一个折中方法是翻译长度字段. 多语言文件内容: "MyLa": { &qu ...

随机推荐

  1. 【Unity】贝塞尔曲线关于点、长度、切线计算在 Unity中的C#实现

    原文:[Unity]贝塞尔曲线关于点.长度.切线计算在 Unity中的C#实现 写在前面 最近给项目做了个路径编辑,基本思路是满足几个基本需求: [额外说明]其实本篇和这个没关系,可以跳过" ...

  2. WPF MVVM+EF 增删改查 简单示例(一)

    实现了那些功能,先看看效果图: 项目工程目录: 接下来开始具体的步骤: 第一步:在VS中新建工程 第二步:使用NuGet 安装EntityFramework 第三步:使用NuGet 安装EntityF ...

  3. Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法

    原文:Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法  [函数名称]   形态学轮廓提取函数       WriteableBitmap Morcontourextract ...

  4. Win8Metro(C#)数字图像处理--2.21二值图像腐蚀

    原文:Win8Metro(C#)数字图像处理--2.21二值图像腐蚀  [函数名称] 二值图像腐蚀函数CorrosionProcess(WriteableBitmap src) [算法说明] 二值 ...

  5. Android卡片设置透明度失效问题

    最近在做蓝牙电话项目,需要支持双路通话,涉及到通话卡片透明度调节,当正在通话中,有新的来电时,原来的通话卡片需要做成30%的透明度,本来很简单的一个小改进,但通过 setAlpha()接口总是失效!  ...

  6. QML于C++交互之信号与槽(signal&slot )

    connect c++ SIGNAL with QML SLOT 简介 QML 与 C++ 混合编程时,总结了一下qml和c++互相直接调用.及信号与槽连接 的几种情况,详细使用情况看示例代码 所有的 ...

  7. QT5---应用程序发布(使用windeployqt和NSIS)

      采用动态编译的方式发布程序,即release版本. 找齐动态依赖库(.dll) 方法一   用Dependency Walker这个工具去找少了那些dll,不过这个工具也不怎么靠谱,一个比较靠谱但 ...

  8. DI 容器实务建议

    整理一些有关使用 DI 容器的一些建议事项,主要的参考数据源是 Jimmy Board 的文章:Container Usage Guidelines. 1.容器设定 避免对同一个组件(DLL)重复扫描 ...

  9. QT 强制杀死进程

    bool KillProcess(QString ProcessName){  bool result = false; QString str1; HANDLE hSnapShot = Create ...

  10. LOG4NET图文教程

    LOG4NET教程 一:简介 从操作系统到大多数的大型软件,都会有自己的程序运行时的日志跟踪API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而软件开发人员需要一套强大的日志系统来记 ...