【问题标题】:Change locale dynamically after plugin is applied应用插件后动态更改语言环境
【发布时间】:2015-05-16 09:05:39
【问题描述】:

应用插件后如何更改语言环境?

假设我分配了“en_US”语言环境。现在我想在运行时更改它。

我尝试将插件重新应用到元素:

$(element).formValidation({locale: 'es_ES',....});

但是没有效果。有什么想法吗?

如何刷新视图?

【问题讨论】:

    标签: formvalidation-plugin


    【解决方案1】:

    编辑:2015-06-18

    在您按照下面的解决方案(第 1 步和第 2 步(选项 3))之前,请确保您从 @987654321 下载了 i18n 插件@,这个插件将帮助您定义不同语言的消息。

    包含它,然后按如下方式使用它:

    $(form).formValidation({
        framework: '...',
        icon: {
            // ...
        },
        addOns: {
            i18n: {}
        },
        fields: {
            // ...
        }
    });
    

    更多信息请见http://formvalidation.io/addons/i18n/

    
    
    

    这是解决问题的方法:

    1. 在包含formvalidation.(min.)js 之后包含语言文件es_ES.(min.)js
    2. 设置语言环境:

      • 选项 1: 使用您在问题中提供的语言环境选项。
      • 选项 2: 您可以将属性 data-fv-locale="es_ES" 添加到您的表单中。
      • 选项 3: 使用setLocale 方法:

        $('#yourFormId').formValidation('setLocale', 'es_ES');
        

    注意事项:

    • setLocale 方法没有记录,要查看其用法,请参阅 这里的例子http://formvalidation.io/addons/i18n/

    • 应该在初始化插件之前使用选项 1 和 2并且不使用 i18n 插件

    • 初始化后的选项 3。

    【讨论】:

    • 嗨,我尝试了选项 3,但没有在运行时更新语言环境。因此,假设我有某种形式,默认为 en_US 语言环境。首次加载页面时,错误会以英文显示。然后,如果我通过下拉菜单将语言更改为“es_ES”,并触发 $('#yourFormId').formValidation('setLocale', 'es_ES');错误一直以英语显示,而不是西班牙语。还有什么想法吗?谢谢。
    • 您还应该包含语言文件es_ES.(min.)js(步骤1),请查看我的答案中提供的链接中的示例。
    • 它包括:` `
    • 我的朋友,现在可以了。我错过了这个:addOns: { i18n: {} },谢谢!
    • 很高兴听到您解决了问题,不客气 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多