在必要时,Select2 会向用户显示某些消息。例如,当没有搜索结果或需要输入更多字符才能进行搜索时,会出现相应的消息。这些消息已被 Select2 的贡献者翻译成多种语言,但您也可以提供自己的翻译。
Select2 可以从语言文件中加载不同语言的消息翻译。使用 Select2 提供的翻译时,您必须确保在页面中引入 Select2 后再引入翻译文件。
当传入一个字符串作为语言选项时,Select2 将尝试将其解析为语言文件。这允许您指定自己的语言文件,该文件必须定义为 AMD 模块。如果找不到对应的语言文件,Select2 将假定其为 Select2 内置语言之一,并尝试加载对应语言的翻译。
$(".js-example-language").select2({
language: "es"
});
在初始化 Select2 时不必定义语言,[lang]
而可以在任何父元素上通过[lang="es"]
.
您也可以提供如下所示的对象来自定义要显示的消息:
language: {
// You can find all of the options in the language files provided in the
// build. They all must be functions that return the string that should be
// displayed.
inputTooShort: function () {
return "You must enter more characters...";
}
}
翻译由
select2/translation
模块处理。
如果在dir
属性设置于<select>
或其任意父级元素上,则 Select2 可以在 RTL 网站上正常工作。您也可以通过dir: "rtl"
配置选项分配自定义适配器来覆盖选择适配器。
$(".js-example-rtl").select2({
dir: "rtl"
});
Select2 默认的匹配器会将带有变音符号的字母转换为其对应的 ASCII 字符,从而让用户更容易筛选国际化下拉列表中的结果。请在下面的选择框中输入“aero”。
$(".js-example-diacritics").select2();