Skip to content

Commit

Permalink
Add locales
Browse files Browse the repository at this point in the history
  • Loading branch information
dy committed Jan 24, 2025
1 parent 53c0693 commit 76c787a
Show file tree
Hide file tree
Showing 9 changed files with 130 additions and 39 deletions.
17 changes: 15 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,25 @@ parse('2e3s') // => 2000 * s
And its easy to add more, including unicode:

```js
parse.unit['сек'] = parse.unit['sec']
parse('5сек') // => 5000
parse.unit['μs'] = parse.unit['microsecond']
parse('5μs') // => 5000
```

The output format can also be defined

```js
parse('1hr 20mins', 'm') // => 80
```

## Locales

Locale can be switched from default `en` to any other, [see /locale](/locale).

```js
import es from 'parse-duration/locale/es.js'
import parse from 'parse-duration'

parse.unit = es

parse('1 hora 20 minutos', 'm') // => 80
```
15 changes: 15 additions & 0 deletions locale/de.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.Jahr = unit.j = y
unit.Monat = unit.mon = y / 12
unit.Woche = unit.wo = d * 7
unit.Tag = unit.t = d
unit.Stunde = unit.std = unit.h = h
unit.Minute = unit.min = unit.m = m
unit.Sekunde = unit.sek = unit.s = 1000
unit.Millisekunde = unit.ms = 1
unit['µs'] = unit['μs'] = unit.Mikrosekunde = 1e-3
unit.Nanosekunde = unit.ns = 1e-6

export default unit
47 changes: 10 additions & 37 deletions locale/en.js
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.year = y
unit.yr = y
unit.y = y

unit.month = y / 12
unit.b = y / 12

unit.week = d * 7
unit.wk = d * 7
unit.w = d * 7

unit.day = d
unit.d = d

unit.hour = h
unit.hr = h
unit.h = h

unit.minute = m
unit.min = m
unit.m = m

unit.second = 1000
unit.sec = 1000
unit.s = 1000

unit.millisecond = 1
unit.millisec = 1
unit.ms = 1

unit['µs'] = 1e-3
unit['μs'] = 1e-3
unit.us = 1e-3
unit.microsecond = 1e-3

unit.nanosecond = 1e-6
unit.ns = 1e-6
unit.year = unit.yr = unit.y = y
unit.month = unit.b = y / 12
unit.week = unit.wk = unit.w = d * 7
unit.day = unit.d = d
unit.hour = unit.hr = unit.h = h
unit.minute = unit.min = unit.m = m
unit.second = unit.sec = unit.s = 1000
unit.millisecond = unit.millisec = unit.ms = 1
unit['µs'] = unit['μs'] = unit.us = unit.microsecond = 1e-3
unit.nanosecond = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/es.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.año = unit.a = y
unit.mes = unit.b = y / 12
unit.semana = unit.w = d * 7
unit.día = unit.d = d
unit.hora = unit.hr = h
unit.minuto = unit.min = unit.m = m
unit.segundo = unit.sec = unit.s = 1000
unit.milisegundo = unit.ms = 1
unit['µs'] = unit['μs'] = unit.us = unit.microsegundo = 1e-3
unit.nanosegundo = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/fr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.année = unit.an = unit.a = y
unit.mois = unit.mo = y / 12
unit.semaine = unit.sem = d * 7
unit.jour = unit.j = d
unit.heure = unit.h = h
unit.minute = unit.min = unit.m = m
unit.seconde = unit.sec = unit.s = 1000
unit.milliseconde = unit.ms = 1
unit['µs'] = unit['μs'] = unit.microseconde = 1e-3
unit.nanoseconde = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/ja.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit. = unit.年間 = y
unit. = unit.ヶ月 = y / 12
unit. = unit.週間 = d * 7
unit. = unit.d = d
unit.時間 = unit. = unit.h = h
unit. = unit.分間 = unit.m = m
unit. = unit.秒間 = unit.s = 1000
unit.ミリ秒 = unit.ms = 1
unit['マイクロ秒'] = unit['μs'] = 1e-3
unit.ナノ秒 = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/pt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.ano = unit.a = y
unit.mês = unit.mes = y / 12
unit.semana = unit.sem = d * 7
unit.dia = unit.d = d
unit.hora = unit.h = h
unit.minuto = unit.min = unit.m = m
unit.segundo = unit.seg = unit.s = 1000
unit.milissegundo = unit.ms = 1
unit['µs'] = unit['μs'] = unit.microssegundo = 1e-3
unit.nanossegundo = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/ru.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit.год = unit.г = unit.y = y
unit.месяц = unit.мес = unit.m = y / 12
unit.неделя = unit.нед = unit.w = d * 7
unit.день = unit.д = unit.d = d
unit.час = unit.ч = unit.h = h
unit.минута = unit.мин = unit.m = m
unit.секунда = unit.сек = unit.с = unit.s = 1000
unit.миллисекунда = unit.мс = unit.ms = 1
unit['микросекунда'] = unit['мкс'] = unit['μs'] = unit.us = 1e-3
unit.наносекунда = unit.нс = unit.ns = 1e-6

export default unit
15 changes: 15 additions & 0 deletions locale/zh.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const unit = Object.create(null)
const m = 60000, h = m * 60, d = h * 24, y = d * 365.25

unit. = unit.y = y
unit. = y / 12
unit. = unit.星期 = d * 7
unit. = unit. = unit.d = d
unit.小时 = unit. = unit.h = h
unit.分钟 = unit. = unit.m = m
unit. = unit.秒钟 = unit.s = 1000
unit.毫秒 = unit.ms = 1
unit['微秒'] = unit['μs'] = 1e-3
unit.纳秒 = unit.ns = 1e-6

export default unit

0 comments on commit 76c787a

Please sign in to comment.