# jquery.i18n **Repository Path**: fulusco/jquery.i18n ## Basic Information - **Project Name**: jquery.i18n - **Description**: jquery 国际化插件 i18n 基于 https://github.com/T-baby/jquery.i18n - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2018-03-01 - **Last Updated**: 2025-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 现阶段不在更新该插件,转为使用JavaScript版国际化插件 https://gitee.com/minus16/i18n.js #### 如果有什么bug可以联系,或提交 [Issues](https://gitee.com/fulusco/jquery.i18n/issues) # jquery.i18n.js --- 一个基于jQuery的轻量级的国际化(i18n)插件。 - 支持根据设置默认语言 - 支持切换语言 - 支持使用json文件存储翻译内容 - 如有其它需求可提 Issues 可以根据用户自定义的不同语言版本的json文件,按需渲染网页上的语言,实现国际化。 ## 安装 在项目中先引入jQuery文件: ```JS ``` 然后在jQuery之后引入jquery.i18n.js: ```JS ``` ## 使用方法 > 注意!请在服务器端运行该程序。因为 XMLHttpRequest cannot load file:xxx. 首先在项目中新建 `i18n` 文件夹,在此文件夹下放置不同语言版本的 `i18n_xx.json` 语言文件。(您也可以自定义文件名的开头和结尾如BaiduCnLang.js,下面的示例中以i18n_为文件名开头) 在需要使用国际化功能的DOM结构处引入i18n属性(i18n中的value为语言文件中key,可自定义): ```HTML
multi-language
internationalization
``` 接着只需在语言文件中增加内容。 例如中文版的语言文件命名为 `i18n_cn.json`,英文版的语言文件命名为 `i18n_en.json`: `i18n_cn.json`: ``` { "i18n.test": "多语言", "i18n.test2": "国际化" } ``` 与之对应的翻译文件 `i18n_en.json`: ``` { "i18n.test": "multi-language", "i18n.test2": "internationalization" } ``` 最后在脚本中执行如下方法,初始化该插件。 ```JS var lang = $("[i18n]").i18n({ defaultLang: "en", filePath: "/i18n/", //注意!要配置好语言文件的正确路径 filePrefix: "i18n_", fileSuffix: "", forever: true, get:true,// 开启lang.get("i18n.test") 方法的开关。默认为false关闭状态,lang为null callback: function() { } }); // 当开启了get=true后,也可以使用window.I18n.get("key"), 如果配置了多个$("[i18n]").i18n({}),则window.I18n的值是最新的一个 ``` ## 配置 #### defaultLang ```JS defaultLang: defaultLang, ``` 默认语言名称,插件会自动将 `filePrefix`+`defaultLang`+`fileSuffix` 拼接在一起作为语言文件文件名。 #### filePath ```JS filePath: "/i18n/", ``` 该参数指定了语言文件所在文件夹在项目中的位置。 #### filePrefix ```JS filePrefix: "i18n_", ``` 该参数指定了语言文件的命名的前缀。 #### fileSuffix ```JS fileSuffix: "", ``` 该参数指定了语言文件的命名的后缀。 #### callback ```javascript callback:function(){ //do something } ``` ## i18nOnly 默认会将HTML元素的placeholder、value、html一起进行翻译替换,如果您只需要替换其中一个,可以在HTML标签中声明 `i18nOnly` 属性。 ```html ``` ## 基于 https://github.com/T-baby/jquery.i18n