Skip to content

Commit 8f8127f

Browse files
authored
Add zh and ru support (#3)
1 parent 7892df7 commit 8f8127f

File tree

4 files changed

+103
-2
lines changed

4 files changed

+103
-2
lines changed

humanize-duration.js

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@
2424
ms: function (c) { return 'millisecond' + (c === 1 ? '' : 's') },
2525
decimal: '.'
2626
},
27+
ru: {
28+
y: function (c) { return ['лет', 'год', 'года'][getSlavicForm(c)] },
29+
mo: function (c) { return ['месяцев', 'месяц', 'месяца'][getSlavicForm(c)] },
30+
w: function (c) { return ['недель', 'неделя', 'недели'][getSlavicForm(c)] },
31+
d: function (c) { return ['дней', 'день', 'дня'][getSlavicForm(c)] },
32+
h: function (c) { return ['часов', 'час', 'часа'][getSlavicForm(c)] },
33+
m: function (c) { return ['минут', 'минута', 'минуты'][getSlavicForm(c)] },
34+
s: function (c) { return ['секунд', 'секунда', 'секунды'][getSlavicForm(c)] },
35+
ms: function (c) { return ['миллисекунд', 'миллисекунда', 'миллисекунды'][getSlavicForm(c)] },
36+
decimal: ','
37+
},
2738
ur: {
2839
y: 'سال',
2940
mo: function (c) { return c === 1 ? 'مہینہ' : 'مہینے' },
@@ -34,7 +45,18 @@
3445
s: 'سیکنڈ',
3546
ms: 'ملی سیکنڈ',
3647
decimal: '.'
37-
}
48+
},
49+
zh_CN: {
50+
y: '年',
51+
mo: '个月',
52+
w: '周',
53+
d: '天',
54+
h: '小时',
55+
m: '分钟',
56+
s: '秒',
57+
ms: '毫秒',
58+
decimal: '.'
59+
},
3860
}
3961

4062
// You can create a humanizer, which returns a function with default
@@ -191,6 +213,20 @@
191213
return destination
192214
}
193215

216+
function getSlavicForm (c) {
217+
if (Math.floor(c) !== c) {
218+
return 2
219+
} else if ((c % 100 >= 5 && c % 100 <= 20) || (c % 10 >= 5 && c % 10 <= 9) || c % 10 === 0) {
220+
return 0
221+
} else if (c % 10 === 1) {
222+
return 1
223+
} else if (c > 1) {
224+
return 2
225+
} else {
226+
return 0
227+
}
228+
}
229+
194230
humanizeDuration.getSupportedLanguages = function getSupportedLanguages () {
195231
var result = []
196232
for (var language in languages) {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"Abdul Jalil (https://github.com/abduljalilm94)",
2626
"Alex Sam (https://github.com/sam-lex)"
2727
],
28-
"version": "3.15.1-sl.2",
28+
"version": "3.15.1-sl.3",
2929
"description": "Convert millisecond durations to English and many other languages.",
3030
"homepage": "https://github.com/SectorLabs/HumanizeDuration.js",
3131
"main": "humanize-duration.js",

test/definitions/ru.csv

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
0$0 миллисекунд
2+
1$1 миллисекунда
3+
1.2$1,2 миллисекунды
4+
2$2 миллисекунды
5+
3$3 миллисекунды
6+
4$4 миллисекунды
7+
5$5 миллисекунд
8+
11$11 миллисекунд
9+
12$12 миллисекунд
10+
13$13 миллисекунд
11+
14$14 миллисекунд
12+
111$111 миллисекунд
13+
112$112 миллисекунд
14+
113$113 миллисекунд
15+
114$114 миллисекунд
16+
121$121 миллисекунда
17+
122$122 миллисекунды
18+
123$123 миллисекунды
19+
123$123 миллисекунды
20+
1000$1 секунда
21+
2000$2 секунды
22+
3000$3 секунды
23+
4000$4 секунды
24+
60000$1 минута
25+
120000$2 минуты
26+
180000$3 минуты
27+
240000$4 минуты
28+
3600000$1 час
29+
7200000$2 часа
30+
10800000$3 часа
31+
14400000$4 часа
32+
86400000$1 день
33+
172800000$2 дня
34+
259200000$3 дня
35+
345600000$4 дня
36+
604800000$1 неделя
37+
1209600000$2 недели
38+
1814400000$3 недели
39+
2419200000$4 недели
40+
2629800000$1 месяц
41+
5259600000$2 месяца
42+
7889400000$3 месяца
43+
10519200000$4 месяца
44+
31557600000$1 год
45+
63115200000$2 года
46+
94672800000$3 года
47+
126230400000$4 года

test/definitions/zh_CN.csv

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
0$0 毫秒
2+
1$1 毫秒
3+
1.2$1.2 毫秒
4+
1000$1 秒
5+
60000$1 分钟
6+
3600000$1 小时
7+
86400000$1 天
8+
604800000$1 周
9+
2629800000$1 个月
10+
31557600000$1 年
11+
2$2 毫秒
12+
2000$2 秒
13+
120000$2 分钟
14+
7200000$2 小时
15+
172800000$2 天
16+
1209600000$2 周
17+
5259600000$2 个月
18+
63115200000$2 年

0 commit comments

Comments
 (0)