• Js国际化


    使用的js库:http://github.com/jquery/globalize

    引用文章:https://www.cnblogs.com/youring2/p/mvc-5-examining-the-edit-methods-and-edit-view.html

    在Shared目录下的布局页中指定当前使用的系统语言:

    <html lang="@CultureInfo.CurrentUICulture.TwoLetterISOLanguageName">  

    在JS目录生成多语言js文件:

    本地化验证

    如果你是用英语,这部分可以跳过。作为汉语国家用户,我还是把这部分翻译一下吧。

    对于非英语地区的用户来说,小数点使用逗号(","),还有非美语的日期格式,为了支持Jquery 验证,你必须包含 globalize.js 和特定的 cultures/globalize.cultures.js 文件,在Javascript中使用 Globalize.parseFloat。你可以通过NuGet获得 jQuery non-English validation (英语地区不要安装Globalize)。

    From the Tools menu click Library Package Manager, and then click Manage NuGet Packages for Solution.

    在菜单栏中单击“工具”>“库程序包管理器”>“管理解决方案的 NuGet程序包”。

    图5:NuGet 菜单

    image

    在左侧单击“联机”,在查询框中输入“Globalize”:

    图6:查询 Globalize 安装包

    image

    点击“安装”按钮,Scriptsjquery.globalizeglobalize.js 文件将会添加到项目中,文件夹 Scriptsjquery.globalizecultures 中包含了很多Javascript文件。

    下面的代码显示了将文件 ViewsMoviesEdit.cshtml 使用汉语区域所作的修改(原文作者使用法语作为演示):

    代码清单9:script 代码 - Edit.cshtml

    @section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
        <script src="~/Scripts/jquery.globalize/globalize.js"></script>
        <script src="~/Scripts/jquery.globalize/cultures/globalize.culture.zh-CN.js"></script>
        <script>
            $.validator.methods.date = function (value, element) {
                return this.optional(element) || Globalize.parseDate(value);
            };
    
            $.validator.methods.number = function (value, element) {
                return this.optional(element) || !isNaN(Globalize.parseFloat(value));
            };
    
            $.validator.methods.min = function (value, element, param) {
                return this.optional(element) || Globalize.parseFloat(value) >= parseFloat(param);
            };
    
            $.validator.methods.max = function (value, element, param) {
                return this.optional(element) || Globalize.parseFloat(value) <= parseFloat(param);
            };
    
            $.validator.methods.range = function (value, element, param) {
                return this.optional(element) || (Globalize.parseFloat(value) >= parseFloat(param[0]) && Globalize.parseFloat(value) <= parseFloat(param[1]));
            };
    
            $(document).ready(function () {
                //Globalize.culture('zh-CN');
                var lang = document.documentElement.lang;
                Globalize.cultures.en = null;
                Globalize.addCultureInfo(lang,window.cultures.globalize[lang]);
            Globalize.culture(lang);
            });
        </script>
       //另外一种写法
        <script>
            jQuery.extend(jQuery.validator.methods, {
                range: function (value, element, param) {
                    //Use the Globalization plugin to parse the value
                    var val = $.global.parseFloat(value);
                    return this.optional(element) || (
                        val >= param[0] && val <= param[1]);
                }
            });
        </script>
    }

    为了避免在每个编辑视图都写上这么一大段代码,你可以将他们写在布局页。

  • 相关阅读:
    VS2010 ReportViewer导出文件下载保存不能识别文件类型
    FpSpread添加表头(列名)标注
    win7 安装vs2010报错 Error code -939523550 for this component is not recognizedHi
    FpSpread添加标注
    RDLC报表上下标实现
    Zookeeper集群
    RabbitMQ整合springboot
    RabbitMQ 集群-镜像队列
    分布式文件系统FastDFS 分布式安装实战
    https 证书配置无效排查思路(过程)
  • 原文地址:https://www.cnblogs.com/riddly/p/12912378.html
Copyright © 2020-2023  润新知