Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 37 additions & 1 deletion humanize-duration.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,17 @@
ms: function (c) { return 'millisecond' + (c === 1 ? '' : 's') },
decimal: '.'
},
ru: {
y: function (c) { return ['лет', 'год', 'года'][getSlavicForm(c)] },
mo: function (c) { return ['месяцев', 'месяц', 'месяца'][getSlavicForm(c)] },
w: function (c) { return ['недель', 'неделя', 'недели'][getSlavicForm(c)] },
d: function (c) { return ['дней', 'день', 'дня'][getSlavicForm(c)] },
h: function (c) { return ['часов', 'час', 'часа'][getSlavicForm(c)] },
m: function (c) { return ['минут', 'минута', 'минуты'][getSlavicForm(c)] },
s: function (c) { return ['секунд', 'секунда', 'секунды'][getSlavicForm(c)] },
ms: function (c) { return ['миллисекунд', 'миллисекунда', 'миллисекунды'][getSlavicForm(c)] },
decimal: ','
},
ur: {
y: 'سال',
mo: function (c) { return c === 1 ? 'مہینہ' : 'مہینے' },
Expand All @@ -34,7 +45,18 @@
s: 'سیکنڈ',
ms: 'ملی سیکنڈ',
decimal: '.'
}
},
zh_CN: {
y: '年',
mo: '个月',
w: '周',
d: '天',
h: '小时',
m: '分钟',
s: '秒',
ms: '毫秒',
decimal: '.'
},
}

// You can create a humanizer, which returns a function with default
Expand Down Expand Up @@ -191,6 +213,20 @@
return destination
}

function getSlavicForm (c) {
if (Math.floor(c) !== c) {
return 2
} else if ((c % 100 >= 5 && c % 100 <= 20) || (c % 10 >= 5 && c % 10 <= 9) || c % 10 === 0) {
return 0
} else if (c % 10 === 1) {
return 1
} else if (c > 1) {
return 2
} else {
return 0
}
}

humanizeDuration.getSupportedLanguages = function getSupportedLanguages () {
var result = []
for (var language in languages) {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"Abdul Jalil (https://github.com/abduljalilm94)",
"Alex Sam (https://github.com/sam-lex)"
],
"version": "3.15.1-sl.2",
"version": "3.15.1-sl.3",
"description": "Convert millisecond durations to English and many other languages.",
"homepage": "https://github.com/SectorLabs/HumanizeDuration.js",
"main": "humanize-duration.js",
Expand Down
47 changes: 47 additions & 0 deletions test/definitions/ru.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
0$0 миллисекунд
1$1 миллисекунда
1.2$1,2 миллисекунды
2$2 миллисекунды
3$3 миллисекунды
4$4 миллисекунды
5$5 миллисекунд
11$11 миллисекунд
12$12 миллисекунд
13$13 миллисекунд
14$14 миллисекунд
111$111 миллисекунд
112$112 миллисекунд
113$113 миллисекунд
114$114 миллисекунд
121$121 миллисекунда
122$122 миллисекунды
123$123 миллисекунды
123$123 миллисекунды
1000$1 секунда
2000$2 секунды
3000$3 секунды
4000$4 секунды
60000$1 минута
120000$2 минуты
180000$3 минуты
240000$4 минуты
3600000$1 час
7200000$2 часа
10800000$3 часа
14400000$4 часа
86400000$1 день
172800000$2 дня
259200000$3 дня
345600000$4 дня
604800000$1 неделя
1209600000$2 недели
1814400000$3 недели
2419200000$4 недели
2629800000$1 месяц
5259600000$2 месяца
7889400000$3 месяца
10519200000$4 месяца
31557600000$1 год
63115200000$2 года
94672800000$3 года
126230400000$4 года
18 changes: 18 additions & 0 deletions test/definitions/zh_CN.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
0$0 毫秒
1$1 毫秒
1.2$1.2 毫秒
1000$1 秒
60000$1 分钟
3600000$1 小时
86400000$1 天
604800000$1 周
2629800000$1 个月
31557600000$1 年
2$2 毫秒
2000$2 秒
120000$2 分钟
7200000$2 小时
172800000$2 天
1209600000$2 周
5259600000$2 个月
63115200000$2 年