25
<select data-placeholder="Select or type" data-minlength="2" multiple = "multiple" name='arrAval' id='listAval' class="js-basic-multiple form-control" required>

所以这里是问题:

正如文档所说,我应该能够为此组件设置语言:

$(".js-basic-multiple").select2({
        language: "language-wanted"
    });

无论我设置哪种语言,它都会返回“未找到结果”。为了清楚起见,就像在https://select2.github.io/examples.html#matcher中一样,它为 'language:"es"' 返回 "No se encontraron resultados"

4

6 回答 6

45
<script src="libs/select2-4.0.2-rc.1/dist/js/i18n/<here-goes-language>.js"></script>

正如Keving Brown所说,上面的包含丢失了。作为问题中引用的示例,西班牙语的文件将是“es.js”

于 2016-03-09T23:12:00.553 回答
22

在 select2 插件之后添加这样的脚本

$.fn.select2.amd.define('select2/i18n/ru',[],function () {
    // Russian
    return {
        errorLoading: function () {
            return 'Результат не может быть загружен.';
        },
        inputTooLong: function (args) {
            var overChars = args.input.length - args.maximum;
            var message = 'Пожалуйста, удалите ' + overChars + ' символ';
            if (overChars >= 2 && overChars <= 4) {
                message += 'а';
            } else if (overChars >= 5) {
                message += 'ов';
            }
            return message;
        },
        inputTooShort: function (args) {
            var remainingChars = args.minimum - args.input.length;

            var message = 'Пожалуйста, введите ' + remainingChars + ' или более символов';

            return message;
        },
        loadingMore: function () {
            return 'Загружаем ещё ресурсы…';
        },
        maximumSelected: function (args) {
            var message = 'Вы можете выбрать ' + args.maximum + ' элемент';

            if (args.maximum  >= 2 && args.maximum <= 4) {
                message += 'а';
            } else if (args.maximum >= 5) {
                message += 'ов';
            }

            return message;
        },
        noResults: function () {
          return 'Ничего не найдено';
        },
        searching: function () {
          return 'Поиск…';
        }
    };
});

设置选项

$(".js-basic-multiple").select2({
    language: "ru"
});
于 2017-04-10T12:01:45.533 回答
6

CDN 脚本:

<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/i18n/[culture-name].js"></script>
于 2020-05-24T15:24:46.687 回答
3

如果你使用 Webpack,你可以像这样设置默认语言(例如法语):

require('select2');
$.fn.select2.amd.define('select2/i18n/fr',[],require("select2/src/js/select2/i18n/fr"));
于 2020-08-11T08:25:51.500 回答
1

除了@SummerRain 的回答,如果您已将语言文件加载到页面中,您可以使用以下方式为所有 select2 设置默认语言,而不是一一设置。

$.fn.select2.defaults.set("language", $.fn.select2.amd.require("select2/i18n/fr"));

从 $.fn.select2.amd 中可以看出,select2 使用 amd 定义其依赖项。“select2/i18n/fr”是法语语言定义的 amd 模块名称。

于 2021-01-16T21:00:43.217 回答
0

这是法语翻译的cdn:

<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/i18n/fr.js"></script>

于 2022-01-31T16:56:21.903 回答