用于Yii2的jQuery倒数小部件的俄语复数

时间:2018-08-02 21:15:39

标签: javascript php jquery

widget用于我的网络应用,但遇到问题:

enter image description here

正如我在官方文档中看到的那样,我只能实现此格式的配置

'format' => '%-D %!D:день,дней; %H:%M:%S',

但是如何设置新的复数规则?

1 个答案:

答案 0 :(得分:1)

看起来这个库中没有这种可能性,但是您可以像这样在countdown.js中重写函数 pluralize

function pluralize(format, count) {
    var plural = "s", singular = "", plural_2_4 = "s";
    if (format) {
        format = format.replace(/(:|;|\s)/gi, "").split(/\,/);
        if (format.length === 1) {
            plural = format[0];
            plural_2_4 = format[0];
        } else if (format.length === 2){
            singular = format[0];
            plural = format[1];
            plural_2_4 = format[1];
        } else {
            singular = format[0];
            plural_2_4 = format[1];
            plural = format[2];
        }
    }
    if (Math.abs(count) % 10 === 1) {
        return singular;
    } else if (Math.abs(count) % 10 > 1 && Math.abs(count) % 10 < 5) {
        return plural_2_4;
    } else {
        return plural;
    }
}

我刚刚为俄语语法添加了一个转折点。现在,使用%!d:день,дня,дней; ,您将获得день为1,дня为2-4和 дней包括0在内的所有其他内容。希望对您有所帮助。