在当今移动应用市场竞争日益激烈的情况下,安卓应用程序开发者们需要不断寻求更有效的方法来确保他们的应用在全球范围内获得成功。本地化(Localization)和国际化(Internationalization)是开发安卓应用程序时至关重要的两个策略,能够帮助开发者更好地适应不同地区和语言的用户需求,提升应用的用户体验和市场竞争力。
本地化是指将应用适应特定地区或国家的文化、习惯和语言,使用户感觉应用是为他们量身定制的。在安卓应用程序开发中,本地化策略包括但不限于以下几个方面:
1. 语言:开发者应该根据目标地区的主要语言提供多语言支持。通过将应用界面、文字和提示信息翻译成当地语言,用户能够更方便地理解和使用应用。
2. 时间和日期格式:不同地区有不同的时间和日期格式,开发者需要确保应用能够正确显示目标用户习惯的时间和日期格式,避免混淆和不便。
3. 货币单位:货币单位和符号也因国家而异,开发者应该根据地区设置正确的货币单位,以便用户更容易理解价格和交易信息。
4. 图标和图片:一些图标和图片可能在不同文化下具有不同的含义或象征,开发者需要谨慎选择和调整图标和图片,避免引起误解或冲突。
另一方面,国际化是指在应用开发过程中考虑到全球化因素,使应用能够轻松地适应不同地区和语言环境的能力。国际化策略主要包括以下几个方面:
1. 设计和布局:开发者应该在设计和布局应用界面时考虑到文本长度、方向等因素,以便适应各种语言文字的显示需求。合理的布局设计可以确保应用在不同语言下仍然保持良好的界面美观度和可用性。
2. 字体和字符集:不同语言使用不同的字体和字符集,开发者需要选择支持各种语言的字体,以确保文字在不同语言环境下显示清晰、准确。
3. 代码和逻辑:在编写代码和逻辑时,应该避免硬编码文本、日期、货币等信息,而是使用外部资源文件来存储这些信息,以便轻松替换和修改,实现应用的多语言支持。
4. 测试和优化:国际化并不仅仅是翻译文字,还需要在不同语言环境下进行充分测试和优化,确保应用在各种地区和语言环境下都能提供良好的用户体验。
探索安卓系统开发中最佳的本地化与国际化策略对于应用开发者来说至关重要。通过合理地选择和执行本地化和国际化策略,开发者可以更好地满足全球用户的需求,提升应用的用户体验和市场竞争力,实现应用在全球范围内的成功。
软件本地化与国际化的关系
软件的国际化版本的制作一般分为:
1.建议语种版本运行环境
2.资源的语种化
3.文档的语种化
4.如果还需要向外推行的话,还包括网站等市场宣传的语种化。
过程如下:
1.首先剥出程序里的资源,需要翻译进行翻译
2.翻译好的资源合成到代码中。
3.手册帮助等的文档也需翻译。
4.同时在运行环境,比如装个日文win2000或者德文win2000,运行语种版本,
看是否出功能性的问题(如果软件功能熟不管在什么环境都会应用自如)
5.需有一个精通此语种的人使用该软件,便于发现其中的语言问题。
6.调试阶段比较麻烦,需要经过很多轮的反复。
软件本地化与国际化的关系
看到有人在问全球化和国际化的关系,国际化和本地话的关系,我们今天就简单说说这三者之间的关系。
我们所说的全球化,国际化,本地化都是针对软件来说的。
简单的来说全球化=国际化+本地化。
所谓的全球化,就是软件的目标市场并不是一个国家,而是多个国家或区域,我这里借用一下崔启亮老师的书里面的定义 全球化软件是为全球用户设计,面向全球市场发布的具有一致的界面,风格和功能的软件,他的核心特征和代码设计并不仅仅局限于某一种语言和区域用户,可以支持不同目标市场的语言和数据的输入,输出,显示和存储。
全球化软件也称为国际化软件,全球化对应的英文是Globalization,缩写为G11N.G是首字母,N是尾字母。
11表示在首字母G和尾字母N之间省略了11个字母。
其实全球化软件按照字面意思理解的话也可以叫国际化软件。
全球就是针对多个国家的意思,国际化也是针对多个国家的意思,但是全球化软件在开发过程中又可以分为两个大的部分,一般叫做国际化和本地化,为了将此国际化和彼国际化分开,所以叫做全球化。
所以全球化=国际化+本地化这块主要是定义的问题,如果把一个面向全球用户的软件叫做国际化软件也可以,但是如果在做这个软件的公司内部就不好区分这个大的国际化和他下面细分出来的国际化,所以一般就叫做全球化。
所以如果你是给公司外部的人来说,不关注技术细节的话,说你的产品是全球化软件或国际化软件都可以。
但是公司内部具体去做这个软件的话最好还是将全球化和国际化定义严格分开。
崔启亮老师的书<<国际化软件测试>>,我感觉名字叫做全球化软件测试可能会更好一点,当初我看了名字我还以为是讲做国际化的,结果发现国际化和本地化都讲。
下面我们来说说国际化和本地化的关系,其实我和项目组里的人合作了很长时间,他们有时候也是分不清楚国际化和本地化,大家对本地化可能了解的比较多,因为这个也比较好理解,就是要做不同语言的本地化版本。
但是国际化具体做什么他们就不是特别清楚,所以两个老是搞错。
我们还是来引用崔老师的定义:软件国际化就是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,能够在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。
国际化的英文单词是Internationalization,所写为I18N,其中I是首字母,N是尾字母。
18表示在首字母的I和尾字母N之间省略了18个字母 软件本地化是将一个软件产品按照特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。
本地化的英文对应Localization,缩写为L10N,其中L为首字母,N是尾字母,10表示在首字母的L和尾字母的N之间省略了10个字母。
我们从上面的描述上去分析,国际化需要保证功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码,这个说明国际化实际上是为本地化服务的,其实在软件开发过程中加入国际化的设计就是为了更好,更快的出本地化版本。
国际化并不针对某一特定语言来做,国际化做好了的话,你的软件就可以处理多种语言和文化习俗,语言也就是各种国家的文字显示,输入输出,各种语言的操作系统上运行,习俗通常指的是区域相关的,比如日期时间显示格式,数字,货币符号,姓名显示顺序等。
当你的软件如果国际化做的比较好时,在做本地化时就不需要重新设计或修改源代码,只需要进行资源文件的翻译,然后出本地化的build.而本地化是针对特定语言的,特定市场的,如果该语言和该市场没有特殊要求,那么简单的说就是一个将资源文件进行翻译,然后出一个本地化的build,然后测试该本地化build上本地化问题,比如字符串没有翻译等,这个是全球化软件最理想的情况,但是往往个别国家或区域对软件在基础功能上又有些特殊的要求,本地化组需要在基于已经发布的英文版上增加特色功能然后自己发布。
我们简单的总结一下本地化测试和国际化测试,基于比较理想的全球化软件开发模式,各个国家没有自己特殊的需求1、测试需要用的操作系统:国际化测试人员一般会基于多个语言的操作系统进行测试,因为国际化测试需要负责软件对各个不同国家操作系统的支持。
一般至少选择两个,亚洲为代表的比如日语,和欧洲为代表的,比如德语。
本地化测试人员一般只在某一个特定语言的操作系统进行测试。
除非该测试人员要负责多个语言的本地化。
2、测试的build 国际化测试一般用英文build和伪本地化build进行测试,英文build一般主要用来发现国际化第一级和第二级的问题,伪本地化build主要用来测试国际化第三级的问题。
本地化测试一般用已经翻译过的本地化build.3、 bug的处理方式 国际化的bug一般都是需要通过修改代码才行修改好 本地化的bug一般都是通过修改翻译,修改资源文件来修复,不需要修改代码(这个是理想情况。
)4、测试的核心关注点不同 国际化测试关注针对各种语言的支持,概括来说就是对DBCS,Hi-ASCII的支持,包括显示,输入,输出等,还有对于不同国家的时间日期格式,货币符号显示等 本地化测试主要关注自己测试的语言上的输入,输出,显示,所测语言上一些特殊性等。
5、测试进入项目的时间不同
浅谈国际化与本地化
国际化 是指把原来为英文设计的计算机系统或者应用软件改写成同时支持多种语言和文化习俗的过程。
在英文中,国际化(Internationalization)被缩写为I18N,即只取首位两个字母,中间字母为18个。
国际化中只处理语言的部分叫多语言化(Multilingualization)缩写为M17N。
比如一个软件同时支持英语、法语、日语、俄语等多种语言。
本地化 是指把计算机系统或者应用软件转变为使用并兼容某种特定语言的过程。
在英文中,本地化(Localization)被缩写为L10N,即只取首位两个字母,中间字母为10个。
无论是国际化还是本地化都不是简单的语言翻译,以下是国际化和本地化中常常遇到比并且应当注意的地方: 1)界面纯文字翻译 这个就是上面提到的多语言化,即对系统或者软件界面的文字进行多语言处理。
2)文本信息翻译 除了界面文案翻译,系统或者软件附带的帮助手册、说明等文本信息也应该进行多语言处理。
3)图标设计 图标应该通用、易于接受,同时考虑地域习惯。
例如,一个在美国表示乡村风格的邮箱的位图在其他地区的居民看来像是其他东西。
欧洲人通常将这个位图理解成烟囱。
还要避免使用包含文本的位图,本地化图像中的文字不仅费时间,文本增长也可能成为一个问题。
确保位图和图标具有文化认同性也很重要。
4)姓名地址 姓和名的先后次序,地址书写的先后次序。
比如中文都是先姓后名。
5)声音使用 不适当的声音或提示可能会引起人的反感,有些国家对声音性别很敏感。
6)颜色使用 颜色和色调与民俗有关,比如红色在美国标示危险,在中国标示喜庆。
7)纸张尺寸 打印纸的尺寸因地域而不同。
北美洲、玻利维亚、哥伦比亚、委内瑞拉、菲律宾与智利的官方纸张尺寸大小为8.5英寸×11英寸(215.9毫米×279.4毫米)。
A4尺寸则是ISO的标准,已经于多数国家采用。
8)数字标识格式 不同国家和地区数字表示方式也存在着区别。
影响数字表现的因素包括数字字符的表示、数字符号的表示、数字的类型等。
例如:一千二百三十四点五七(1234.57),在英语中的表示是1,234.57,而在德语中的表示为1.234,57。
9)日期和时间格式 日期/时间的国际化,不仅涉及到地理位置(Locale,比如星期、月份等日历本地化表示),还涉及到时区(TimeZone,针对UTC/GMT的偏移量)。
时区不仅是地理位置规定,更是政治规定,比如中国从地理位置上跨5个时区,但只使用一个统一时区(id=Shanghai/Asia)。
PS:后面会有专门的文章来介绍国际化种的日期和时间格式,这里就不详细介绍了。
10)货币单位 货币格式设置必须考虑货币符号、货币符号位置和负号的位置。
大多数货币使用与区域性或区域设置中的数字相同的小数点分隔符和千位分隔符。
但是,在一些地方并不是这样,比如在瑞士,瑞士法郎的小数点分隔符是句点 (Sfr.127.54) 。
11)度量单位 度量单位直接关系到数值的实际表示结果。
虽然度量单位存在着国际标准,但由于历史,风俗习惯等原因,很多地区及国家并不唯一使用国际标准。
例如,美国同时存在着国际通用标准制和英制两种度量制度,英制是相对更常用的度量制度,英制中的长度可以使用英寸 (inch)来表示,而国际通用标准是米和分米等; 对于重量的表示,英制使用磅(pound), 而国际标准是克与千克。
软件国际化中,当存在度量习惯区别时,软件中度量相关的数据都需要根据度量单位进行合适的转换。
12)字符排序及长度 并不是所有语言都把某一个字母的大小写形式看成是等价的,重音的区别,某个符号出现与否,甚至拼写不一致性都可能导致看似等价的两个字符串实际上的不等价。
字符的排序是需要根据不同地域文化确定的。
同时,还应根据字符的长度调整对话框的大小和位置。
13)文本的输入和呈现 例如,阿拉伯人和希伯来人的阅读习惯是从右向左,文本输入也是从右向左,这样的习惯被称为BIDI(Bidirectionality)。
14)键盘布局 键盘上的键因国家而异,键的位置和个数也可能不一样,且某些字符并非存在于所有的键盘布局上。
15)换行和断字 亚洲 DBCS 语言的规则与西方语言的规则完全不同。
例如,与大多数西方书面语言不同,中文、日语、朝鲜语和泰语不一定使用空格将一个字同下一个字区分开。
泰语甚至不使用标点符号。
16)大小写转换 处理字符的大小写的的算法要注意某些语言的大小写字符之间没有一对一映射。
而大多数非拉丁脚本甚至不使用小写和大写的概念。
例如:中文、日语、泰语等亚洲语言文字。
参考资料:http:///http:///article/6176
安卓系统是开源的,开源是啥意思?
手机的系统简单的,分为开源和闭源,开源的系统典型代表就是现在的安卓系统,国产厂商所使用的系统都是安卓系统,虽然他们都有自己的名字。但是他们都是基于安卓系统的框架上面所进行的优化,除了华为最近推出的鸿蒙系统是属于他们自己的。
开源的系统有什么样的特点呢?就是它可以根据用户意愿自行安装相应软件,它本身的权限是相对来说开放的,可以从任何渠道安装应用,但是苹果是不可以的。苹果的iOS系统是典型的闭源系统,闭源系统只能从苹果的应用商店去下载软件,从其他任何渠道可以下载软件的安装包,但是没有权限不可以安装。而安卓的系统是从任何渠道下载安装包都可以,无论这个安装包是官方的还是说非官方的。
所以说安卓系统的特性决定了它的应用生态是比较混乱的,只是安卓系统上面有很多好用的小软件,这些小的软件都是民间开发的。这种民间开发软件注定是没有经过苹果用商店的认证的,所以只能安卓的手机使用好多开发版内测版的软件只有苹果端的没有,其他的人都有,因为要经过苹果用商店的认证是非常麻烦。国内的开发者当然不可能去上苹果的应用商店了,所以都是在安卓端才可以使用。
但这样所带来的问题就是安卓端的软件乱七八糟什么都有,有一些是确实好用的小软件,一些资源的集合之类的,但有一些他会偷偷在后台窃取用户的信息,包括视图打开相机视图,自行打开软件,试图获取通讯录,试图发送短信这些乱七八糟的权限,部分国产手机厂商有这个应用权限的自测。可以看到哪个软件在后台试图在干一些什么事情,所以导致安卓的手机在用户信息保密这方面可能做的要稍微差一些。
java开发里面的“国际化”和“本地化”都是什么意思呢
举个很简单的例子。
Google,你把你的浏览器的语言选择中文,网页就显示中文;你把你浏览器的语言选择英语,Google的界面就是英文的。
它的目的就是根据你所在地的浏览器语言的设置来进行显示,不需要认为的做任何的限制和修改。
基于安卓系统的App开发技术分析与研究(基于android的app的设计与开发)
软件开发流程是一个逐步渐进的过程,将整个软件开发过程划分为顺序相接的四个阶段,每个阶段完成全部规定的任务后再进入下一个阶段,一个软件从开始到最后一共需要以下几个流程:
一.初始需求阶段
●用户提出需求:确定项目开发的目标和范围,与其可行性。
●分析需求规格:敲定主要功能模块,确定开发周期和报价。
●需求讨论规划:双方面谈,将软件需要实现的各个功能进行详细需求分析调整。
二.合同原型阶段
●签署开发合同:双方签订合同,客户支付预付款并提供人力、物力及相关协助。
●原型详细设计:将需求分析转化成未来系统符合用户期望的原型设计。
●开需求评审会:原型设计完成后,客户审核并确认具体设计,供应商开始编写实现。
三.个性化开发阶段
●软件开发设计:对整个软件系统进行设计,如系统框架设计、数据库设计等,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配。
●程序开发编码:在开发构建阶段,由供应商程序员根据详细设计及计划,将所有应用程序功能开发并集成为产品。
●软件测试阶段:测试要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。
四.交付维护阶段
●产品软件部署:部署的目的是成功的生成版本并将软件分发给最终用户。
●正式验收交付:要确定软件、环境、用户是否可以开始系统的运作,交付阶段的重点是确保软件对最终用户是可用的。
●后期项目维护:软件产品发布后,根据需求变化或硬件环境的变化对应用程序进行修改。
以上就是软件开发流程的四个阶段,但在软件开发过程中并不是必须按照这个进行的,可以根据项目的大小周期适当调整,从中找到最贴近自己公司情况开发流程。
逻辑思维软件
文章版权声明
1 原创文章作者:汇维网,如若转载,请注明出处: https://www.52hwl.com/109583.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别