I18N是什么意思

I18N是什么意思,第1张

人们常把I18N作为“国际化”的简称,其来源是英文单词 internationalization的首末字符i和n。18为中间的字符数。 随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。也就是说,一个Web应用程序在运行时能够根据客户端请求所来自的国家和语言显示不同的用户界面。这样 ,当需要在应用程序中添加对一种新的语言的支持时,无需修改应用程序的代码。 在Struts框架中进行应用程序的国际化,支持重点在于应用程序的文本和图像表示,最主要的工作就是准备Resource Bundle资源包。事实上,准备资源包的过程,就是把对应不同语言的用户所涉及的文本和保存在多个文本文件中,客户端根据不同的环境需要进行更换。这些文件被称为“属性文件”,所有属性文件合在一起被称为资源包(Resource Bundle)。 在资讯领域,国际化与本地化(英文:Internationalization and localization,或拼成Internationalisation and localisation)是指调整软件,使之能适用於不同的语言及地区。 国际化是指在设计软件时,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言地区时,软件本身不用做内部工程上的改变或修正。本地化则是指当移植软件时,加上与特定区域设置有关的资讯和翻译文件的过程。 国际化和本地化之间的区别虽然微妙,但却很重要。国际化意味着产品有适用於任何地方的潜力;本地化则是为了更适合於特定地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同的区域各做一次。 这两者之间是互补的,并且两者结合起来才能让一个系统适用於各地。 基於他们的英文单字长度过长,常被分别简称成i18n(18意味著在国际化这个单字中,i 和 n 之间有 18 个字母)及L10n。使用大写的 L 以利区分 i18n 中的 i 。 在如微软及IBM等企业中,则会使用全球化(globalization)来表示此两者的合称。 [1] [2] 在英文中,也会使用 g11n做为简称。 范围 国际化与本地化工作的焦点包括: 语言 电子文件 字母。目前大部分的系统都采用统一码为标准来解决字符编码。 不同的数字命名系统。 书写方向。譬如德语是从左到右,而波斯语、希伯来语和阿拉伯语是由右到左。 相同语言在不同地区的拼法差异,如美国英语、加拿大英语使用localization,而英国英语和澳洲英语使用localisation。 文件处理上的差异,如某些文字存在大小写,其它则否。字母顺序。 文字的图像表示(列印物、内含线上)。 读法(音频) 视频的字幕 文化 和颜色:这牵涉到理解和文化适宜的议题。 名字和称谓 政府给定的编码(如美国的社会安全码,英国的National Insurance number,爱沙尼亚的Isikukood及其它各国的身份z号码)和护照 电话号码、地址和国际邮递区号 货币 (符号、货币标志的位置) 度量衡 纸张大小 书写习惯 日期跟时间的格式,包含各式日历。 时区(在国际场合会使用世界标准时间) 数字格式(小数点、分隔点的位置、分隔所用的字符) 产品和服务所要面向的法规 只属于本地化的主题有: 翻译 针对特定语言(如东亚语言)的特别支持 符合当地习惯 符合当地的道德观念 针对当地撰写内容 符号 排序方法 美学 当地的文化价值和社会环境 困难 开发软件时,国际化和本地化对开发者是一个有挑战性的任务,特别是当软件当初设计时没有考虑这个问题时。通常作法是将文本和其他环境相关的资源与程序代码相分离。这样在理想的情况下,应对变化的环境时无需修改代码,只要修改资源,从而显著简化了工作。 开发团队需要了解其他语言和文化,而这样的人才可能难以寻觅。而且资源的复制也可能成为维护的恶梦。例如,如果某个语言中显示给用户的信息变化了,其他的翻译版本都要随之变化。Gettext之类软件库有助于解决这一问题。 由于自由软件自由地修改和再分发,因此它比较容易国际化。当KDE拥有70个语言版本时,大多数专有软件只能够用于商业上有利可图的语言。 区域设置 (locale) 主条目:区域设置 计算机中一套定义用户的语言、国家和用于定义用户希望在其用户界面上看到的各种可以改变的选择的参数集合。通常一个locale标识符至少包括一个语言标识符和一个区域标识符。 在UNIX和WINDOWS中,locale的控制是不同的。在UNIX下,通常通过环境变量来控制locale。这些环境变量包括:LC_ALL, LC_CTYPE, LC_TIME, 等等。你可以通过改变这些环境变量来控制你的程序或者命令所表现出来的locale,前提是这些程序或者命令必须是已经被国际化的和本地化的。在Windows下,你可以通过改变控制面板上的“语言/区域”中的区域的值来设定Windows的当前用户的locale。 与全球化的关系 国际化有时与 全球化 交替使用以描述联系日益紧密的世界的经济与文化影响。 国际化经常(特别是在软件中)指提供一个用于多语言的框架,有时也指事物(机构、理念)可以藉此影响多个民族的过程。 此时很少使用全球化,因为它一般指机构和产品出现与世界各地(同时也引起了对本地化的需求)。 本地化可能用于描述贴近最终用户以减小全球化的环境和其他副作用。 参见 中日韩统一表意文字 全球化 双向文稿支援 多语言文字排版引擎: Uniscribe (Windows) Apple Type Services for Unicode Imaging (New Macintosh) WorldScript (Old Macintosh) Pango (Open source) Graphite (Windows & Linux, open source)

初级部分(280学时)

1 Java程序设计基础: (J2sdk基础、Java 面向对象基础、Java API使用、数据结构及算法基础、Java高级类特性、异常处理;)

2 J2SE平台Java程序设计: (Java AWT图形界面程序开发,Swing图形程序设计,Socket网络应用程序设计,对象序列化,Java 常 用数据结构,Applet,高级I/O流和文件编程,多线程程序设计;)

3Java桌面系统项目开发: (桌面项目,基于Socket的聊天室; 数据库:SQL,ORACLE9i 数据库的管理基础;)

4Java Web应用编程:(Java数据库编程:JDBC、JDBC-ODBC Java Web编程:JSP、Servlet、JavaBean Java应用编程服务器:

Tomcat / … 集成开发环境(IDE):Jbuilder / Eclipse / … Java应用构建工具:Apache Ant / …; )

5项目开发。 比如移动公司计费账务管理系统

高级部分(400学时)

1Linux初步:(Linux基本 *** 作,LINUX下的Java程序开发,Linux系统的简单管理;)

2数据库深入编程:(PL/SQL;数据库和数据库设计库程序设计;)

3Struts、spring、hibernate:(高级Java Web应用开发:业界通用的MVC设计模式,Struts架构、应用程序国际化、Struts Taglib;)

4 Java高级程序设计(J2EE):(J2EE架构、EJB核心技术;J2EE主流开发工具JBuilder、应用服务器WebLogic ;Java和XML:XML,

Web Service,异构系统整合、分布式应用;)

5项目开发:比如中国移动电子运行维护系统;

6软件系统架构设计:UML与系统建模和设计、Rational Rose、软件工程和软件过程模型、版本控制;

国际化是指在代码设计上加入能方便的移植到其他国家和地区的特性。而本地化是指将具有国际化支持的代码翻译成本国或地区的语言,是本地用户更容易使用。 I18n是Internationalization的简写,l10n是Localization的简写。

在Qt中创建可以国际化的代码

最常见的是将要翻译的字符串加上tr语句,tr语句的标准语法是:

Context::tr(sourceText,comment), 比如 QString str2 = QTextEdit::'''tr'''(“Letter”,”paper size”);

Context(上下文)和comment(注释)是可以省略的,它们的意思分别是 Context:用于指明该翻译文字所在的上下文,一般为类名。因为同样的一个字串在不同的环境中翻译出来是不一样的,比如都是死,皇帝是崩,普通老百姓就是死翘。 comment: 用于指明要翻译文字的一个注释。因为作翻译的可能并不是写代码的人。比如spring既有d簧的意思,又有春天的意思。designer里面选组建的时候,有一个blue spring(蓝色的d簧)是用于addStretch()的,如果没加说明,有可能被翻译成蓝色的春天。

在写代码的时候,我们可能希望把所有的字符串都放在一个地方,而方便于我们自己集中作改动。真正用到的时候,用一个字符常量指针去访问。那么我们可能想到这样写代码

// Wrong,这种实现Qt不认识,无法作翻译

const char appName=“OpenDrawer 2D”;

QString translated=tr(appName);

//ok, 需要使用QT_TR_NOOP字串来提醒Qt系统该翻译的字串

const char appName=QT_TR_NOOP(“OpenDrawer 2D”);

QString translated=tr(appName);

QT_TR_NOOP的语法是QT_TR_NOOP(sourceText),它还有两个变体,语法如下

QT_TRANSLATE_NOOP ( context, sourceText )

QT_TRANSLATE_NOOP3 ( context, sourceText, comment )

对应介绍的context和comment,其意思应该不难理解

还有一种情况是在一个字串中有一部分来源于变量。那我们看看两种正误的写法

// wrong 这种写法无法被正确识别

statusBar()->showMessage('''tr'''(“Host ” + hostName+“ found”);

//ok 利用了QString的arg()函数。在翻译时,需保留%1

statusBar()->showMessage('''tr'''(“Host %1 found”)arg(hostName)

在书写了含可翻译语句的程序后,我们来看看如何生成翻译文件

生成翻译文件

首先要修改pro工程文件,比如在apppro里加入

TRANSLATIONS+=app_ents app_zh_CNts app_zh_TWts #后面你可以加你想要翻译的各种版本

CONFIG += localize_deployment

SYMBIAN_SUPPORTED_LANGUAGES += zh_CN

SYMBIAN_LANGzh_CN = 31

注:其中SYMBIAN_SUPPORTED_LANGUAGES ,SYMBIAN_LANGzh_CN 两行是localize_deploymentprf 中缺少的两行,简体中文qs 文件只使用语言代号zh时 与系统解析的" 语言_区域"区域格式不符,请先这样设置。

然后在shell, 里执行如下语句( 在Qt SDK 中请打开Qt for Desktop的命令行,目前lupdate 命令没有为Qt for symbian生成的版本)

$ lupdate apppro

$ linguist app_zh_CNts

$linguist app_zh_TWts

$ lrelease ts

$ lupdate apppro #会根据pro里指示的内容,生成app_zh_CNts和app_zh_TWts $ linguist app_zh_CNts 翻译其中一个文件,linguist是一个图形化的工具, $linguist app_zh_TWts 翻译另一个, $ lrelease ts 将ts文本文件转换成qm二进制文件,会生成app_zh_CNqm和app_zh_TWqm,方便应用加载

ts 是Text String的缩写;qm是Qt Message的缩写所以翻译文件生成的流程就是 cpp —> ts —>qm lupdate是负责找出qt源代码中需要翻译的字符串的。会搜tr/QT_TR_NOOP/QT_TRANSLATE_NOOP /QT_TRANSLATE_NOOP3等语句 linguist是手动翻译ts文件的一个工具,真正加入本地语言是在这一步 lrelease是将ts转换成qm的一个工具。需要提醒一下的,lupdate生成的ts文件不会覆盖掉已经翻译过的ts文件,只会更新其中的内容。所以其名字为languange update

有了翻译文件,我们看看系统是怎么加载翻译文件的。

加载翻译文件

一个例子,很简单的说明问题

QTranslator qt_translator;

QTranslator app_translator;

if( usersettingslanguage == SimpleChinese ) {

// Qt’s own translations

qt_translatorload("qt_zh");

qApp->installTranslator( &qt_translator );

// application translation

app_translatorload("myprogram_zh");

qApp->installTranslator( &app_translator );

}

这里,我们看到有两个翻译加载器,其中一个是加载应用程序的翻译文件,也就是我们在第二个步骤中生成的文件。另外一个是Qt系统的翻译文件,比如 Qt的版权信息,designer的一些菜单等,名字叫qt_后带一个语言版本。

有时候我们在系统启动的时候,就需要判断本地的语言,然后加载不同的翻译文件,那么代码就是如下结构

QString locale = QLocale::system()name();

QTranslator translator;

translatorload(QString("trollprint_") + locale);

appinstallTranslator(&translator);

在pro文件中部署qm文件,使得在symbian系统下能方便的检索到qm文件,而不用再load方法中设置路径

symbian: {

addFilessources = helloworld_ents helloworld_zh_CNqm helloworld_zh_TWqm helloworld_zh_HKqm

addFilespath =

DEPLOYMENT += addFiles

}

本地设置的语言,和我们的qm前面部分并不完全一样,有一个qm查询的过程,假如本地字语言名字是fr_CAISO8859-15,加载程序会按照 trollprint_fr_CAISO8859-15qm,trollprint_fr_CAqm,trollprint_frqm顺序来加载,如果以上都没有,将使用默认的语言

一个极其简单的例子 //maincpp

int main(int argc, char argv[])

{

QApplication app(argc, argv);

QTranslator translator;

translatorload("hellotr_zh");

appinstallTranslator(&translator);

QPushButton hello(QPushButton::tr("Hello world!"));

helloresize(100, 30);

helloshow();

return appexec();

}

本地化中文例程:File:HelloWorldzip, 语言代码可以在ISO 639-1 codes中找到(two-letter ISO 639 language code)。

远程编译

远程编译需要在pro文件中如下声明ts qm,否则远程编译器找不到 ts和 qm 文件

OTHER_FILES += helloworld_ents helloworld_zh_CNts helloworld_enqm helloworld_zh_CNqm

参见Remote Compiler troubleshooting

相关文档

Internationalization with Qt

VRT是画展的一种形式,属于虚拟现实画展。

中国首届VR艺术展暨《中国VR虚拟空间艺术展》于 2016年8月25日至9月14日在上海香港广场华丽出展。

此次画展,由VRT虚拟空间艺术联盟携众多艺术家倾情打造,是VR技术与绘画艺术的首次结合,同时也是国内首次推出的VR画展。种类繁多的艺术创作齐聚一堂,并以VR虚拟现实的方式呈现出来,这不仅是一场画展,更是一场艺术界的盛会。

据VRT虚拟空间艺术联盟创始人王辉介绍,VR因蕴藏无限商机而为各行各业所看好,此次VR虚拟空间艺术展将成为目前国内在技术上最先进的、规模最为庞大的展会。

扩展资料:

此次2016年8月25日举办的《中国VR虚拟空间艺术展》,亦称之为VRT画展,因为常规艺术是ART,A-R-T,而VR技术会给艺术带来颠覆性的革命,甚至对于整个绘画的体系、绘画的材质都是里程碑式的突破。

传统绘画是在纸上进行,经年之内如雨后春笋般出现的Photo shop等平面绘图软件仅在二维空间略有所成,而如今出现的VR技术,对大众来讲,是对艺术领域整体的革命。

将ART中的A进行颠覆,将A蜕变成V,成就VRT虚拟空间艺术联盟。对于VRT概念的解读,一方面可以理解成它是对艺术的一种改造方式,另一方面也可以理解成是从事新艺术形式的一个Teem、一个联盟、一个全新的艺术阵营,因而简称它为VRT组织。

参考资料来源:凤凰网——掀起VR技术vs艺术风潮,VRT画展成“吸睛”利器

JSTL是一个已经被标准化的标记库集合 她支持迭代 条件 XML文档的解析 国际化 和利用SQL与数据库交互的功能 JSTL主要包括四个基本部分的标记库 Core XML 国际化 和对SQL的支持 由于这篇文章的主要是以其中的SQL部分的应用来快速了解JSTL 所以我们这篇文章只介绍了 Core和SQl标签库的一些基本功能

这项技术简单而且功能强大 足以和PHP ColdFusion一较高下 他在拓展Java的应用领域方面有足够的能力 这些领域不只包括大型的可再升级的Web应用程序 对于仅拥有简单主页的Web程序一样没问题 这允许你在建立站点的时候可以避免那些经常考虑的XML的集成和与数据库的连接 JSTL的关键点就是简单易用 还有 那就是JSTL是基于JSP构建的 他允许我们使用所有的Java技术

开始之前 我们需要弄清楚怎样才能运行JSTL 由于是基于JSP技术的 所以我们运行它就需要一个能够编译JSP的容器 这里我们使用免费的JSP容器 TOMCAT() 至于如何安装这个产品已经超出了本文所讲述的范围 毫无疑问 这个软件产品现在已经很普及了 而且关于如何安装的文档资料也是很多 这里假设您已经安装并成功配置了这个容器 你只需再安装JSTL运行所需文件它可以从这里下载你不需要真正的安装它 只需要将其中的 JAR文件包含到你的应用程序的WEB INF/lib目录下即可

因为我们要在一个支持标准SQL的数据库上运行程序 你需要在你的电脑上安装有一个数据库 数据库的类型有许多种 这里我选择了MySql 我之所以选择他的原因在于首先 我们需要展示JSTL对于构造简单快速的应用程序领域所起的作用 同时能和一直在这个领域处于主导地位的PHP+MySql有所比较;第二点那就是MySql是可以免费下载并包含有一个针对JAVA的JDBC驱动 总之 为了使用下面的例子 你需要下载一个MYSQL服务器( MySql Connector/J JDBC驱动程序 还有就是MySql control center ) 这个产品可以让你非常容易的 *** 作管理Mysql数据库文件 全部下载完成后 你需要安装mysql和mysql Control Center 另外还有就是mysql的JDBC驱动需要放到你的web应用程序中的/Web INF/lib目录中

在创建程序代码之前 你需要创建并填写数据库表 关于这方面的主题文章也相当广泛 具体如何 *** 作超出了本文的范围 这里我推荐给你我们上面提及的一个可视化的管理工具 MySQL Control Center 你可以用他来创建一个用来运行程序的测试用户 数据库以及创建一个测试表 并填写若干记录 关于登陆名及密码数据库名称这些配置环境参数 你应该记住他们 稍后需要应用到我们的代码中

现在 你就可以准备创建自己的第一个JSTL应用程序了它需要我们做下面一些事情

整个实例程序代码包括两个文件Hello jsp和 Continue jsp

Hello jsp文件允许你输入数据库名称 登陆名称 登陆密码 数据库表名 Continue jsp 接受Hello jsp中的数据信息并且连接数据库 并对数据库中的表执行一个Select请求

下面是这个系统所有的代码文件 我将逐一进行解释 这些代码相当简单 对于代码的结构 我相信你即使没有我的解释你也能理解的

: <! Hello jsp >

: <>

: <head>

: <title>Hello</title>

: </head>

: <body bgcolor="#ffffff">

: <h >Please enter all necessary information and click OK </h >

: <form method="post" action="Continue jsp">

: <br>Your login to database:

<input type=text name=login size=" ">

: <br>Your password to database:

<input type=password name=password size=" ">

: <br>Your database name:

<input type=text name=database size=" ">

: <br>Your database table:

<input type=text name=table size=" ">

: <br><br><input type=submit name=submit value=" OK ">

: </form>

: </body>

: </>

(请注意文本左侧的数字只是为你提供一些标记信息 你不需要将他们输入到你的代码文件中 )

上面就是所有Hello jsp的源代码 很惊奇吧 他仅仅是纯粹的HTML代码 就这么简单 我想应该没有注释的必要了 我之所以将这些代码片段包含进文章中就是为了展示一下JSTL集成到那些需要快速扩充额外功能的HTML站点中是多么的简单 让我再为你展示一下Continue jsp的全部代码 看过之后 你就会对 JSTL有些了解了

: <! Continue jsp >

: <%@ taglib prefix="c" uri="%>

: <@ taglib prefix="sql" uri="%>

: <c:set var="h" value="localhost"/>

: <c:set var="l" value="${param login}"/>

: <c:set var="p" value="${param password}"/>

: <c:set var="d" value="${param database}"/>

: <c:set var="t" value="${param table}"/>

: <>

: <head>

: <title>Continue</title>

: </head>

: <body bgcolor="#ffffff">

: <sql:setDataSource driver=" mysql jdbc Driver"

url="jdbc:mysql://${l}/${d}user=${u}&password=${p}"/>

: <sql:query var="result">

: SELECT FROM <c:out value="${t}"/>

: </sql:query>

: <c:forEach var="row" items="${result rowsByIndex}">

: <c:out value="${row[ ]}"/><br>

: </c:forEach>

: </body>

: </>

(请注意文本左侧的数字只是为你提供一些标记信息 你不需要将他们输入到你的代码文件中 )

这就是我们所有的代码了 是不是非常不错?现在我门来解释一下上面这些代码的作用

行 是 HTML 的注释说明

行 这些 JSP 标签是为了引用外部的 标签库 更确切的说这里是引用了JSTL库中的 Core 和SQL标签库部分 我们为他们都设置了前缀名称 以便于我们通过这些前缀名称访问被引入的标签库中的功能方法

行 正如 Hello jsp 真正运行的样子 他将请求continue jsp Continue jsp获得请求后就需要得到并解析来自Hello jsp的若干变量 我们使用了这样的方式${param YOUR_VAR} 在第 行<c:set标签 将变量${h}设置为 "localhost" 第五行变量${l}将获取我们在 Hello jsp中的login文本域中输入的信息 第 行的变量将分别获得来自Hello jsp中用户所输入的密码 数据库名称 数据表名称

行 是一些我经常用来常见HTML网页头的简单的HTML标签 马上 重要的功能马上要到了

行 我们试图用我们先前获得的mysql驱动程序( mysql jdbc Driver)建立数据库连接 在URL中 我们指明数据库连接所需要的参数 象数据库名称 主机名称 登陆名及登陆密码 依此 我们可以用其它任何的JDBC驱动程序连接其相对的数据库 如果我们需要连接其他的SQL数据库 只需更改这个 URL就够了

行 这里我们执行了一个Select 查询 请特别注意第 行 我们使用了另一个JSTL功能函数<c:out 用来输出我们所获取的数据表名称 这里我们同样可以使用其他的SQL命令 比如说 INSERT DELETE 等等 要执行这些没有返回值的查询请求 你就需要使用<sql:update JSTL功能函数了 他可以直接执行他们就象<SQL:query一样 只是执行它是不需要特别指定结果变量来存储语句执行返回的结果

行 既然我们执行了上面的SELECT查询语句 我们就应该把他的返回结果显示出来 <c:forEach 就是JSTL 中一个具有迭代功能的函数 执行它时 我们通过${result rowsByIndex}将返回的每一个数据行信息返回给变量${row} 紧接着在第 行 我们通过<c:out value="${row[ ]}"/>显示返回的每个数据行的第一个数据列中的值 只要你的数据表中包含的字段 你都可以通过改变变量 ${row}中的数字大小来对请求表中的任意一个字段中的值对他们进行访问

行 是HTML 页脚

在你亲自创建JSTL应用程序过程中 可能你还没有发现它有多么的强大 但你应该能够意识到JSTL的功能函数的简单和高效性 试想有了JSTL 整合出一个基于SQL的新闻专栏是何等的快速 集成你现有的web站点是何等的容易

很好 我们的代码很容易理解的 即使一个非专业程序员的话 打个比方就算是一个设计师也能够读懂它 理解它 还可能进行部分的修改 起码是页面布局上的修改

正如我们开始的时候所提到的 为了使我们的JSTL代码正常的运行 我们需要安装Mysql Connector/J 中的JAR 文件 当然还有 JSTL 因为我们使用了Tomcat这个JSp 容器 你需要在Tomcat的文件目录Webapps下创建你自己的文件夹 将你的Hello jsp Continue jsp文件放在你创建的文件目录中 在你创建的目录中你还要创建一个叫做WEB INF 的文件夹 将你的配置文件Web xml放在里面 web xml文件如下

<xml version=" " encoding="UTF ">

<!DOCTYPE web app

PUBLIC " //Sun Microsystems Inc //DTD Web Application //EN"

">

<web app />

接下来我们还需要在WEB INF下创建一个叫做lib的子目 并将下列文件放进去

jstl jar

saxpath jar

standard jar

lishixinzhi/Article/program/Java/JSP/201311/20216

Dell向运行于Windows *** 作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

打开一个程序的安装目录,在这里面可以看到一些dll的一些文件。如果在它的上面双击的话会在它的旁边提示:如果是想要查看它可以下载安装一个叫exescope的自定义应用软件的工具。

右边有一个更多,点击一下“更多”,可以看到它的默认安装路径,如果不需要更改的话,它就会默认的安装到c盘的程序文件夹中。

点击安装之后,在它d出的面板中有一个自动汉化的说明,我们点击“已阅”。接着在它的安装过程中会出现一个安装类型,可以根据需要选择一个安装类型,这里就选择它默认的“典型安装”,然后点击:下一步。当安装到汉化的安装目录的时候它会提示,如果是不想把它安装到默认位置的话,可以在点击浏览选择一个安装的文件位置。

首先,这两个都是外来词,不是中国本土的词汇。

1, 国际化侧重于:国家,地区,某些地区和区域之间的文化,语言方面。简言之,国家化是指在一定的范围内才能实现的,如:中国产品的国际化 可以在美日等国实现,但总不能在一些偏远地方(如印第安原始人部落)实现的,因此国际化会受地域文化制约。

2,全球化:当然是全球范围内,对象是人类社会,强调相互之间的沟通联系的加强:如网络全球化,经济全球化。影响范围包括了:政治,教育,经贸,社会等各个方面。,

3,以下是二者的一些概念:

国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际化。

全球化(globalization),是一种概念,也是一种人类社会发展的现象过程。全球化目前有诸多定义,通常意义上的全球化是指全球联系不断增强,人类生活在全球规模的基础上发展及全球意识的崛起。国与国之间在政治、经济贸易上互相依存。全球化亦可以解释为世界的压缩和视全球为一个整体。二十世纪九十年代后,随着全球化势力对人类社会影响层面的扩张,已逐渐引起各国政治、教育、社会及文化等学科领域的重视,纷纷引起研究热潮。

Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。

Slackware Linux的另一个突出的特性也符合KISS原则:Slackware没有如RPM之类的成熟的软件包管理器。Slackware的软件包都是通常的tgz(tar/gzip)格式文件再加上安装脚本。Tgz对于有经验的用户来说,比RPM更为强大,并避免了RPM之类管理器的依赖性问题。Slackware还有一个众所周知的特性就是BSD风格的初始化脚本。Slackware对所有的运行级(runlevel)/任务都用同一个脚本,而不是在不同的运行级中建立一堆脚本的链接。这样让你不必自己写新的脚本就能很容易地调整系统。

以上就是关于I18N是什么意思全部的内容,包括:I18N是什么意思、j2ee培训有什么课程、如何使用qt的国际化,本地化支持 步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9877006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存