最近接了一个项目,需求是要做一款应用的英文版本,客户并不清楚,以为要另做一个APP.沟通后告诉他们在之前应用基础上加个国际化功能就好,把之前的语言国际化重新梳理记录一下. 一般设置更改本地语言环境后,需要重启应用才可以生效,客户那边是要求不能重启应用,必须是切换后立即生效. 首先新建个工程: 接下来要配置你想添加的国际化语言类型: 对应有 XIB 或 Storyboard 文件也对应国际化: 新建 String File,命名为 "InfoPlist" (必须是这个字符串,后缀.str…
1.前言 自己负责的项目需要做国际化,并且要求应用内部切换语言.这个是可以做到的,也并不难,可以直接戳Github看一下 https://github.com/leo90821/LocaliztionStringExchange 2.实现原理 原理比较简单,利用NSBundle切换语言包,主要利用NSBundle的方法 - localizedStringForKey:value:table: 进行本地字符串的切换 3.实现代码 1)业务逻辑 头文件 #import <Foundation/Fou…
上篇 IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源 介绍了纯代码刷新 实现程序内切换语言. 但效率底下,也存在一些问题.暂放弃. 第二种是 从跟视图切换 storyboard 实现 代码结合 storyboard 刷新 UI, 上篇遗留的问题是,在开发的时候我们要用到 base.lproj 和 对应语言下得.string 文件. 方便开发(脚本实现 base storyboard 被编辑会 自动刷新对应语言的.string 文…
前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不用担心我findViewBy不到Id了哈哈,开个玩笑) 先上示例图: 代码实现: 布局文件(Data-Binding模式),很简单就是两行文字 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:a…
Android7.0及以前版本,Configuration中的语言相当于是App的全局设置: public static void changeAppLanguage(Context context, String newLanguage){ Resources resources = context.getResources(); Configuration configuration = resources.getConfiguration(); // app locale Locale l…
extends :http://bbs.51cto.com/thread-1075165-1.html,http://www.cnblogs.com/loulijun/p/3164746.html 1. 多国语言: 在res目录下建立不同名称的values文件来调用不同的语言包 Values文件汇总如下: 中文(中国):values-zh-rCN中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-en-rUS 英语(英国):values…
创建SharedPreferences的管理类 public class PreferenceUtil { private static SharedPreferences mSharedPreferences = null; private static Editor mEditor = null; public static void init(Context context){ if (null == mSharedPreferences) { mSharedPreferences = a…
一:尾随系统切换语言 1>创建好项目project后, 新建一个多语言文件: 2>加入要设置的语言类型: 3>加入成功 细心的朋友可能会发如今English后面写的是3 Files Localized,这是由于英语是系统默认加入的,并且同一时候为Main.storyboard 和 LaunchScreen.storyboard设置了多语言,我在自己加入的时候没有勾选这两项. 3>使用多语言文件在应用内设置相应语言 "label"="label"…
参考网站:http://blog.sina.com.cn/s/blog_7b9d64af0101jncz.html   语言国际化:根据系统不同的语言自动切换 Xcode6.2   一.在不同语言下工程名会变成对应的语言名     步骤:新建一个SingleView工程 再新建InfoPlist文件(注意文件名不能改变还有大小写)     然后添加语言 经过以上,会出现   在各自的语言文件夹中分别添加 CFBundleDisplayName="语言";//英语语言下显示”语言&quo…
在Xcode中我们可以很方便的将APP适配各种本地化语言.苹果的框架已经帮我们把不同语言的数据分离开,包括图片,声音,视频,文档,用户界面文字(甚至代码中编写的用户界面文字),它们会被建立在同一个bundle中,便于我们管理.   下面分别介绍字符串,图片,应用程序名是如何实现多语言本地化,以及如何切换语言进行测试. 效果图如下:           1,本地化字符串 (1)项目配置 -> “Info” -> “Localizations”区域下,可以看到工程默认只支持英文,我们可以再添加中文…
目的:一次性打包,测试可以去iPhone设置,找到APP,点击后然后可以自主切换网络环境(测试.预生产.正式).关闭APP重新打开生效. 撸起袖子加油干…… 1.生成并设置Setting.bundle Next……create…… 生成Setting.bundle后进行以上设置 大体信息是 0测试 1预生产 2正式 默认1预生产 2.新建NetConfig类 设置单例,并新增获得环境方法,便于别的类调用…… 3.新增宏定义类NetConfigMacros_h 4.调用头文件,调用即可…
首先我们要分三个步骤讲解怎么一步步实现app名字国际化.内容国际化.一键切换国际化的: 一.app设置内容或者可以说是app名字或者可以说Info.Plist中的东西国际化  app名字国际化  1.首先新建文件command+N 选择,然后next 记住文件名字必须为:InfoPlist,要不然系统识别会失败! 然后点击create,文件工程中会多一个不带箭头的文件 2.添加需要用到的语言 添加需要的语言(简体中文.繁体中文)英文为默认的语言不需要添加! 然后直接点击finish 3.添加语言…
有的 App 可能有切换语言的选项,结合系统自动切换最简单的办法: fileprivate var localizedBundle: Bundle = { return Bundle(path: Bundle.main.path(forResource: "zh-Hans", ofType: "lproj")!)! }() public func LocalizedString(_ key: String, comment: String) -> String…
在main.js中引入对应组件的语言包 eg: import VueI18n from 'vue-i18n'; // 引入国际化 import elementEn from 'element-ui/lib/locale/lang/en'; // element-ui 英语语言包 import elementZh from 'element-ui/lib/locale/lang/zh-CN'; // element-ui 中文语言包 import ivewZh from 'iview/dist/l…
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言不跟随系统语言,由应用自己进行控制,通过配置多个语言文件,根据用户的选择动态获取不同文件夹下的语言文件,显示在界面上. 最后把用户选择的语言持久化到本地,下次运行时读取. 二.应用内的国际化 1.新建工程 新建Single View Application工程,取名为MyInternational.…
最近公司的 App 里需要用到多语言切换,简单来说,就是如果用户没有选择语言选项时,App 默认跟随系统语言,如果用户在 App 内进行了语言设置,那么就使用用户设置的语言.当然,你会发现,App 的语言切换也会导致加载的其它资源文件进行切换 上述内容大概可以分为以下几块: 1. 获取系统默认的语言和地区(**注意地区,后面会讲述这里的坑**) 2. 更改 App 的语言 ## Android 应用资源国际化 在正式开始之前,先来讲解一下 Android 应用资源国际化的知识.对于资源文件的国际…
原文链接:http://www.cocoachina.com/appstore/20160310/15632.html 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名字.好的习惯是工程建立时使用英文(pinyin),那么App也就是“英文”名字了,虽然Xcode也支持直接用中文命名工程(甚至是方法名……),但有时也会因此产生一些不必要的麻烦甚至莫名其妙的bug.本文主要介绍两种设置App名称的方法,第一种较为简单,第二种涉及简单…
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言不跟随系统语言,由应用自己进行控制,通过配置多个语言文件,根据用户的选择动态获取不同文件夹下的语言文件,显示在界面上. 最后把用户选择的语言持久化到本地,下次运行时读取. 二.应用内的国际化 1.新建工程 新建Single View Application工程,取名为MyInternational.…
原文网址:http://www.jianshu.com/p/a3a70f0398c4 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的名字就是Xcode在建立工程时的名字.好的习惯是工程建立时使用英文(pinyin),那么App也就是“英文”名字了,虽然Xcode也支持直接用中文命名工程(甚至是方法名……),但有时也会因此产生一些不必要的麻烦甚至莫名其妙的bug.本文主要介绍两种设置App名称的方法,第一种较为简单,第二种涉及简单的版本国际化与本地化(Locali…
pp Store 中很多流行的应用程序有多种语言版本.虽然这些应用程序可能因为很多因素而变得流行,但是具有多种本地化版本,肯定是其中一个因素.越多的人可以理解并使用您的应用程序,潜在的买家也就越多. 若要让您的应用程序拥有多个语言版本,必须先将它国际化,然后将它本地化.国际化是整理本地化资源的一种技巧,以便应用程序在运行时,可以选择用户首选的资源集.本地化就是翻译应用程序所显示或读出(例如 VoiceOver)的文本.它还可以包括某个区域专用的额外图像和其他资源.(本地化也可以指将一组资源本地化…
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 Storyboard 写的,用 Storyboard 做项目孩纸们也知道我们这个最重要的就是 mian.Storyboard 这个文件了.UI创建也全是在这个文件里面,那这个文件国际化了,你创建的导航,标签等等也就上面的文字也就相应的国际化了.首先给你的项目添加 你需要的语言,我这里添加的是日语,当然不是我喜…
1. 在WPF中国际化使用的是 .xaml文件的格式 如图:Resource Dictionary (WPF) 2. 创建默认的语言文件和其他语言文件 这里以英语为默认语言,新建一个 Resource Dictionary (WPF)文件,并命名为DefaultLanguage.xaml,内容如下: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns…
前言:以下内容,手把手从搭建到最终实现,完成多语言切换以及换装功能. 本地系统环境:win 10 编译器环境:VS2022 社区版 .NET 环境: .NET 6 1.新建一个WPF项目 2.新建完毕,添加两个按钮备用. 3.添加WPF用户控件库类库项目 4.创建控件库类库项目 Wesky.Skin.Source,用来存放项目资源有关内容 5.新增一个资源字典文件 6.配置两个按钮的中文资源内容 7.再创建一个英文文本资源字典 8.创建两个按钮的英语文本资源 9.App.xaml文件内,引入资源…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
Android项目开发过程中,容易出现缺少对应中英文翻译的情况,这个Python脚本是用于检查字符串是否缺少了对应的翻译 #!/usr/bin/env python # encoding: utf-8 import os, sys, getopt import xml.dom.minidom import subprocess from xml.dom.minidom import Node # 判断是否是App项目依据 Axml='AndroidManifest.xml' res_en_str…
1.首先提供多语言对应的string值 如en对应英语, fr对应法语 两个文件中包含同样的key, 对应不同的语言的value 2.java代码相应用户切换语言动作 private static void setAppLanguage(Context context, Locale locale) { Resources resources = context.getResources(); DisplayMetrics metrics = resources.getDisplayMetric…
程序启动之前 从exec()开始 main()函数是整个程序的入口,在程序启动之前,系统会调用exec()函数.在Unix中exec和system的不同在于,system是用shell来调用程序,相当于fork+exec+waitpid,fork 函数创建子进程后通常都会调用 exec 函数来执行一个新程序:而exec是直接让你的程序代替原来的程序运行. system 是在单独的进程中执行命令,完了还会回到你的程序中.而exec函数是直接在你的进程中执行新的程序,新的程序会把你的程序覆盖,除非调…
一个App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓"千里之堤,溃于蚁穴",一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃.尤其因为苹果限制了热更新机制,App本身的稳定性及容错性就显的更加重要,之前可以通过发布热补丁的方式解决线上代码问题,现在就需要在提交之前对App开发周期内的各个指标进行实时监测,尽量让问题暴漏在开发阶段,然后及时修复,减少线上出问题的几率 .针对一个App的开发周期,它的稳定性指标主要有以下几个环节构成,用一个脑图…
最近的app开发中需要考虑多语言国际化的问题,经查资料,目前大部分使用的是angular-translate.js这个组件,网站说明是这个:https://angular-translate.github.io 具体步骤: 1.下载angular-translate.min.js和angular-translate-loader-static-files.min.js,并在index.html中添加引用 <!--多语言模块--> <script src="lib/angular…
一.扩展概述 扩展(Extension)是iOS 8中引入的一个非常重要的新特性.扩展让app之间的数据交互成为可能.用户可以在app中使用其他应用提供的功能,而无需离开当前的应用. 在iOS 8系统之前,每一个app在物理上都是彼此独立的,app之间不能互访彼此的私有数据.…