dotiw 5.1.0 → 5.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c3178c4c07b2647581895e344418e9ce40e3da5d9e3cc1fda714f9817b852e8
4
- data.tar.gz: cef2e7944c792c501181789e3ed9f0155e12be6954e40664f495bcb298f40709
3
+ metadata.gz: 5bbd17f6b2f3af46a5255fa9eb900aa7bb734ead661088a2936739aa2f2bef63
4
+ data.tar.gz: 2870eadd1e540d51e6ff73210024fbcb87de8c01cca2549d7fb80e30b4390d93
5
5
  SHA512:
6
- metadata.gz: 2db64efc0d3189bca7be013a3faff83820392bcfc69bf111497ea3543d67eba53f3792f62e6c43b1d39b73a6d6fb32811b6ae4f511f04c19d069283cdd18f355
7
- data.tar.gz: a9bae3a175fada3623c8275abec2052e377716db914dadd0b2908a33fbff67fa95191062cb37cb20d15a90478b61ddc9647140d04dc37f0be73fd44b833e7957
6
+ metadata.gz: a89bfcad7275d64474969ac9200f43d6b5b3fb922c6cfa9e4bc05550361f43dc3d1eb37c27771116dc51cfba6adfa844232fbc062592dfa2874ff0e355797c3b
7
+ data.tar.gz: 8379db832851f15302fa364103671c3d805c0f367d8c8c0be4d746e81a473ab4b7d49c29a248fd353410a14e22ed04db79a1bfb05b83f4fd52403781460712fa
@@ -15,23 +15,23 @@ jobs:
15
15
  fail-fast: false
16
16
  matrix:
17
17
  include:
18
- - ruby-version: 2.5.x
19
- - ruby-version: 2.6.x
20
- - ruby-version: 2.4.x
18
+ - ruby-version: 2.5
19
+ - ruby-version: 2.6
20
+ - ruby-version: 2.4
21
21
  bundler-version: 1.17.3
22
22
  gemfile: gemfiles/rails_4.gemfile
23
- - ruby-version: 2.6.x
23
+ - ruby-version: 2.6
24
24
  gemfile: gemfiles/rails_5.0.gemfile
25
- - ruby-version: 2.6.x
25
+ - ruby-version: 2.6
26
26
  gemfile: gemfiles/rails_5.1.gemfile
27
- - ruby-version: 2.6.x
27
+ - ruby-version: 2.6
28
28
  gemfile: gemfiles/rails_5.2.gemfile
29
- - ruby-version: 2.6.x
29
+ - ruby-version: 2.6
30
30
  gemfile: gemfiles/rails_6.0.gemfile
31
31
  steps:
32
32
  - uses: actions/checkout@v2
33
33
  - name: Set up Ruby
34
- uses: actions/setup-ruby@v1
34
+ uses: ruby/setup-ruby@v1
35
35
  with:
36
36
  ruby-version: ${{ matrix.ruby-version }}
37
37
  - name: Build and test
data/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## 5.3.2 (2021/11/08)
2
+
3
+ * [#126](https://github.com/radar/distance_of_time_in_words/pull/126): Fixes `#distance_of_time_in_words_to_now` with `vague: true` when supplied without `include_seconds` argument - [@mozcomp](https://github.com/mozcomp).
4
+
5
+ ## 5.3.1 (2021/03/26)
6
+
7
+ * [#124](https://github.com/radar/distance_of_time_in_words/pull/124): Fixes compact formatting for distance_of_time_in_words - [@rposborne](https://github.com/rposborne).
8
+
9
+ ## 5.3.0 (2021/03/18)
10
+
11
+ * [#115](https://github.com/radar/distance_of_time_in_words/pull/115): Use constants for time durations (2x faster, 3.5x less memory) - [@krzysiek1507](https://github.com/krzysiek1507).
12
+ * [#117](https://github.com/radar/distance_of_time_in_words/pull/117): Support `#distance_of_time_in_words_to_now` with `vague: true` - [@joshuapinter](https://github.com/joshuapinter).
13
+ * [#118](https://github.com/radar/distance_of_time_in_words/pull/118): Raise `ArgumentError` when `nil` is passed for time, to match original `distance_of_time_in_words` - [@joshuapinter](https://github.com/joshuapinter).
14
+ * [#119](https://github.com/radar/distance_of_time_in_words/pull/119): Do not mutate input options - [@joshuapinter](https://github.com/joshuapinter).
15
+
16
+ ## 5.2.0 (2020/10/03)
17
+
18
+ * [#94](https://github.com/radar/distance_of_time_in_words/pull/94): Add :compact formatting option - [@booty](https://github.com/booty).
19
+ * [#112](https://github.com/radar/distance_of_time_in_words/pull/112): Add Swedish language support - [@davidwessman](https://github.com/davidwessman).
20
+ * [#114](https://github.com/radar/distance_of_time_in_words/pull/114): Add Traditional Chinese (Taiwan) language support - [@sibevin](https://github.com/sibevin).
21
+
1
22
  ## 5.1.0 (2020/08/05)
2
23
 
3
24
  * [#111](https://github.com/radar/distance_of_time_in_words/pull/111): Fix: `NoMethodError` when calling `ActionController::Base.helpers.distance_of_time_in_words` - [@denisahearn](https://github.com/denisahearn).
data/README.markdown CHANGED
@@ -67,14 +67,19 @@ The third argument for this method is whether or not to include seconds. By defa
67
67
 
68
68
  Yes this could just be merged into the options hash but I'm leaving it here to ensure "backwards-compatibility", because that's just an insanely radical thing to do. \m/
69
69
 
70
+ Alternatively this can be included in the options hash as `include_seconds: true` removing this argument altogether.
71
+
70
72
  The last argument is an optional options hash that can be used to manipulate behavior and (which uses `to_sentence`).
71
73
 
72
- Don't like having to pass in `Time.now` all the time? Then use `time_ago_in_words` which also will *rock your
74
+ Don't like having to pass in `Time.now` all the time? Then use `time_ago_in_words` or `distance_of_time_in_words_to_now` which also will *rock your
73
75
  world*:
74
76
 
75
77
  ```ruby
76
78
  >> time_ago_in_words(Time.now + 3.days + 1.second)
77
79
  => "3 days, and 1 second"
80
+
81
+ >> distance_of_time_in_words_to_now(Time.now + 3.days + 1.second)
82
+ => "3 days, and 1 second"
78
83
  ```
79
84
 
80
85
  Oh, and did I mention it supports I18n? Oh yeah. Rock on!
@@ -96,6 +101,10 @@ This will also be passed to `to_sentence`.
96
101
 
97
102
  Specify this if you want it to use the old `distance_of_time_in_words`. The value can be anything except `nil` or `false`.
98
103
 
104
+ #### :include_seconds
105
+
106
+ As described above this option is the equivalent to the third argument whether to include seconds.
107
+
99
108
  #### :accumulate_on
100
109
 
101
110
  Specifies the maximum output unit which will accumulate all the surplus. Say you set it to seconds and your time difference is of 2 minutes then the output would be 120 seconds.
@@ -235,6 +244,22 @@ This method takes the same options as [`number_with_precision`](http://api.rubyo
235
244
  => '15.3%'
236
245
  ```
237
246
 
247
+ ## :compact
248
+
249
+ Pressed for space? Try `compact: true`.
250
+
251
+ ```ruby
252
+ >> distance_of_time_in_words(Time.now, Time.now + 2.year + 1.day + 1.second, compact: true)
253
+ => "2y1d"
254
+ ```
255
+
256
+ Pairs well with `words_connector`, `last_word_connector`, and `two_words_connector` if you can spare just a little more room:
257
+
258
+ ```ruby
259
+ >> distance_of_time_in_words(Time.now, Time.now + 5.years + 1.day + 23.seconds, words_connector: " ", last_word_connector: " ", two_words_connector: " ", compact: true)
260
+ => "5y 1d 23s"
261
+ ```
262
+
238
263
  ## Contributors
239
264
 
240
265
  * [chendo](http://github.com/chendo) - for talking through it with me and drawing on the whiteboard
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'benchmark/ips'
4
+ require 'benchmark/memory'
5
+ require 'active_support/core_ext/numeric'
6
+ require 'active_support/core_ext/integer'
7
+
8
+ require_relative '../lib/dotiw/time_hash'
9
+
10
+ from = Time.now
11
+ to = Time.now + 1.year + 2.months + 3.weeks + 4.days + 5.hours + 6.minutes + 7.seconds
12
+
13
+ %i[ips memory].each do |type|
14
+ Benchmark.public_send(type) do |x|
15
+ x.report('master') { DOTIW::TimeHash.new(nil, from, to) }
16
+
17
+ x.compare!
18
+ end
19
+ end
@@ -3,22 +3,42 @@
3
3
  module ActionView
4
4
  module Helpers
5
5
  module DateHelper
6
- alias_method :_distance_of_time_in_words, :distance_of_time_in_words
7
- alias_method :_time_ago_in_words, :time_ago_in_words
6
+ alias _distance_of_time_in_words distance_of_time_in_words
7
+ alias _time_ago_in_words time_ago_in_words
8
8
 
9
9
  include DOTIW::Methods
10
10
 
11
11
  def distance_of_time_in_words(from_time, to_time = 0, include_seconds_or_options = {}, options = {})
12
- return _distance_of_time_in_words(from_time, to_time, options) if options.delete(:vague)
13
- DOTIW::Methods.distance_of_time_in_words(from_time, to_time, include_seconds_or_options, options)
12
+ options = merge_options(include_seconds_or_options, options)
13
+ return _distance_of_time_in_words(from_time, to_time, options.except(:vague)) if options[:vague]
14
+
15
+ DOTIW::Methods.distance_of_time_in_words(from_time, to_time, options.except(:vague))
16
+ end
17
+
18
+ def distance_of_time_in_words_to_now(to_time = 0, include_seconds_or_options = {}, options = {})
19
+ options = merge_options(include_seconds_or_options, options)
20
+ return _distance_of_time_in_words(Time.now, to_time, options.except(:vague)) if options[:vague]
21
+
22
+ DOTIW::Methods.distance_of_time_in_words(Time.now, to_time, options.except(:vague))
14
23
  end
15
24
 
16
25
  def distance_of_time_in_percent(from_time, current_time, to_time, options = {})
17
26
  options[:precision] ||= 0
27
+ options = options_with_scope(options)
18
28
  distance = to_time - from_time
19
29
  result = ((current_time - from_time) / distance) * 100
20
30
  number_with_precision(result, options).to_s + '%'
21
31
  end
22
- end # DateHelper
23
- end # Helpers
24
- end # ActionView
32
+
33
+ private
34
+ def merge_options(include_seconds_or_options, options)
35
+ if include_seconds_or_options.is_a?(Hash)
36
+ options.merge(include_seconds_or_options)
37
+ else
38
+ options.merge(include_seconds: !!include_seconds_or_options)
39
+ end
40
+ end
41
+
42
+ end
43
+ end
44
+ end
@@ -26,7 +26,7 @@ ar:
26
26
  zero: يوم
27
27
  one: يوم واحد
28
28
  two: يومين
29
- few: "%{count} أيام"
29
+ few: "%{count} أيام"
30
30
  many: "%{count} يومًا"
31
31
  other: "%{count} يوم"
32
32
  weeks:
@@ -38,16 +38,67 @@ ar:
38
38
  other: "%{count} أسيوع"
39
39
  months:
40
40
  zero: شهر
41
- one: شهر واحد
41
+ one: شهر واحد
42
42
  two: شهرين
43
43
  few: "%{count} أشهر"
44
44
  many: "%{count} شهراً"
45
45
  other: "%{count} شهر"
46
46
  years:
47
47
  zero: عام
48
- one: عام واحد
48
+ one: عام واحد
49
49
  two: عامين
50
50
  few: "%{count} أعوام"
51
51
  many: "%{count} عاماً"
52
52
  other: "%{count} عام"
53
53
  less_than_x: "%{distance} أقل من"
54
+ dotiw_compact:
55
+ seconds:
56
+ zero: ثانية
57
+ one: ثانية واحدة
58
+ two: ثانيتين
59
+ few: "%{count}توانٍ"
60
+ many: "%{count}ثانية"
61
+ other: "%{count}ثانية"
62
+ minutes:
63
+ zero: دقيقة
64
+ one: دقيقة واحدة
65
+ two: دقيقتين
66
+ few: "%{count}دقائق"
67
+ many: "%{count}دقيقة"
68
+ other: "%{count}دقيقة"
69
+ hours:
70
+ zero: ساعة
71
+ one: ساعة واحدة
72
+ two: ساعتين
73
+ few: "%{count}ساعات"
74
+ many: "%{count}ساعة"
75
+ other: "%{count}ساعة"
76
+ days:
77
+ zero: يوم
78
+ one: يوم واحد
79
+ two: يومين
80
+ few: "%{count}أيام"
81
+ many: "%{count}يومًا"
82
+ other: "%{count}يوم"
83
+ weeks:
84
+ zero: أسبوع
85
+ one: أسبوع واحدة
86
+ two: أسبوعين
87
+ few: "%{count}أسابيع"
88
+ many: "%{count}أسابيع"
89
+ other: "%{count}أسيوع"
90
+ months:
91
+ zero: شهر
92
+ one: شهر واحد
93
+ two: شهرين
94
+ few: "%{count}أشهر"
95
+ many: "%{count}شهراً"
96
+ other: "%{count}شهر"
97
+ years:
98
+ zero: عام
99
+ one: عام واحد
100
+ two: عامين
101
+ few: "%{count}أعوام"
102
+ many: "%{count}عاماً"
103
+ other: "%{count}عام"
104
+ less_than_x: "%{distance}>"
@@ -21,3 +21,38 @@ da:
21
21
  other: "%{count} måneder"
22
22
  years: "%{count} år"
23
23
  less_than_x: "mindre end %{distance}"
24
+ dotiw_compact:
25
+ seconds:
26
+ one: 1s
27
+ other: "%{count}s"
28
+ minutes:
29
+ one: 1m
30
+ other: "%{count}m"
31
+ hours:
32
+ one: 1t
33
+ other: "%{count}t"
34
+ days:
35
+ one: 1d
36
+ other: "%{count}d"
37
+ weeks:
38
+ one: 1u
39
+ other: "%{count}u"
40
+ months:
41
+ one: 1må
42
+ other: "%{count}må"
43
+ years:
44
+ one: 1år
45
+ other: "%{count}år"
46
+ less_than_x: "<%{distance}"
47
+ words_connector: ""
48
+ two_words_connector: ""
49
+ last_word_connector: ""
50
+ about_x_years:
51
+ one: ~1y
52
+ any: "~%{count}y"
53
+ over_x_years:
54
+ one: ">1y"
55
+ other: ">%{count}y"
56
+ almost_x_years:
57
+ one: ~1y
58
+ any: "~%{count}y"
@@ -22,4 +22,39 @@ de:
22
22
  years:
23
23
  one: 1 Jahr
24
24
  other: "%{count} Jahre"
25
- less_than_x: "weniger als %{distance}"
25
+ less_than_x: "weniger als %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1s
29
+ other: "%{count}s"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1std
35
+ other: "%{count}std"
36
+ days:
37
+ one: 1t
38
+ other: "%{count}t"
39
+ weeks:
40
+ one: 1w
41
+ other: "%{count}w"
42
+ months:
43
+ one: 1mo
44
+ other: "%{count}mo"
45
+ years:
46
+ one: 1j
47
+ other: "%{count}j"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1y
54
+ any: "~%{count}y"
55
+ over_x_years:
56
+ one: ">1y"
57
+ other: ">%{count}y"
58
+ almost_x_years:
59
+ one: ~1y
60
+ any: "~%{count}y"
@@ -23,3 +23,38 @@ en:
23
23
  one: 1 year
24
24
  other: "%{count} years"
25
25
  less_than_x: "less than %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1s
29
+ other: "%{count}s"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1h
35
+ other: "%{count}h"
36
+ days:
37
+ one: 1d
38
+ other: "%{count}d"
39
+ weeks:
40
+ one: 1w
41
+ other: "%{count}w"
42
+ months:
43
+ one: 1mo
44
+ other: "%{count}mo"
45
+ years:
46
+ one: 1y
47
+ other: "%{count}y"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1y
54
+ any: "~%{count}y"
55
+ over_x_years:
56
+ one: ">1y"
57
+ other: ">%{count}y"
58
+ almost_x_years:
59
+ one: ~1y
60
+ any: "~%{count}y"
@@ -22,4 +22,39 @@ es:
22
22
  years:
23
23
  one: un año
24
24
  other: "%{count} años"
25
- less_than_x: "menos de %{distance}"
25
+ less_than_x: "menos de %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1s
29
+ other: "%{count}s"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1h
35
+ other: "%{count}h"
36
+ days:
37
+ one: 1d
38
+ other: "%{count}d"
39
+ weeks:
40
+ one: 1s
41
+ other: "%{count}s"
42
+ months:
43
+ one: 1me
44
+ other: "%{count}me"
45
+ years:
46
+ one: 1a
47
+ other: "%{count}a"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1a
54
+ any: "~%{count}a"
55
+ over_x_years:
56
+ one: ">1a"
57
+ other: ">%{count}a"
58
+ almost_x_years:
59
+ one: ~1a
60
+ any: "~%{count}a"
@@ -23,3 +23,38 @@ fr:
23
23
  one: 1 an
24
24
  other: "%{count} ans"
25
25
  less_than_x: "moins de %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1s
29
+ other: "%{count}s"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1h
35
+ other: "%{count}h"
36
+ days:
37
+ one: 1j
38
+ other: "%{count}j"
39
+ weeks:
40
+ one: 1se
41
+ other: "%{count}se"
42
+ months:
43
+ one: 1mo
44
+ other: "%{count}mo"
45
+ years:
46
+ one: 1a
47
+ other: "%{count}a"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1a
54
+ any: "~%{count}a"
55
+ over_x_years:
56
+ one: ">1a"
57
+ other: ">%{count}a"
58
+ almost_x_years:
59
+ one: ~1a
60
+ any: "~%{count}a"
@@ -23,3 +23,38 @@ id:
23
23
  one: 1 tahun
24
24
  other: "%{count} tahun"
25
25
  less_than_x: "kurang dari %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1d
29
+ other: "%{count}d"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1j
35
+ other: "%{count}j"
36
+ days:
37
+ one: 1h
38
+ other: "%{count}h"
39
+ weeks:
40
+ one: 1mi
41
+ other: "%{count}mi"
42
+ months:
43
+ one: 1b
44
+ other: "%{count}b"
45
+ years:
46
+ one: 1t
47
+ other: "%{count}t"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1t
54
+ any: "~%{count}t"
55
+ over_x_years:
56
+ one: ">1t"
57
+ other: ">%{count}t"
58
+ almost_x_years:
59
+ one: ~1t
60
+ any: "~%{count}t"
@@ -22,3 +22,38 @@ it:
22
22
  years:
23
23
  one: un anno
24
24
  other: "%{count} anni"
25
+ dotiw_compact:
26
+ seconds:
27
+ one: 1s
28
+ other: "%{count}s"
29
+ minutes:
30
+ one: 1m
31
+ other: "%{count}m"
32
+ hours:
33
+ one: 1o
34
+ other: "%{count}o"
35
+ days:
36
+ one: 1g
37
+ other: "%{count}g"
38
+ weeks:
39
+ one: 1se
40
+ other: "%{count}se"
41
+ months:
42
+ one: 1me
43
+ other: "%{count}me"
44
+ years:
45
+ one: 1a
46
+ other: "%{count}a"
47
+ less_than_x: "<%{distance}"
48
+ words_connector: ""
49
+ two_words_connector: ""
50
+ last_word_connector: ""
51
+ about_x_years:
52
+ one: ~1a
53
+ any: "~%{count}a"
54
+ over_x_years:
55
+ one: ">1a"
56
+ other: ">%{count}a"
57
+ almost_x_years:
58
+ one: ~1a
59
+ any: "~%{count}a"
@@ -22,3 +22,38 @@ ja:
22
22
  years:
23
23
  one: "1年間"
24
24
  other: "%{count}年間"
25
+ dotiw_compact:
26
+ seconds:
27
+ one: "1秒"
28
+ other: "%{count}秒"
29
+ minutes:
30
+ one: "1分"
31
+ other: "%{count}分"
32
+ hours:
33
+ one: "1時間"
34
+ other: "%{count}時間"
35
+ days:
36
+ one: "1日間"
37
+ other: "%{count}日間"
38
+ weeks:
39
+ one: "1週間"
40
+ other: "%{count}週間"
41
+ months:
42
+ one: "1ヶ月"
43
+ other: "%{count}ヶ月"
44
+ years:
45
+ one: "1年間"
46
+ other: "%{count}年間"
47
+ less_than_x: "<%{distance}"
48
+ words_connector: ""
49
+ two_words_connector: ""
50
+ last_word_connector: ""
51
+ about_x_years:
52
+ one: ~1年間
53
+ any: "~%{count}年間"
54
+ over_x_years:
55
+ one: ">1年間"
56
+ other: ">%{count}年間"
57
+ almost_x_years:
58
+ one: ~1年間
59
+ any: "~%{count}年間"
@@ -23,3 +23,26 @@ ko:
23
23
  one: 일년
24
24
  other: "%{count} 년"
25
25
  less_than_x: "%{distance} 미만"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 일초
29
+ other: "%{count}초"
30
+ minutes:
31
+ one: 일분
32
+ other: "%{count}분"
33
+ hours:
34
+ one: 한시간
35
+ other: "%{count}시간"
36
+ days:
37
+ one: 하루
38
+ other: "%{count}일"
39
+ weeks:
40
+ one: 일주
41
+ other: "%{count}주"
42
+ months:
43
+ one: 한달
44
+ other: "%{count}달"
45
+ years:
46
+ one: 일년
47
+ other: "%{count}년"
48
+ less_than_x: "< %{distance}"
@@ -22,4 +22,39 @@ nb:
22
22
  years:
23
23
  one: 1 år
24
24
  other: "%{count} år"
25
- less_than_x: "mindre enn %{distance}"
25
+ less_than_x: "mindre enn %{distance}"
26
+ dotiw_compact:
27
+ seconds:
28
+ one: 1s
29
+ other: "%{count}s"
30
+ minutes:
31
+ one: 1m
32
+ other: "%{count}m"
33
+ hours:
34
+ one: 1t
35
+ other: "%{count}t"
36
+ days:
37
+ one: 1d
38
+ other: "%{count}d"
39
+ weeks:
40
+ one: 1u
41
+ other: "%{count}u"
42
+ months:
43
+ one: 1må
44
+ other: "%{count}må"
45
+ years:
46
+ one: 1å
47
+ other: "%{count}å"
48
+ less_than_x: "<%{distance}"
49
+ words_connector: ""
50
+ two_words_connector: ""
51
+ last_word_connector: ""
52
+ about_x_years:
53
+ one: ~1å
54
+ any: "~%{count}å"
55
+ over_x_years:
56
+ one: ">1å"
57
+ other: ">%{count}å"
58
+ almost_x_years:
59
+ one: ~1å
60
+ any: "~%{count}å"