如何本地化“提示”语义UI表单验证?

时间:2015-12-01 10:40:15

标签: jquery validation localization semantic-ui

如何在下面的代码中本地化prompt的值?

$('.ui.form').form(
fields: {
  email: {
    identifier : 'email',
    rules: [
      {
        type   : 'email',
        prompt : 'Please enter a valid e-mail'
      }
    ]
  },
  ccEmail: {
    identifier : 'cc-email',
    optional   : true,
    rules: [
      {
        type   : 'email',
        prompt : 'Please enter a valid second e-mail'
      }
    ]
  }
}});

我希望'Please enter a valid e-mail''Please enter a valid second e-mail'以用户的语言显示。

1 个答案:

答案 0 :(得分:1)



var userLang = navigator.language || navigator.userLanguage;
var availableLang = ["en", "es", "cn"];
if (availableLang.indexOf(userLang) == -1) {
  console.log("Loading default language 'EN'");
  userLang = "en";
}
var lang;
$.getJSON("path_to_lang_" + userLang + ".json", function(data) {
  lang = data;
  $('.ui.form').form(
    fields: {
      email: {
        identifier: 'email',
        rules: [{
          type: 'email',
          prompt: lang.firstEmail
        }]
      },
      ccEmail: {
        identifier: 'cc-email',
        optional: true,
        rules: [{
          type: 'email',
          prompt: lang.secondEmail
        }]
      }
    }
  });
});




上面的代码段会检测导航语言并使用可用的语言集进行检查。如果无法使用导航器语言的本地化,则加载默认语言。

你应该改变" path_to_lang _"到本地化文件的一些有效路径。

假设你有像" langs / lang_en.json"这样的文件,那么你的" path_to_lang _"应该是" langs / lang _"。

加载lang文件后,我们使用加载的本地化文本初始化您的代码。

" langs / lang_en.json"

的示例内容
{'firstEmail':'Please enter a valid e-mail','secondEmail':'Please enter a valid second e-mail'}
相关问题