APP国际化
1.app本地内容国际化
①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为Localizable(之所以命名为Localizable纯粹是方便系统查找,可直接自行编译,当然也可以命名为其他,只不过需要再连接,为了省事就叫Localizable...)
②选择Localizable.strings文件 ---> 点击右侧按钮Localize...
③选择项目 ---> Project ---> Info ---> Localizations ---> 点击+按钮添加需要支持的语言 ---> 选择需要国际化的文件
④在Localizable.strings(English)和Localizable.strings(xxx)添加键值对,格式如下:
English: "loginButtonTitle" = "Login";
Chinese: "loginButtonTitle" = "登陆";
⑤在项目中使用,格式如下:
[loginButton setTitle:NSLocalizedString(@"loginButtonTitle",nil) forState:UIControlStateNormal];
2.app图片(资源)国际化
步骤与 1.app本地内容国际化 相同
在项目中使用,格式如下:
self.imageView.image = [UIImage imageNamed:NSLocalizedString(@"imageViewName", nil)];
3.app项目名称国际化
①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为InfoPlist
②选择Info.plist文件 ---> 添加键值对Bundle display name
③在InfoPlist.strings(Englist)和InfoPlist.strings(xxx)添加键值对,格式如下:
English: CFBundleDisplayName = "Tencent";
Chinese: CFBundleDisplayName = "腾讯";
4.app网络文字国际化
//获取当前系统的首选语言
NSArray *array = [NSLocale preferredLanguages];
//获取当前系统的语言
NSString *language = [array firstObject];
NSLog(@"%@",language); //iOS9,iOS9以下没有_US
if ([language isEqualToString:@"en_US"])
{
NSLog(@"英语");
}
else if ([language isEqualToString:@"zh-Hans-US"])
{
NSLog(@"简体中文");
}
5.xib&StroryBoard国际化
APP国际化的更多相关文章
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
上篇 IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源 介绍了纯代码刷新 实现程序内切换语言. 但效率底下,也存在一些问题.暂放弃. ...
- iOS APP 国际化
pp Store 中很多流行的应用程序有多种语言版本.虽然这些应用程序可能因为很多因素而变得流行,但是具有多种本地化版本,肯定是其中一个因素.越多的人可以理解并使用您的应用程序,潜在的买家也就越多. ...
- UWP App国际化的两种实现
开发App,我们都会标配简体中文和英文两种语言.至于你加多少种,取决于你的客户市场.无论如何,英语是必不可少的. UWP平台里面,微软也提供了一种默认的国际化方案,即修改Resources.resw资 ...
- android APP国际化一键切换实现
首先看目录: 上代码: package com.loaderman.language; import android.content.res.Configuration; import android ...
- IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)
http://www.cnblogs.com/tangbinblog/p/3898046.html
- iOS Storyboard创建APP 的国际化操作
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...
- iOS: 设置App的国际化和本地化
原文链接:http://www.cocoachina.com/appstore/20160310/15632.html 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的 ...
- 【转】iOS 设置APP的名称(浅述APP版本国际化与本地化)
原文网址:http://www.jianshu.com/p/a3a70f0398c4 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名 ...
- JavaWeb的国际化
国际化 1.国际化开发概述 1.1.软件的国际化 软件开发时,要使它能同时应对世界不同地区和国家的方法,并针对不同地区和国家的方法,提供相应的,符合来访者阅读习惯的页面或数据 国际化简称:i18n : ...
随机推荐
- Mysql 修改密码及重置密码方法
修改密码: //选择数据库 use mysql; //修改密码 update user set password=password('新密码') where user='root'; //立即生效 f ...
- js中this的四种调用模式
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- IOS开发UI基础UITextFidle相关属性
UITextFidle相关属性 • enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...
- 非聚集索引中的临界点(Tipping Point)
什么是临界点? 注意,我要说的问题是非聚集索引的执行计划从Seek+Lookup变成Table/Clustered Index Scan的临界点.SQL Server的访问数据的IO最小单元是页. 我 ...
- c3p0配置
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN&q ...
- f4: Facebook’s Warm BLOB Storage System——Erasure Code
Facebook在OSDI 2014上发表论文f4: Facebook's Warm BLOB Storage System,这个系统主要目的就是降低存储成本,在容忍磁盘,主机,机架,数据中心的同时提 ...
- 如何修改myeclipse 内存?eclipse.ini中各个参数的作用。
修改MyEclipse/eclipse文件夹中配置文件eclipse.ini中的内存分配就哦了 =================================== 一般的ini文件设置主要包括以下 ...
- DataSet导出到Excel,并生成文件(C#实现,可合并行和列)
using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnostics; ...
- 基于 ANSIBLE 自动化运维实践
摘要:运维这个话题很痛苦,你做任何的产品都离不开运维.不管你用什么语言.什么平台.什么技术,真正能够决定你产品成熟度的很有可能就是你运维的能力.取自 云巴 CEO 张虎在 ECUG 大会上的分享. 云 ...
- mybatis中自建的类型别名
在使用mybatis过程中经常用到类型别名,除了我们自己新建的别名外,mybatis还自带了很多类型别名和java中的类型的映射,下面先看一个自建的别名的配置 <typeAliases> ...