场景:网站是用的validate.unotrusive.js验证的,网站的语言已经切换到繁体了,但是提示语言还是英文。

环境:asp.net mvc4,jquery.validate.unotrusive.js,mvc整合的内置验证

问题场景截图:

预期场景截图:

解决办法:

首先找到文字的源头:在整个项目解决方案中搜索must be a number是搜索不到的。

猜测:这些提示文字在xxxx.resource.dll语言包中。猜测理由:网站后台线程语言设置为中文的时候,提示中文;设置成繁体的时候,提示英文,故很可能因为没有繁体语言包。

而网上找响应的语言包未果。

Js无所不能:

经排查,该提示语言存在于form对象的data属性中,其键值为:unobtrusiveValidation

所以,在unobtrusive初始化后,根据前台当前语言环境把,提示语言改成需要的语言即可。(前台语言环境不在此文赘述)

Js相关函数:

var ruleNames = { required: 'required', number: 'number' };

function initUnobtrusiveLang() {

    initCulture();


var v = $(document.forms[0]).data('unobtrusiveValidation');


if (v && v.options && v.options.messages) {


var m = v.options.messages;


for (var t in m) {


if (t) {


var required_prop = m[t][ruleNames.required];

 


if (required_prop) {


var msg = required_prop;


var msg_new = msg.replace("The", '');

                    msg_new = msg_new.replace("field is required", $.Resources.SfExpressDelivery.FieldIsRequired);

                     m[t][ruleNames.required] = msg_new;

 

                }


var number_prop = m[t][ruleNames.number];

 


if (number_prop) {


var msg = number_prop;


var msg_new = msg.replace("The field", $.Resources.SfExpressDelivery.TheFiled);

                    msg_new = msg_new.replace("must be a number", $.Resources.SfExpressDelivery.MustBeFiled);

                    m[t][ruleNames.number] = msg_new;

 

                }

            }

        }

    }

}

 

然后在, $jQval.unobtrusive =
{中的parse函数中 each函数后调用

   $(selector).find(":input[data-val=true]").each(function () {

                $jQval.unobtrusive.parseElement(this, true);

            });

 

            initUnobtrusiveLang();//初始化语言包

大功告成,谁知道繁体语言包,麻烦分享下

如何设置unobtrusive的语言包的更多相关文章

  1. Windows Server 2012 R2 英文版安装中文语言包教程

    Windows Server 是云操作系统的主要组成部分. 有了 Windows Server,再加上云操作系统内的开发者技术,您就可以构建现代业务应用程序. 现代业务应用程序通常涵盖内部部署资源和公 ...

  2. Unity编辑器汉化(中文语言包)

    前言 Unity官方已提供编辑器的中文语言包 在官方的帮助文档中选择中文语言 下载方法 方法一:通过Unity Hub 下载 Windows: https://public-cdn.cloud.uni ...

  3. Windows Server 2012 R2 英文版汉化安装中文语言包教程更改为中文版

    是这样的,一台海外的windows机器默认是英文版的,但是特别费劲用起来,就更改为中文版,因为海外的供应商并不提供中文版镜像. 1.首先打开控制面板,找到add language,拉到底就是有中文,很 ...

  4. Eclipse中文语言包安装和设置中文Doc

    1.安装中文语言包 Eclipse所有的扩展功能都是以插件的形式添加上去的,安装插件时有多种形式,下面是比较常用的两种: 直接将插件中的文件复制到Eclipse对于的目录中.优点是安装时很方便,缺点是 ...

  5. TortoiseSVN 设置中文语言包

    相关 TortoiseSVN 下载与安装 [立即前往]下载 简体中文包 64 位 [一键下载] [百度云下载] [官网下载] 简体中文包 32 位 [一键下载] [官网下载]安装    版本确认    ...

  6. Dockerfile 设置语言包

    最近使用Hangfire的Dashboard, 在本地调试时,显示的是中文,但是通过docker在kubernetes上运行时,就显示成英文了, 怀疑是docker运行环境中没有设计默认的语言包: 我 ...

  7. Windows 2012 英文版系统安装中文语言包及时间格式设置

    1.安装中文语言包:在运行窗口中输入"LPKSetup.exe",选择中文语言包安装.--------------------------------------------- 2 ...

  8. Eclipse中文语言包安装和设置中文

    对于英语水平不好或者初学者来说使用中文开发环境可以有效提高学习效率,便于快速的学习和上手,不过对于当前的技术环境学习英语还是非常有必要的,当对Eclipse掌握到一定程度还是应该多使用英语环境来开发, ...

  9. Wordpress 设置中文语言包

    从官方安装的是英文版的,想要切换成中文语言包 1.修改项目目录下面的wp-config文件: 添加define(‘WPLANG’, ‘zh_CN’); 保存文件 2.进入站点控制板(dashboard ...

随机推荐

  1. 配置nginx好了,html能打开,index.php打不开?

    启动这2个  #service nginx restart  # service php-fpm restart

  2. 探究C语言中的前++和后++

    小波带您探究c语言中的前++与后++: 欢迎吐槽,欢迎加QQ463431476. 欢迎关注!  现在来探究: 咱们先看第一个 i被赋值0,i++(后++)并没有输出1.   现在i被赋值0,++i,也 ...

  3. 在Python命令行和VIM中自动补全

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1. VIM下的配置: wget https://github.com/rkulla/pydiction/arc ...

  4. For循环案例---九九乘法表

    概述:先创建一个Print99类,类中创建5个方法,分别为Test9901.Test9902.Test9903.Test9904.Test9905,分别打印出不同形状的九九乘法表,该类创建完成后再创建 ...

  5. BZOJ2118墨墨的等式[数论 最短路建模]

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1317  Solved: 504[Submit][Status][Discus ...

  6. 05章 OGNL

    一.OGNL全称是Object Graph Navigation Language,即对象导航图语言 OGNL在框架中主要做两件事情:表达式语言和类型转换器 OGNL在框架中的作用以及数据的流入流出: ...

  7. Unity打包同一文件Hash不一样

    问题起因 游戏开发基本都会涉及到资源版本管理及更新,本文记录我在打包过程中遇到的一小问题: 开过中常用于标记资源版本的方法有计算文件Hash.VCS的版本等. 在Unity中对同一个资源文件进行多次打 ...

  8. Unity热门插件推荐

    前言 Unite2015的笔记 ,本文所提到的扩展主要针对 mobile上使用. 文中资源在Asset Store描述的截图日期:2016-04-28 Mesh Baker https://www.a ...

  9. noip模拟赛(10.4) 序列(sequence)

    序列(sequence) [题目描述] 给定一个1~n的排列x,每次你可以将x1~xi翻转.你需要求出将序列变为升序的最小操作次数.有多组数据. [输入数据] 第一行一个整数t表示数据组数. 每组数据 ...

  10. 队列Queue

    java中,Queue是Collection接口的子接口,Queue的实现类很多,如LinkedList类. 实际使用可以用LinkedList写一个Queue类,实现入队.出队.求队长.判空.打印等 ...