i18n国际化(页面中英文切换)

本地环境中使用js完成中英文切换的双语页面开发(jq插件附代码) 前言 前端本地如何支持中英文切换的双语页面?这个的方法可以延展很多,常见的是i18n,最粗暴的解决方法写两个页面。但是各有利弊,使用i18n请求本地json数据在谷歌中会报跨域,必须请求服务器端。此篇就是解决下:如何在本地开发中英文切换! 正文 页面 功能:默认进入页面为中文,点击中英文切换数据; 效果: 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> 阅读详情

1.基于jquery,先引入jQuery

2.引入jquery.i18n.js(这个源码应该不完全,但是能用)

(function ($) {
  $.fn.extend({
    i18n: function (options) {
      var defaults = {
        lang: "",
        defaultLang: "",
        filePath: "/i18n/",
        filePrefix: "i18n_",
        fileSuffix: "",
        forever: true,
        callback: function () {},
      };

      function getCookie(name) {
        var arr = document.cookie.split("; ");
        for (var i = 0; i < arr.length; i++) {
          var arr1 = arr[i].split("=");
          if (arr1[0] == name) {
            return arr1[1];
          }
        }
        return "";
      }

      function setCookie(name, value, myDay) {
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + myDay);
        document.cookie = name + "=" + value + "; expires=" + oDate;
      }

      var options = $.extend(defaults, options);

      if (
        getCookie("i18n_lang") != "" &&
        getCookie("i18n_lang") != "undefined" &&
        getCookie("i18n_lang") != null
      ) {
        defaults.defaultLang = getCookie("i18n_lang");
      } else if (options.lang == "" && defaults.defaultLang == "") {
        throw "defaultLang must not be null !";
      }

      if (options.lang != null && options.lang != "") {
        if (options.forever) {
          setCookie("i18n_lang", options.lang);
        } else {
          $.removeCookie("i18n_lang");
        }
      } else {
        options.lang = defaults.defaultLang;
      }

      var i = this;
      $.getJSON(
        options.filePath +
          options.filePrefix +
          options.lang +
          options.fileSuffix +
          ".json",
        function (data) {
          var i18nLang = {};
          if (data != null) {
            i18nLang = data;
          }

          $(i).each(function (i) {
            var i18nOnly = $(this).attr("i18n-only");
            if ($(this).val() != null && $(this).val() != "") {
              if (
                i18nOnly == null ||
                i18nOnly == undefined ||
                i18nOnly == "" ||
                i18nOnly == "value"
              ) {
                $(this).val(i18nLang[$(this).attr("i18n")]);
              }
            }
            if ($(this).html() != null && $(this).html() != "") {
              if (
                i18nOnly == null ||
                i18nOnly == undefined ||
                i18nOnly == "" ||
                i18nOnly == "html"
              ) {
                $(this).html(i18nLang[$(this).attr("i18n")]);
              }
            }
            if (
              $(this).attr("placeholder") != null &&
              $(this).attr("placeholder") != ""
            ) {
              if (
                i18nOnly == null ||
                i18nOnly == undefined ||
                i18nOnly == "" ||
                i18nOnly == "placeholder"
              ) {
                $(this).attr("placeholder", i18nLang[$(this).attr("i18n")]);
              }
            }
          });
          options.callback();
        }
      );
    },
  });
})(jQuery);

3.语言json文件引入(内容可以自己改为需要的)

i18n_cn.json-----中文语言

{
    "i18n.themselves": "关于我们",
    "i18n.successful-case": "成功案例"
 }

i18n_en.json-----英语语言

{
    "i18n.themselves": "ABOUT US",
    "i18n.successful-case": "FUNCTOR"
}

4.给需要中英文转换的元素添加类名

 <h1 i18n="i18n.themselves">关于我们</h1>
 <h1 i18n="i18n.successful-case">成功案例</h1>

5.添加js代码

 languageSelect("en");//默认显示的语言
      function languageSelect(defaultLang) {
        $("[i18n]").i18n({
          defaultLang,
          filePath: "./",//json语言文件所在的路径
        });
      }

 

HTML静态页面国际化,如何优雅的实现前端国际化 今天小编会使用boostrap框架搭建一个配有中英文切换功能的网页,还有就是使用nodejs搭建后台服务,从头实现一个完整的前端国际化开发项目,内容不算很复杂,很适合前端已入门的胖友们。01 、前端国际化概述港真,自己刚接到这个需求的时候,也是不知如何下手,毕竟也没经验,后面就找了百度,经过一番探索,最终圆满的完成了任务,下面就把我的经验写下来,有需要的朋友拿去,不谢~~~首先我们先来普及一下什么... 阅读详情

相关推荐

vue项目国际化 vue-i18n以及踩坑解决 小姐姐手把手教你VUE国际化~

1.安装配置 - 安装 $ npm install vue-i18n 或者: <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script> impor...

Lotus的博客 2万+

i18n实现 html、js、java后端 国际化翻译

一、HTML页面的国际化翻译 1.配置类 /** * 描述: * i18n配置类 * @author 闲走天涯 * @date 2018/8/118:34 */ @Slf4j @Configuration public class I18nConfiguration { @Value("${i18n.default.lang:zh_CN}") private String default_lang;//国际化翻译默认语言 @Bean(name="localeResolv

闲走天涯的博客 2234

前端中英文切换,复制所有页面 / i18n

jquery.i18n.properties前端国际化方案 jQuery.i18n.properties开发指南

Yanfengting的博客 1738

html简单的国际化,i18n实现前端国际化(实例)

在今日的需求中需要利用 i18n 这个框架来实现前端的国家化操作,下图是实现效果:点击选择框实现网页上语言的切换:下面开始实现过程:所需工具:- jquery-3.3.1.js 下载地址:jquery- jquery.i18n.properties.js jquery.i18n.properties.js搭建项目目录如下:其中:language.js 为自定义的 js 文件,用于实现页面逻辑,...

weixin_39710251的博客 1352

如何优雅的实现前端国际化

今天小编会使用boostrap框架搭建一个配有中英文切换功能的网页,还有就是使用nodejs搭建后台服务,从头实现一个完整的前端国际化开发项目,内容不算很复杂,很适合前端已入门的胖友们。 01 、前端国际化概述 港真,自己刚接到这个需求的时候,也是不知如何下手,毕竟也没经验,后面就找了百度,经过一番探索,最终圆满的完成了任务,下面就把我的经验写下来,有需要的朋友拿去,不谢~~~ 首先我们先来普及一...

张miro 5986

struts2 国际化 I18N

Struts2 的国际化实现        I18N 实际就是 Internationalization,因为以 I 开头,以 N 结尾,共18个字母,也就是国际化的意思。常见的就是中英文切换,下面就以中英文切换为例。 --------------------------------------------------------------------------

HackAge4619的博客 2457

web页面国际化,web页面中英文切换,vue项目国际化----------vue-i18n详细用法。

什么是web页面国际化 web页面国际化页面国际化,就是可以让网页的文字信息,根据用户的选择,显示中文、英文、韩语、等等。 如下图举例: 第一张用户选择中文 第二用户选择韩语 前端应该如何实现国际化 思路:如上面举的例子,用户点击选自不同的语言,页面就会展示对应的语言文字,类似与翻译功能;首先我们编写我们国际化配置文件,配置文件中是页面需要显示的文字信息,通过用户的选择页面展示不同的配置文件。 1、下载vue-i18n npm install vue-i18n 2、配置国际化文件 zh.js中的配置如

果冻 1682

使用jQuery.i18n实现前端国际化标准

在Web应用程序的开发中,国际化是一个重要的考虑因素。jQuery.i18n是一个强大的jQuery插件,它提供了一种简单而灵活的方式来实现前端国际化。资源文件是一个JSON格式的文件,包含了键值对,其中键是用于标识特定文本的标识符,值则是相应语言下的本地化文本。在资源文件加载完成后,我们可以根据用户的语言偏好来更新页面上的内容。在JavaScript代码中,我们需要初始化jQuery.i18n,并加载适当的语言资源文件。最后,我们可以添加一个语言切换的功能,让用户能够在应用程序中切换语言。

laugh666的博客 921

web页面国际化,web页面中英文切换,vue项目国际化----------vue-i18n详细用法

web页面国际化,web页面中英文切换,vue项目国际化----------vue-i18n详细用法

smouns_的博客 3029

Vue3 - 实现vue-i18n国际化多语言中英文切换功能全流程,支持从后端服务器API获取语言json配置文件动态渲染,语言切换后全部页面立即实时变化可自定义新增各国语言(附带组件库的文字国际化)

vue3,vue-i18n,国际化教程,vue3项目国际化(使用vue-i18n),如何让语言包放到服务器通过请求获取,vue3项目实现国际化,Vue3 I18n 国际化插件,从安装到使用最全篇,vue3中英文语言切换,vue3 i18n国际化将json中英文配置放到后端,vue3项目中实现多语言 vue-i18n处理动态加载后端数据语言,如何在vue3中使用国际化i18n插件vue3使用i18n,动态加载语言包,vue3 i18n如何从后端获取zh.js en.js配置文件放到服务器端,接口获取语言js,

🏆 前端领域优质创作者 1万+

前端实现中英文翻译切换

前端实现中英文翻译切换,下载后解压打开html文件即可使用,点击翻译可以进行中英文的切换。

SpringBoot-页面国际化(五)

SpringBoot-页面国际化(五) 参考微信公众号:狂神说 页面国际化 如果想实现页面中英文切换,这时候就涉及到页面国际化 一、准备工作 现在IDEA中设置编码统一为UTF-8 编写国际化配置文件,抽取页面需要显示的国际化页面消息。我们可以去登录页面查看一下,哪些内容我们需要编写国际化的配置 i18n配置文件的编写 1、 我们在resources资源文件下新建一个i18n目录,存放国际化配置文件 2、 建立一个login.properties文件,还有一个login_zh_CN.properties;

weixin_46053707的博客 360

软件项目质量管理

识别项目中涉及质量管理的不同角色,如项目经理、质量经理、测试人员等,明确每个角色的职责和任务,包括负责哪些质量管理活动和决策。1、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。2、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。测试用例表是质量控制过程中的关键工具,确保所有功能和场景都被验证,减少项目中的缺陷。1、理解项目质量管理的基本过程,包括质量计划、质量保证、质量控制和质量改进;明确质量管理活动中的角色和职责。

weixin_51996255的博客 1260

struts2的国际化中英文切换

为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分。 资源文件的命名可以是如下3种形式: baseName_language_country.properties baseName_language.properties baseName.properties 其中baseName是资源文...

weixin_42656571的博客 364

Excel基金净值自动更新:手把手教你用Power Query抓取天天基金网数据(含常见错误修复)

本文详细介绍了如何利用Excel内置的Power Query工具,从天天基金网自动抓取基金净值数据,实现表格数据的自动刷新。通过手把手教程,您将学会构建参数化查询、整合多基金数据、计算持仓盈亏,并解决网页结构变动等常见错误,最终打造一个专属的、可自动更新的基金监控仪表盘,彻底告别手动更新。

xx56789的博客 730

立创开源TinyAWG:基于ZYNQ7010的35MHz带宽200MSa/s任意波形发生器设计与实现

本文详细解析了立创开源TinyAWG的设计与实现,这是一款基于ZYNQ7010芯片的低成本高性能任意波形发生器。项目实现了35MHz带宽和200MSa/s采样率,核心采用ARM+FPGA协同架构,FPGA负责高速DDS信号生成,ARM运行Linux并搭载LVGL图形界面。文章涵盖了硬件选型、电路设计、软件逻辑及性能测试,为复刻和学习ZYNQ系统设计、高速DAC应用提供了完整参考。

weixin_42576467的博客 435

进阶SpringBoot之员工管理系统(3)页面国际化

MyLocaleResolver.java:实现 LocaleResolver 接口,重写方法。spring.messages.basename=i18n.login 配置文件真实位置。2.如果需要在项目中进行按钮自动切换,需要自定义一个组件 LocaleResolver。(最下方一定要改 UTF-8 加勾选,不然 properties 全是乱码)在 Resource Bundle 中编写好的内容将直接呈现在代码上。点击添加,输入 login.tip,直接在右侧编写中英文展示。

m0_58838332的博客 589

嵌入式开发必备:aarch64-linux-gnu-gcc交叉编译工具链保姆级安装指南(含常见错误解决)

本文详细介绍了aarch64-linux-gnu-gcc交叉编译工具链的安装与配置方法,涵盖从系统软件源安装到Linaro二进制包部署的全流程。针对嵌入式开发中常见的依赖错误、版本冲突等问题提供实用解决方案,并分享性能优化技巧与项目集成经验,帮助开发者高效完成ARM64设备的跨平台开发。

yoga7的博客 1030

struts国际化配置

 以前一直看见 i18N ,现在才知道原来 i18N 就是 Internationalization,因为以 i 开头,以 N 结尾,共18个字母,也就是国际化的意思。在百度搜索主页上没有看见中英文的切换,毕竟百度在中国是为了中国人而设计的,没必要弄个英文的切换。google搜索主页上是有的,因为谷歌在中国的服务器放到了香港,所以还有繁体切换。这是怎么做到的呢?其实原理很简单,用Struts

wocaishiyatoupianzi的博客 246

2026星宸科技数字IC设计笔试带答案

摘要:本文包含四个计算机科学领域的编程与逻辑设计题目解析。第一部分通过C语言程序补充水仙花数判断代码,考查循环结构和函数设计;第二部分分析Verilog代码的D触发器电路,讨论时序约束与时钟频率影响;第三部分详细讲解静态时序分析中的建立/保持时间计算与违例判断;第四部分计算机体系结构题目涉及CPI、MIPS计算和性能加速比分析。最后还包含一个逻辑代数化简的示例,展示基本的布尔代数简化技巧。这些题目全面覆盖了编程基础、数字电路设计、时序分析和计算机性能评估等核心知识点。(149字)

Open 121

面试真题集(十六):TensorRT基础

TensorRT面试真题解析:从模型优化到推理部署 本文精选了14道TensorRT面试题,涵盖选择题、简答题和场景题,深度考察推理工程师对TensorRT核心技术的理解。内容聚焦三个关键维度: 基础概念 FP16推理中Softmax层为何需保持FP32(数值稳定性) INT8校准原理(EntropyCalibrator2的鲁棒性优势) Plugin V3接口的构建/运行分离设计 性能优化 Conv-BN-ReLU融合减少40-60%延迟的关键机制(访存优化) 动态Shape配置策略(min/opt/max

PeterPan的博客 71

利用vue-i18n中英文切换实现国际化,及从后台读取配置文件国际化解决方案

控制整个系统的中英文或其他语言显示,大概思路就是就是要把整个系统显示的中文对应的英文全部翻译一遍,然后写定key,根据配置的中英文属性,拿value。 1、npm installvue-i18n --save 安装依赖 2、编写语言文件,我放在这里,en.js为英文配置文件,zh.js为中文配置文件,en英文配置文件部分截图,对应的zh中文配置文件截图 3、在main.js里面引入v...

xuerwang的博客 6368

YTM32B1M SDK解析31:软件I2C驱动详解

YTM32B1M微控制器软件I2C驱动解析 本文详细介绍了YTM32B1M微控制器中通过GPIO引脚模拟I2C总线的软件实现方案。核心内容包括: 驱动架构:采用swi2c_config_t配置结构体和swi2c_state_t状态结构体管理I2C参数 功能接口:提供初始化、数据传输(主/从模式)、底层控制等API 应用示例:包含基本配置、EEPROM读写、传感器数据采集、总线扫描等典型应用场景 优化建议:给出引脚选择、时序配置、错误处理等方面的最佳实践 该驱动在硬件I2C资源不足时提供可靠替代方案,支持标准

VehSwHwDeveloper的博客 158

SpringBoot-中英文页面切换(国际化)

目录1. 设置项目编码UTF82. 在resources目录下新建i18n文件夹及语言配置文件3. 指出国际化相关文件的位置4. 展示页面5. 使用按钮切换中英文页面5.1 新建html页面5.2 实现LocaleResolver 接口5.3 放入Bean 1. 设置项目编码UTF8 英文界面搜索File Encodings, 中文界面搜索文件编码。 2. 在resources目录下新建i18...

博客 1325

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

require引入js vue_vue-i18n国际化

首先,我开发是以 vue 为技术栈,所以如题用的国际化插件是 vue-i18n1、我们得先有开发环境,先有项目跑起来,我推荐如果是喜欢用 vue 的小伙伴,可以尝试 vue-cli 官方脚手架。2、我们需要安装 vue-i18n, 推荐 npm 包依赖:$ npm install vue-i18n当然你也可以这样:<script src="https://unpkg.com/vue/dis...

weixin_28803437的博客 211

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 锚点展现与隐藏
下一篇: 中英文切换(仿i18n)
小森呀
博客等级 码龄9年 9粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值