场景:网站是用的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. 关于EmuELC的ES设置菜单系统语言包修改

    找到系统语言包路径:/storage/.config/emuelec/configs/locale/,这里已经有很多语言的翻译目录,找到我们需要汉化的中文路径: /storage/.config/em ...

  2. Visual Studio 2017 设置语言以及下载语言包

    笔者的操作环境为Visual Studio 2017 英文模式下 打开VS 2017, 点击Tools --> Options 在弹出的菜单框中选择Environment --> Inte ...

  3. Win11无法安装中文包语言包怎么办?

    Win11无法安装中文包语言包怎么办?有用户使用的Win11系统是英文的,所以需要去进行中文语言包的安装.但是在安装的过程中,却发现文件安装出现了错误,我们一起来看看如何去解决这个问题的操作方法吧. ...

  4. 如何下载安装和使用 Office 2016的中文语言包?

    如何下载安装和使用 Office 2016的中文语言包? ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 https://blog.51cto.c ...

  5. 如何在win 10 家庭版上安装日语语言包

    文章目录 问题描述 查阅过的资料 Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用) 如何解决在Windows 10上更新错误0x80070422? 我的解决办法 问题描述 我 ...

  6. codelite14中文语言包_Windows下CodeLite完美支持中文的正确设置方法

    一.准备工作 1.下载CodeLite最新版本  官方下载 .建议用迅雷下载比较快 如果想检验本文内容的有效性,你必须下载Windows系统下的版本. 2.下载中文语言包 论坛下载 . 如果链接无效, ...

  7. PyQt5 图形界面 - Qt Designer设置简体中文方法演示,Qt Designer字体设置,Qt Designer工具单独安装包获取,Qt Designer简体中文语言包获取

    Qt Designer 工具获取: PyQt5 图形界面 - Qt Designer 独立安装包,仅需 30M!python 图像化界面绘制工具 这是默认版本样式,下面来看下简体中文设置过程. Qt ...

  8. Linux怎么查看设置系统语言包

    查看当前系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 查看安装的语言包 查看是否有中文语言包可以在终端输入 locale命令,如有zh cn  ...

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

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

  10. c4d语言包英文,Maxon Cinema 4D R23(C4D R23)中英文安装及设置详细教程(附下载)

    中文包安装方法: 离线方法:打开下载好的语言包文件,在顶部菜单栏找到"Help>Manual Installation" 打开语言包的位置,选择要安装的.c4dupdate包 ...

最新文章

  1. 对前端界面工程师这个职位是怎么样理解的?
  2. 【学习笔记】Vue的动态循环插入v-for
  3. 计算机科学与技术pdf,计算机科学与技术(.PDF
  4. docker部署python web应用_安装docker并部署web项目
  5. CANN5.0黑科技解密 | 别眨眼,缩小隧道,让你的AI模型“身轻如燕”
  6. 使用XMLHttpRequest实现AJAX
  7. Mac工具PullTube如何在下载列表中创建重复项
  8. 阿里 java ide_纯JAVA版JAVA IDE环境(源码)
  9. 徐培成大数据第一季java基础-徐培成-专题视频课程
  10. 怎么提高企业微信加人的通过率,让企业微信加更多客户?快速加人,引流拓客有什么技巧(企微运营干货)
  11. OpenGL Assimp的骨骼动画
  12. gitlab发邮件收不到
  13. 哪款蓝牙耳机跑步好用?跑步好用的耳机推荐
  14. 递归算法的时间复杂度的分析方法
  15. img预加载获取图片大小方法
  16. English--vowels_双元音
  17. java计算机毕业设计springboot+vue中国古诗词网站(源码+系统+mysql数据库+Lw文档)
  18. 领导合影站位图_领导座次安排图,没有人会教你这些,但非常重要!(建议收藏)...
  19. 生物信息学python脚本_Python生物信息学数据管理
  20. Windows7 下设置电脑做手机 WIFI 热点

热门文章

  1. MapXtreme2005开发的经典问题
  2. python实训day7
  3. 对GridFS数据进行分片
  4. MFC中给对话框重绘边框
  5. nginx 服务器并发优化
  6. eclipse编码方式、标签语言获取根目录
  7. ERwin 正向工程
  8. ORB_SLAM3编译
  9. 通过管道实现文件的拷贝
  10. oracle查询当天数据三种方式性能对比