var language;
$(function(){
if("chinese"==language){
$("select[name='language']").val("chinese");
}
language=getCookie("language");
if("chinese"==language){
chineseLabel();
}
var i18nsectionList=$(".ion18section");
for(var i=0;i<i18nsectionList.length;i+=1){
var section_content=$(i18nsectionList[i]).html();
var section_result=lang_section.getChineseInform(section_content,language);
$(i18nsectionList[i]).html(section_result);
}
});
function chineseLabel(){
var ino18List=$(".ion18");
var ishaveValue=true;
for(var i=0;i<ino18List.length;i+=1){
var content=$(ino18List[i]).val();
if(ino18List[i].localName=="option"){
content="";
}
if(!content){
content=$(ino18List[i]).html();
ishaveValue=false;
}
var result= lang.getChineseInform(content);
if(!ishaveValue){
$(ino18List[i]).html(result);
}else{
$(ino18List[i]).val(result);
}
ishaveValue=true;
}
}
function getLabelNameForI18n(labelName){
if("chinese"==language){
return lang.getChineseInform(labelName);
}else{
return labelName;
}
}
function getSectionMessegeForI18n(labelName){
return lang_section.getChineseInform(labelName,language);
}
/***针对页面中标题等英文需要翻译时的国际化的实现方式,messege保存的信息 Key:对照前面是 英文语句的去掉空格,将一些非法字符
* 转义,变小写等处理后的字符串,value:对应的中文名
*/
var lang={
messege:{
home:"主页",
manager:"后台管理",
help:"帮助",
},
getChineseInform:function (name){
var content= replaceAllSpace(name);
var first_char=content.charAt(0);
if(!isNaN(first_char)){
content="_"+content;
}
lowerName=content.toLowerCase();
return this.messege[lowerName];
}
}
/*
* 去掉字符串所有空格
*/
function replaceAllSpace(content){
while(content.indexOf("-")!=-1){
content=content.replace("-","_");
}
return content.replace(/\s/g,'');
}
/**针对页面中,大段英文需要翻译时的国际化的实现方式,用上述方式,key太长,不易比较
* messege 的key 命名规则:分为2种
* 一种为 页面名称+"_"+位置代号 如:fixingproducedure_node1 表示在fixingproducedure.html页面类的 node处
* 一种为 功能名称+messege 如:downloadmessege 表示在下载数据时的消息提示信息
* Please make sure a constant main power
is always on to the gateway box.
*/
var lang_section={
messege:{fixingproducedure_a:{
en_messege:". If the system is not working, please check on the following things:",
zh_messege:". 如果系统不能正常工作,请检查下列事项:"
},
},
getChineseInform:function (name,language){
var result=name;
var content= replaceAllSpace(name);
lowerName=content.toLowerCase();
if(language=="chinese"&&this.messege[lowerName]){
result= this.messege[lowerName].zh_messege;
}else{
result= this.messege[lowerName].en_messege;
}
return result;
}
}
分享到:
相关推荐
本文将详细探讨如何使用JavaScript(简称js)中的i18n库实现页面国际化。 首先,需要理解i18n的含义。"i18n"是一个行业术语,代表“internationalization”,是指软件或文档在设计阶段就考虑了不同地区和语言的用户...
在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们...
在现代Web开发中,为了让网站或应用能够...总的来说,通过前端实现Web页面的国际化多语言切换,不仅可以提高用户体验,也是扩大业务覆盖范围、吸引全球用户的重要手段。掌握上述技术并灵活运用,就能轻松实现这一目标。
这些文件将负责处理语言切换和页面布局的国际化。 `i18n`文件夹可能包含各种语言的本地化文件,比如JSON格式的翻译资源。例如,`en.json`代表英语版本,`zh-CN.json`代表简体中文版本。每个文件中会有键值对,键是...
在这个例子中,我们将探讨如何在基于Qt 4.8的环境中实现多页面应用的国际化。 首先,了解Qt的国际化机制。Qt使用QTranslator类来加载和应用翻译文件(通常为.qm格式),这些文件由Qt Linguist工具生成,从.ts...
4. **在JSP页面中使用国际化资源**: 在JSP页面中,使用`<s:text>`标签来引用资源文件中的字符串,如: ```jsp ``` Struts2会自动根据当前语言环境加载对应的字符串。 5. **处理动态内容**: 如果需要在国际...
前段页面的国际化,运用jquery-i18next js做国际化处理,i18n实现前端国际化,页面的多语言切换,本例切换了中英文,运用cookie存取使得刷新页面仍然保持当前语言 1、通过请求不同的语言文件,达到国际化前端的效果...
这个“jquery国际化demo”项目提供了一个简单的示例,帮助初学者快速理解和应用jQuery的国际化功能。 首先,jQuery的国际化通常依赖于jQuery-i18n-plugin。这是一个用于处理翻译文本的插件,它可以加载不同语言的...
通过以上步骤,你可以为Spring Boot应用实现完整的国际化功能,包括页面的中英文切换,并确保在页面跳转时,语言设置得以保持。记得在实际项目中,还要考虑如何优雅地处理未找到对应语言资源的情况,以及优化语言...
1. 页面国际化(i18n):i18n是“internationalization”的缩写,表示将网站或应用设计为可以轻松适应多种语言的过程。 2. 页面多语言:一个网站或应用提供不止一种语言的界面,如英语、中文、法语等。 3. 前端多...
为了使网站或应用对全球用户友好,我们需要将其文本翻译成目标语言,这就是“file input 按钮国际化”的目标。 实现这个功能的方法有多种,下面介绍几种常见的技术: 1. **使用HTML5的`lang`属性**:HTML5允许我们...
下面将详细介绍如何在Struts中进行页面国际化,并提供相关的实践步骤。 1. **资源文件的创建** 页面国际化的核心是资源文件,通常使用`.properties`文件格式。例如,我们可以创建两个文件:`messages_en....
实验报告将提交相关程序代码(Action 类程序、`web.xml`、`struts.xml`、JSP、国际化资源文件)和页面效果。 五、结论 通过本实验,我们掌握了 Struts2 标签库和国际化功能的使用,并实现了用户注册页面的国际化...
下面将详细介绍如何使用Struts2来实现国际化,并探讨相关的源码和工具。 **一、国际化基础** 国际化(i18n)是软件开发中的一个重要概念,它涉及为不同地区的用户提供本地化内容。在Web应用中,这通常通过资源文件...
1. 页面国际化:在JSP页面中,可以使用`s:text`标签输出国际化文本,或者在`s:textfield`的`key`属性中指定资源文件中的键。还可以使用`s:i18n`标签直接查找资源文件中的内容。 2. Action国际化:在Action类中,...
- 分离业务逻辑和显示逻辑:将国际化字符串移出Java代码,放入资源包中。 - 维护统一的资源包命名和结构,便于管理和更新。 - 使用国际化友好的日期和数字格式,避免硬编码。 通过以上步骤和方法,我们可以有效...
JavaScript(简称JS)是网页开发中的重要脚本语言,它为开发者提供了丰富的功能,其中之一就是实现国际化(i18n,Internationalization)。国际化是让软件能够适应不同地区、语言和文化背景的重要特性,使得应用程序...
本文将深入探讨如何实现一个具备主表和子表双向交互功能的表格系统,其中包括新增、编辑、保存、删除、主表展开以及分页国际化等关键功能。 首先,我们要理解React中的表格组件。React本身并不提供内置的表格组件,...
在这个"springMVC国际化登陆整合"项目中,我们将探讨SpringMVC如何与国际化(i18n)相结合,以及登录功能的实现。 1. **SpringMVC的国际化配置**: - 在SpringMVC项目中,国际化主要通过MessageSource接口实现,它...
该Demo源码是博文《基于jQuery.i18n.properties 实现前端页面的资源国际化》里面的源码Demo。博文地址:http://blog.csdn.net/aixiaoyang168/article/details/49336709。 可供下载学习使用。