ice_cube_chosko 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2341f92b5ea3e7f1506b945211424983d4c5c46d
4
- data.tar.gz: 96516ff2130b39732f0735564cefe522c05f7ed9
3
+ metadata.gz: 53043f248147e73fc89ba52dd021f6408a46663e
4
+ data.tar.gz: 0dd667fb9b9eabec5580aed65ea754f8c67de453
5
5
  SHA512:
6
- metadata.gz: 94f234c5480254071f900d0544f80dbd1ea7f2808822edb5a871628b3c2e14e1666bdc9794f1c2963a6845fbb4277e5e19a85822b75ab8b25a0549130b90f45e
7
- data.tar.gz: bece59692514ab85436c0192257966ef01e887cff2ffa10c6d81a85ca02c3ec64eb95dfb9eaf49f735f5d01be2390aa1555aebee65f837124a9019464324d1ea
6
+ metadata.gz: 735c39b7950a869862c8e1771c33efff4fff601597388ec840b9af3c66b5f762889c2904e018e5e0c3c73cdb7afdf7bdb769ce936f6a7099f405dd0cd3f1fc96
7
+ data.tar.gz: 7ed35b3199e5794be18743868681242e05faa57fa738a22eb77bb078e5a7fd9bc72f04ed6a7525ef389cf4bf76118fe425eb1442516e04084964fec45c398c6a
@@ -24,18 +24,14 @@ module IceCube
24
24
  end
25
25
 
26
26
  def self.rule_from_ical(ical)
27
- raise ArgumentError, 'empty ical rule' if ical.nil?
28
-
29
- validations = {}
30
- params = {validations: validations, interval: 1}
27
+ params = { validations: { } }
31
28
 
32
29
  ical.split(';').each do |rule|
33
30
  (name, value) = rule.split('=')
34
- raise ArgumentError, "Invalid iCal rule component" if value.nil?
35
31
  value.strip!
36
32
  case name
37
33
  when 'FREQ'
38
- params[:rule_type] = "IceCube::#{value[0]}#{value.downcase[1..-1]}Rule"
34
+ params[:freq] = value.downcase
39
35
  when 'INTERVAL'
40
36
  params[:interval] = value.to_i
41
37
  when 'COUNT'
@@ -43,13 +39,13 @@ module IceCube
43
39
  when 'UNTIL'
44
40
  params[:until] = Time.parse(value).utc
45
41
  when 'WKST'
46
- params[:week_start] = TimeUtil.ical_day_to_symbol(value)
42
+ params[:wkst] = TimeUtil.ical_day_to_symbol(value)
47
43
  when 'BYSECOND'
48
- validations[:second_of_minute] = value.split(',').map(&:to_i)
44
+ params[:validations][:second_of_minute] = value.split(',').collect(&:to_i)
49
45
  when 'BYMINUTE'
50
- validations[:minute_of_hour] = value.split(',').map(&:to_i)
46
+ params[:validations][:minute_of_hour] = value.split(',').collect(&:to_i)
51
47
  when 'BYHOUR'
52
- validations[:hour_of_day] = value.split(',').map(&:to_i)
48
+ params[:validations][:hour_of_day] = value.split(',').collect(&:to_i)
53
49
  when 'BYDAY'
54
50
  dows = {}
55
51
  days = []
@@ -63,21 +59,33 @@ module IceCube
63
59
  days.push TimeUtil.sym_to_wday(day) if dows[day].nil?
64
60
  end
65
61
  end
66
- validations[:day_of_week] = dows unless dows.empty?
67
- validations[:day] = days unless days.empty?
62
+ params[:validations][:day_of_week] = dows unless dows.empty?
63
+ params[:validations][:day] = days unless days.empty?
68
64
  when 'BYMONTHDAY'
69
- validations[:day_of_month] = value.split(',').map(&:to_i)
65
+ params[:validations][:day_of_month] = value.split(',').collect(&:to_i)
70
66
  when 'BYMONTH'
71
- validations[:month_of_year] = value.split(',').map(&:to_i)
67
+ params[:validations][:month_of_year] = value.split(',').collect(&:to_i)
72
68
  when 'BYYEARDAY'
73
- validations[:day_of_year] = value.split(',').map(&:to_i)
69
+ params[:validations][:day_of_year] = value.split(',').collect(&:to_i)
74
70
  when 'BYSETPOS'
75
71
  else
76
- validations[name] = nil # invalid type
72
+ raise "Invalid or unsupported rrule command: #{name}"
77
73
  end
78
74
  end
79
75
 
80
- Rule.from_hash(params)
76
+ params[:interval] ||= 1
77
+
78
+ # WKST only valid for weekly rules
79
+ params.delete(:wkst) unless params[:freq] == 'weekly'
80
+
81
+ rule = Rule.send(*params.values_at(:freq, :interval, :wkst).compact)
82
+ rule.count(params[:count]) if params[:count]
83
+ rule.until(params[:until]) if params[:until]
84
+ params[:validations].each do |key, value|
85
+ value.is_a?(Array) ? rule.send(key, *value) : rule.send(key, value)
86
+ end
87
+
88
+ rule
81
89
  end
82
90
  end
83
91
  end
@@ -4,11 +4,6 @@ module IceCube
4
4
 
5
5
  class Rule
6
6
 
7
- INTERVAL_TYPES = [
8
- :secondly, :minutely, :hourly,
9
- :daily, :weekly, :monthly, :yearly
10
- ]
11
-
12
7
  attr_reader :uses
13
8
 
14
9
  # Is this a terminating schedule?
@@ -56,6 +51,21 @@ module IceCube
56
51
  raise MethodNotImplemented, "Expected to be overridden by subclasses"
57
52
  end
58
53
 
54
+ # Convert from a hash and create a rule
55
+ def self.from_hash(original_hash)
56
+ hash = IceCube::FlexibleHash.new original_hash
57
+ return nil unless match = hash[:rule_type].match(/\:\:(.+?)Rule/)
58
+ rule = IceCube::Rule.send(match[1].downcase.to_sym, hash[:interval] || 1)
59
+ rule.interval(hash[:interval] || 1, TimeUtil.wday_to_sym(hash[:week_start] || 0)) if match[1] == "Weekly"
60
+ rule.until(TimeUtil.deserialize_time(hash[:until])) if hash[:until]
61
+ rule.count(hash[:count]) if hash[:count]
62
+ hash[:validations] && hash[:validations].each do |key, value|
63
+ key = key.to_sym unless key.is_a?(Symbol)
64
+ value.is_a?(Array) ? rule.send(key, *value) : rule.send(key, value)
65
+ end
66
+ rule
67
+ end
68
+
59
69
  # Reset the uses on the rule to 0
60
70
  def reset
61
71
  @uses = 0
@@ -73,52 +83,6 @@ module IceCube
73
83
  !@count.nil?
74
84
  end
75
85
 
76
- class << self
77
-
78
- # Convert from a hash and create a rule
79
- def from_hash(original_hash)
80
- hash = IceCube::FlexibleHash.new original_hash
81
-
82
- unless hash[:rule_type] && match = hash[:rule_type].match(/\:\:(.+?)Rule/)
83
- raise ArgumentError, 'Invalid rule type'
84
- end
85
-
86
- interval_type = match[1].downcase.to_sym
87
-
88
- unless INTERVAL_TYPES.include?(interval_type)
89
- raise ArgumentError, "Invalid rule frequency type: #{match[1]}"
90
- end
91
-
92
- rule = IceCube::Rule.send(interval_type, hash[:interval] || 1)
93
-
94
- if match[1] == "Weekly"
95
- rule.interval(hash[:interval] || 1, TimeUtil.wday_to_sym(hash[:week_start] || 0))
96
- end
97
-
98
- rule.until(TimeUtil.deserialize_time(hash[:until])) if hash[:until]
99
- rule.count(hash[:count]) if hash[:count]
100
-
101
- hash[:validations] && hash[:validations].each do |name, args|
102
- apply_validation(rule, name, args)
103
- end
104
-
105
- rule
106
- end
107
-
108
- private
109
-
110
- def apply_validation(rule, name, args)
111
- name = name.to_sym
112
-
113
- unless ValidatedRule::VALIDATION_ORDER.include?(name)
114
- raise ArgumentError, "Invalid rule validation type: #{name}"
115
- end
116
-
117
- args.is_a?(Array) ? rule.send(name, *args) : rule.send(name, args)
118
- end
119
-
120
- end
121
-
122
86
  # Convenience methods for creating Rules
123
87
  class << self
124
88
 
@@ -191,14 +191,14 @@ module IceCube
191
191
 
192
192
  # The previous occurrence from a given time
193
193
  def previous_occurrence(from)
194
- from = TimeUtil.match_zone(from, start_time) or raise ArgumentError, "Time required, got #{from.inspect}"
194
+ from = TimeUtil.match_zone(from, start_time) or raise ArgumentError, "Time required, got #{time.inspect}"
195
195
  return nil if from <= start_time
196
196
  enumerate_occurrences(start_time, from - 1).to_a.last
197
197
  end
198
198
 
199
199
  # The previous n occurrences before a given time
200
200
  def previous_occurrences(num, from)
201
- from = TimeUtil.match_zone(from, start_time) or raise ArgumentError, "Time required, got #{from.inspect}"
201
+ from = TimeUtil.match_zone(from, start_time) or raise ArgumentError, "Time required, got #{time.inspect}"
202
202
  return [] if from <= start_time
203
203
  a = enumerate_occurrences(start_time, from - 1).to_a
204
204
  a.size > num ? a[-1*num,a.size] : a
@@ -428,7 +428,7 @@ module IceCube
428
428
  spans = options[:spans] == true && max_duration != 0
429
429
  Enumerator.new do |yielder|
430
430
  reset
431
- t1 = full_required? ? start_time : realign(opening_time) - (spans ? max_duration : 0)
431
+ t1 = full_required? ? start_time : realign((spans ? opening_time - max_duration : opening_time))
432
432
  loop do
433
433
  break unless (t0 = next_time(t1, closing_time))
434
434
  break if closing_time && t0 > closing_time
@@ -42,7 +42,7 @@ module IceCube
42
42
  end
43
43
 
44
44
  def self.match_zone(input_time, reference)
45
- return unless time = ensure_time(input_time, reference)
45
+ return unless time = ensure_time(input_time)
46
46
  time = if reference.respond_to? :time_zone
47
47
  time.in_time_zone(reference.time_zone)
48
48
  else
@@ -58,21 +58,13 @@ module IceCube
58
58
  end
59
59
 
60
60
  # Ensure that this is either nil, or a time
61
- def self.ensure_time(time, reference = nil, date_eod = false)
61
+ def self.ensure_time(time, date_eod = false)
62
62
  case time
63
63
  when DateTime
64
64
  warn "IceCube: DateTime support is deprecated (please use Time) at: #{ caller[2] }"
65
65
  Time.local(time.year, time.month, time.day, time.hour, time.min, time.sec)
66
66
  when Date
67
- if date_eod
68
- end_of_date(time, reference)
69
- else
70
- if reference
71
- build_in_zone([time.year, time.month, time.day], reference)
72
- else
73
- time.to_time
74
- end
75
- end
67
+ date_eod ? end_of_date(time) : time.to_time
76
68
  else
77
69
  time
78
70
  end
@@ -5,8 +5,6 @@ module IceCube
5
5
  module Validations::Day
6
6
 
7
7
  def day(*days)
8
- days = days.flatten
9
- return self if days.empty?
10
8
  days.flatten.each do |day|
11
9
  unless day.is_a?(Fixnum) || day.is_a?(Symbol)
12
10
  raise ArgumentError, "expecting Fixnum or Symbol value for day, got #{day.inspect}"
@@ -11,6 +11,7 @@ module IceCube
11
11
  deprecated_alias :until_date, :until_time
12
12
 
13
13
  def until(time)
14
+ time = TimeUtil.ensure_time(time, true)
14
15
  @until = time
15
16
  replace_validations_for(:until, time.nil? ? nil : [Validation.new(time)])
16
17
  self
@@ -33,8 +34,7 @@ module IceCube
33
34
  end
34
35
 
35
36
  def validate(step_time, schedule)
36
- end_time = TimeUtil.ensure_time(time, schedule.start_time, true)
37
- raise UntilExceeded if step_time > end_time
37
+ raise UntilExceeded if step_time > time
38
38
  end
39
39
 
40
40
  def build_s(builder)
@@ -1,5 +1,5 @@
1
1
  module IceCube
2
2
 
3
- VERSION = '0.1.1'
4
-
3
+ VERSION = '0.2.0'
4
+
5
5
  end
@@ -23,26 +23,42 @@ RSpec.configure do |config|
23
23
 
24
24
  config.include WarningHelpers
25
25
 
26
- config.before :each do |example|
27
- if example.metadata[:requires_active_support]
28
- raise 'ActiveSupport required but not present' unless defined?(ActiveSupport)
26
+ config.around :each, :if_active_support_time => true do |example|
27
+ example.run if defined? ActiveSupport
28
+ end
29
+
30
+ config.around :each, :if_active_support_time => false do |example|
31
+ unless defined? ActiveSupport
32
+ stubbed_active_support = ::ActiveSupport = Module.new
33
+ example.run
34
+ Object.send :remove_const, :ActiveSupport
29
35
  end
30
36
  end
31
37
 
32
38
  config.around :each do |example|
33
39
  if zone = example.metadata[:system_time_zone]
34
- orig_zone = ENV['TZ']
40
+ @orig_zone = ENV['TZ']
35
41
  ENV['TZ'] = zone
36
42
  example.run
37
- ENV['TZ'] = orig_zone
43
+ ENV['TZ'] = @orig_zone
38
44
  else
39
45
  example.run
40
46
  end
41
47
  end
42
48
 
49
+ config.before :each do
50
+ if time_args = @example.metadata[:system_time]
51
+ case time_args
52
+ when Array then Time.stub!(:now).and_return Time.local(*time_args)
53
+ when Time then Time.stub!(:now).and_return time_args
54
+ end
55
+ end
56
+ end
57
+
43
58
  config.around :each, expect_warnings: true do |example|
44
59
  capture_warnings do
45
60
  example.run
46
61
  end
47
62
  end
63
+
48
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ice_cube_chosko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Crepezzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-02 00:00:00.000000000 Z
11
+ date: 2016-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -28,16 +28,58 @@ dependencies:
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">"
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3'
33
+ version: 2.12.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">"
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3'
40
+ version: 2.12.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: tzinfo
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: i18n
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  description: ice_cube is a recurring date library for Ruby. It allows for quick,
42
84
  programatic expansion of recurring date rules.
43
85
  email: john@crepezzi.com
@@ -45,13 +87,9 @@ executables: []
45
87
  extensions: []
46
88
  extra_rdoc_files: []
47
89
  files:
48
- - config/locales/de.yml
49
90
  - config/locales/en.yml
50
91
  - config/locales/es.yml
51
- - config/locales/fr.yml
52
92
  - config/locales/ja.yml
53
- - config/locales/ru.yml
54
- - config/locales/sv.yml
55
93
  - lib/ice_cube.rb
56
94
  - lib/ice_cube/builders/hash_builder.rb
57
95
  - lib/ice_cube/builders/ical_builder.rb
@@ -101,7 +139,7 @@ files:
101
139
  - lib/ice_cube/validations/yearly_interval.rb
102
140
  - lib/ice_cube/version.rb
103
141
  - spec/spec_helper.rb
104
- homepage: https://github.com/chosko/ice_cube
142
+ homepage: http://github.com/chosko/ice_cube
105
143
  licenses:
106
144
  - MIT
107
145
  metadata: {}
@@ -1,178 +0,0 @@
1
- de:
2
- ice_cube:
3
- pieces_connector: ' / '
4
- not: 'außer %{target}'
5
- not_on: 'außer am %{target}'
6
- date:
7
- formats:
8
- default: '%-d. %B %Y'
9
- month_names:
10
- -
11
- - Januar
12
- - Februar
13
- - März
14
- - April
15
- - Mai
16
- - Juni
17
- - Juli
18
- - August
19
- - September
20
- - Oktober
21
- - November
22
- - Dezember
23
- day_names:
24
- - Sonntag
25
- - Montag
26
- - Dienstag
27
- - Mittwoch
28
- - Donnerstag
29
- - Freitag
30
- - Samstag
31
- times:
32
- other: '%{count} mal'
33
- one: '%{count} mal'
34
- until: 'bis zum %{date}'
35
- days_of_week: '%{segments} %{day}'
36
- days_of_month:
37
- one: '%{segments} Tag des Monats'
38
- other: '%{segments} Tag des Monats'
39
- days_of_year:
40
- one: '%{segments} Tag des Jahres'
41
- other: '%{segments} Tag des Jahres'
42
- at_hours_of_the_day:
43
- one: in der %{segments} Stunde des Tages
44
- other: in der %{segments} Stunde des Tages
45
- on_minutes_of_hour:
46
- one: in der %{segments} Minute der Stunde
47
- other: in der %{segments} Minute der Stunde
48
- at_seconds_of_minute:
49
- one: in der %{segments} Sekunde
50
- other: in der %{segments} Sekunde
51
- on_seconds_of_minute:
52
- one: in der %{segments} Sekunde der Minute
53
- other: in der %{segments} Sekunde der Minute
54
- each_second:
55
- one: Jede Sekunde
56
- other: Alle %{count} Sekunden
57
- each_minute:
58
- one: Jede Minute
59
- other: Alle %{count} Minuten
60
- each_hour:
61
- one: Stündlich
62
- other: Alle %{count} Stunden
63
- each_day:
64
- one: Täglich
65
- other: Alle %{count} Tage
66
- each_week:
67
- one: Wöchentlich
68
- other: Alle %{count} Wochen
69
- each_month:
70
- one: Monatlich
71
- other: Alle %{count} Monate
72
- each_year:
73
- one: Jährlich
74
- other: Alle %{count} Jahre
75
- 'on': am %{sentence}
76
- in: 'im %{target}'
77
- integer:
78
- negative: '%{ordinal}. letzter'
79
- literal_ordinals:
80
- -1: letzten
81
- -2: vorletzten
82
- ordinal: '%{number}%{ordinal}'
83
- ordinals:
84
- default: '.'
85
- # 1: st
86
- # 2: nd
87
- # 3: rd
88
- # 11: th
89
- # 12: th
90
- # 13: th
91
- on_weekends: am Wochenende
92
- on_weekdays: an Wochentagen
93
- days_on:
94
- - Sonntags
95
- - Montags
96
- - Dienstags
97
- - Mittwochs
98
- - Donnerstags
99
- - Freitags
100
- - Samstags
101
- on_days: '%{days}'
102
- array:
103
- last_word_connector: ' und '
104
- two_words_connector: ' und '
105
- words_connector: ', '
106
- string:
107
- format:
108
- day: '%{rest} %{current}'
109
- day_of_week: '%{rest} %{current}'
110
- day_of_month: '%{rest} %{current}'
111
- day_of_year: '%{rest} %{current}'
112
- hour_of_day: '%{rest} %{current}'
113
- minute_of_hour: '%{rest} %{current}'
114
- until: '%{rest} %{current}'
115
- count: '%{rest} %{current}'
116
- default: '%{rest} %{current}'
117
-
118
- date:
119
- abbr_day_names:
120
- - So
121
- - Mo
122
- - Di
123
- - Mi
124
- - Do
125
- - Fr
126
- - Sa
127
- abbr_month_names:
128
- -
129
- - Jan
130
- - Feb
131
- - Mär
132
- - Apr
133
- - Mai
134
- - Jun
135
- - Jul
136
- - Aug
137
- - Sep
138
- - Okt
139
- - Nov
140
- - Dez
141
- day_names:
142
- - Sonntag
143
- - Montag
144
- - Dinstag
145
- - Mittwoch
146
- - Donnerstag
147
- - Freitag
148
- - Samstag
149
- formats:
150
- default: "%Y-%m-%d"
151
- long: "%B %d, %Y"
152
- short: "%b %d"
153
- month_names:
154
- -
155
- - Januar
156
- - Februar
157
- - März
158
- - April
159
- - Mai
160
- - Juni
161
- - Juli
162
- - August
163
- - September
164
- - Oktober
165
- - November
166
- - Dezember
167
- order:
168
- - :year
169
- - :month
170
- - :day
171
-
172
- time:
173
- am: am
174
- formats:
175
- default: "%a, %d %b %Y %H:%M:%S %z"
176
- long: "%B %d, %Y %H:%M"
177
- short: "%d %b %H:%M"
178
- pm: pm
@@ -1,173 +0,0 @@
1
- fr:
2
- ice_cube:
3
- pieces_connector: ' / '
4
- not: 'pas %{target}'
5
- not_on: 'pas durant %{target}'
6
- date:
7
- formats:
8
- default: '%d %B %Y'
9
- month_names:
10
- -
11
- - janvier
12
- - février
13
- - mars
14
- - avril
15
- - mai
16
- - juin
17
- - juillet
18
- - août
19
- - septembre
20
- - octobre
21
- - novembre
22
- - décembre
23
- day_names:
24
- - dimanche
25
- - lundi
26
- - mardi
27
- - mercredi
28
- - jeudi
29
- - vendredi
30
- - samedi
31
- times:
32
- other: '%{count} fois'
33
- one: '%{count} fois'
34
- until: "jusqu'au %{date}"
35
- days_of_week: '%{segments} %{day}'
36
- days_of_month:
37
- other: '%{segments} jours du mois'
38
- one: '%{segments} jours du mois'
39
- days_of_year:
40
- other: "%{segments} jours de l'année"
41
- one: "%{segments} jours de l'année"
42
- at_hours_of_the_day:
43
- other: aux %{segments} heures de la journée
44
- one: à %{segments}h
45
- on_minutes_of_hour:
46
- other: aux %{segments} minutes de l'heure
47
- one: à la %{segments} minute de l'heure
48
- at_seconds_of_minute:
49
- other: aux %{segments} secondes
50
- one: à la %{segments} seconde
51
- on_seconds_of_minute:
52
- other: aux %{segments} secondes de la minute
53
- one: à la %{segments} seconde de la minute
54
- each_second:
55
- one: Toutes les secondes
56
- other: Toutes les %{count} secondes
57
- each_minute:
58
- one: Toutes les minutes
59
- other: Toutes les %{count} minutes
60
- each_hour:
61
- one: Toutes les heures
62
- other: Toutes les %{count} heures
63
- each_day:
64
- one: Quotidien
65
- other: Tous les %{count} jours
66
- each_week:
67
- one: Hebdomadaire
68
- other: Toutes les %{count} semaines
69
- each_month:
70
- one: Mensuel
71
- other: Tous les %{count} mois
72
- each_year:
73
- one: Annuel
74
- other: Tous les %{count} ans
75
- 'on': les %{sentence}
76
- in: 'en %{target}'
77
- integer:
78
- negative: '%{ordinal} depuis la fin'
79
- literal_ordinals:
80
- -1: derniers
81
- -2: avant-derniers
82
- ordinal: '%{number}%{ordinal}'
83
- ordinals:
84
- default: '°'
85
- 1: °
86
- on_weekends: pendant les weekends
87
- on_weekdays: pendant les jours ouvrés
88
- days_on:
89
- - dimanches
90
- - lundis
91
- - mardis
92
- - mercredis
93
- - jeudis
94
- - vendredis
95
- - samedis
96
- on_days: les %{days}
97
- array:
98
- last_word_connector: ', et '
99
- two_words_connector: ' et '
100
- words_connector: ', '
101
- string:
102
- format:
103
- day: '%{rest} %{current}'
104
- day_of_week: '%{rest} %{current}'
105
- day_of_month: '%{rest} %{current}'
106
- day_of_year: '%{rest} %{current}'
107
- hour_of_day: '%{rest} %{current}'
108
- minute_of_hour: '%{rest} %{current}'
109
- until: '%{rest} %{current}'
110
- count: '%{rest} %{current}'
111
- default: '%{rest} %{current}'
112
-
113
- date:
114
- abbr_day_names:
115
- - Dim
116
- - Lun
117
- - Mar
118
- - Mer
119
- - Jeu
120
- - Ven
121
- - Sam
122
- abbr_month_names:
123
- -
124
- - Jan
125
- - Fév
126
- - Mar
127
- - Avr
128
- - Mai
129
- - Jun
130
- - Jul
131
- - Aou
132
- - Sep
133
- - Oct
134
- - Nov
135
- - Déc
136
- day_names:
137
- - dimanche
138
- - lundi
139
- - mardi
140
- - mecredi
141
- - jeudi
142
- - vendredi
143
- - samedi
144
- formats:
145
- default: "%d-%m-%Y"
146
- long: "%d %B %Y"
147
- short: "%d %b"
148
- month_names:
149
- -
150
- - janvier
151
- - février
152
- - mars
153
- - avril
154
- - mai
155
- - juin
156
- - juillet
157
- - août
158
- - septembre
159
- - octobre
160
- - novembre
161
- - décembre
162
- order:
163
- - :year
164
- - :month
165
- - :day
166
-
167
- time:
168
- am: am
169
- formats:
170
- default: "%a, %d %b %Y %H:%M:%S %z"
171
- long: "%d %B %Y %H:%M"
172
- short: "%d %b %H:%M"
173
- pm: pm
@@ -1,195 +0,0 @@
1
- ru:
2
- ice_cube:
3
- pieces_connector: ' / '
4
- not: 'не %{target}'
5
- not_on: 'не в %{target}'
6
- date:
7
- formats:
8
- default: '%-d %B %Y'
9
- month_names:
10
- -
11
- - январь
12
- - февраль
13
- - март
14
- - апрель
15
- - май
16
- - июнь
17
- - июль
18
- - август
19
- - сентябрь
20
- - октябрь
21
- - ноябрь
22
- - декабрь
23
- day_names:
24
- - воскресенье
25
- - понедельник
26
- - вторник
27
- - среда
28
- - четверг
29
- - пятница
30
- - суббота
31
- times:
32
- other: '%{count} раза'
33
- many: '%{count} раз'
34
- few: '%{count} раза'
35
- one: '%{count} раз'
36
- until: 'до %{date}'
37
- days_of_week: '%{segments} %{day}'
38
- days_of_month:
39
- other: '%{segments} день месяца'
40
- many: '%{segments} день месяца'
41
- few: '%{segments} день месяца'
42
- one: '%{segments} день месяца'
43
- days_of_year:
44
- other: '%{segments} день года'
45
- many: '%{segments} день года'
46
- few: '%{segments} день года'
47
- one: '%{segments} день года'
48
- at_hours_of_the_day:
49
- other: в %{segments} часы дня
50
- many: в %{segments} часы дня
51
- few: в %{segments} часы дня
52
- one: в %{segments} час дня
53
- on_minutes_of_hour:
54
- other: в %{segments} минуты часа
55
- many: в %{segments} минуты часа
56
- few: в %{segments} минуты часа
57
- one: в %{segments} минуту часа
58
- on_seconds_of_minute:
59
- other: на %{segments} секунде минуты
60
- many: на %{segments} секунде минуты
61
- few: на %{segments} секунде минуты
62
- one: на %{segments} секунде минуты
63
- each_second:
64
- one: Ежесекундно
65
- few: Каждые %{count} секунды
66
- many: Каждые %{count} секунд
67
- other: Каждые %{count} секунды
68
- each_minute:
69
- one: Ежеминутно
70
- few: Каждые %{count} минуты
71
- many: Каждые %{count} минут
72
- other: Каждые %{count} минуты
73
- each_hour:
74
- one: Каждый час
75
- few: Каждые %{count} часа
76
- many: Каждые %{count} часов
77
- other: Каждые %{count} часа
78
- each_day:
79
- one: Ежедневно
80
- few: Каждые %{count} дня
81
- many: Каждые %{count} дней
82
- other: Каждые %{count} дня
83
- each_week:
84
- one: Еженедельно
85
- few: Каждые %{count} недели
86
- many: Каждые %{count} недель
87
- other: Каждые %{count} недели
88
- each_month:
89
- one: Ежемесячно
90
- few: Каждые %{count} месяца
91
- many: Каждые %{count} месяцев
92
- other: Каждые %{count} месяца
93
- each_year:
94
- one: Ежегодно
95
- few: Каждые %{count} года
96
- many: Каждые %{count} лет
97
- other: Каждые %{count} года
98
- 'on': в %{sentence}
99
- in: 'через %{target}'
100
- integer:
101
- negative: '%{ordinal} с конца'
102
- literal_ordinals:
103
- -1: последний
104
- -2: предпоследний
105
- ordinal: '%{number}%{ordinal}'
106
- ordinals:
107
- default: ''
108
- on_weekends: на выходных
109
- on_weekdays: по будням
110
- days_on:
111
- - воскресеньям
112
- - понедельникам
113
- - вторникам
114
- - средам
115
- - четвергам
116
- - пятницам
117
- - субботам
118
- on_days: по %{days}
119
- array:
120
- last_word_connector: ' и '
121
- two_words_connector: ' и '
122
- words_connector: ', '
123
- string:
124
- format:
125
- day: '%{rest} %{current}'
126
- day_of_week: '%{rest} %{current}'
127
- day_of_month: '%{rest} %{current}'
128
- day_of_year: '%{rest} %{current}'
129
- hour_of_day: '%{rest} %{current}'
130
- minute_of_hour: '%{rest} %{current}'
131
- until: '%{rest} %{current}'
132
- count: '%{rest} %{current}'
133
- default: '%{rest} %{current}'
134
-
135
- date:
136
- abbr_day_names:
137
- - Вс
138
- - Пн
139
- - Вт
140
- - Ср
141
- - Чт
142
- - Пт
143
- - Сб
144
- abbr_month_names:
145
- -
146
- - Янв.
147
- - Февр.
148
- - Марта
149
- - Апр.
150
- - Мая
151
- - Июня
152
- - Июля
153
- - Авг.
154
- - Сент.
155
- - Окт.
156
- - Нояб.
157
- - Дек.
158
- day_names:
159
- - Воскресенье
160
- - Понедельник
161
- - Вторник
162
- - Среда
163
- - Четверг
164
- - Пятница
165
- - Суббота
166
- formats:
167
- default: "%d.%m.%Y"
168
- short: "%d %b"
169
- long: "%d %B %Y"
170
- month_names:
171
- -
172
- - Января
173
- - Февраля
174
- - Марта
175
- - Апреля
176
- - Мая
177
- - Июня
178
- - Июля
179
- - Августа
180
- - Сентября
181
- - Октября
182
- - Ноября
183
- - Декабря
184
- order:
185
- - :day
186
- - :month
187
- - :year
188
-
189
- time:
190
- am: утра
191
- formats:
192
- default: "%a, %d %b %Y, %H:%M:%S %z"
193
- short: "%d %b, %H:%M"
194
- long: "%d %B %Y, %H:%M"
195
- pm: вечера
@@ -1,169 +0,0 @@
1
- sv:
2
- ice_cube:
3
- pieces_connector: ' / '
4
- not: 'inte %{target}'
5
- not_on: 'inte i %{target}'
6
- date:
7
- formats:
8
- default: '%-d %B %Y'
9
- month_names:
10
- -
11
- - januari
12
- - februari
13
- - mars
14
- - april
15
- - maj
16
- - juni
17
- - juli
18
- - augusti
19
- - september
20
- - oktober
21
- - november
22
- - december
23
- day_names:
24
- - söndag
25
- - måndag
26
- - tisdag
27
- - onsdag
28
- - torsdag
29
- - fredag
30
- - lördag
31
- times:
32
- other: '%{count} gånger'
33
- one: '%{count} gång'
34
- until: 'tills %{date}'
35
- days_of_week: '%{segments} %{day}'
36
- days_of_month:
37
- other: '%{segments} dagen i månaden'
38
- one: '%{segments} dagen i månaden'
39
- days_of_year:
40
- other: '%{segments} dagen på året'
41
- one: '%{segments} dagen på året'
42
- at_hours_of_the_day:
43
- other: i %{segments} timme på dygnet
44
- one: i %{segments} timme på dygnet
45
- on_minutes_of_hour:
46
- other: i %{segments} minuter av timmen
47
- one: i %{segments} minuten av timmen
48
- on_seconds_of_minute:
49
- other: på %{segments} sekunden av minuten
50
- one: på %{segments} sekunden av minuten
51
- each_second:
52
- one: Varje sekund
53
- other: Varje %{count} sekund
54
- each_minute:
55
- one: Varje minut
56
- other: Varje %{count} minut
57
- each_hour:
58
- one: Varje timme
59
- other: Varje %{count} timme
60
- each_day:
61
- one: Varje dag
62
- other: Varje %{count} dag
63
- each_week:
64
- one: Varje vecka
65
- other: Varje %{count} vecka
66
- each_month:
67
- one: Varje månad
68
- other: Varje %{count} månad
69
- each_year:
70
- one: Varje år
71
- other: Varje %{count} år
72
- 'on': i %{sentence}
73
- in: 'efter %{target}'
74
- integer:
75
- negative: '%{ordinal} från slutet'
76
- literal_ordinals:
77
- -1: sista
78
- -2: nästsista
79
- ordinal: '%{number}%{ordinal}'
80
- ordinals:
81
- default: ''
82
- on_weekends: på helger
83
- on_weekdays: på vardagar
84
- days_on:
85
- - söndagar
86
- - måndagar
87
- - tisdagar
88
- - onsdagar
89
- - torsdagar
90
- - fredagar
91
- - lördagar
92
- on_days: på %{days}
93
- array:
94
- last_word_connector: ' och '
95
- two_words_connector: ' och '
96
- words_connector: ', '
97
- string:
98
- format:
99
- day: '%{rest} %{current}'
100
- day_of_week: '%{rest} %{current}'
101
- day_of_month: '%{rest} %{current}'
102
- day_of_year: '%{rest} %{current}'
103
- hour_of_day: '%{rest} %{current}'
104
- minute_of_hour: '%{rest} %{current}'
105
- until: '%{rest} %{current}'
106
- count: '%{rest} %{current}'
107
- default: '%{rest} %{current}'
108
-
109
- date:
110
- abbr_day_names:
111
- - Sön
112
- - Mån
113
- - Tis
114
- - Ons
115
- - Tor
116
- - Fre
117
- - Lör
118
- abbr_month_names:
119
- -
120
- - Jan
121
- - Feb
122
- - Mar
123
- - Apr
124
- - Maj
125
- - Jun
126
- - Jul
127
- - Aug
128
- - Sep
129
- - Okt
130
- - Mov
131
- - Dec
132
- day_names:
133
- - Söndag
134
- - Måndag
135
- - Tisdag
136
- - Onsdag
137
- - Torsdag
138
- - Fredag
139
- - Lördag
140
- formats:
141
- default: "%Y-%m-%d"
142
- long: "%e %B %Y"
143
- short: "%e %b"
144
- month_names:
145
- -
146
- - Januari
147
- - Februari
148
- - Mars
149
- - April
150
- - Maj
151
- - Juni
152
- - Juli
153
- - Augusti
154
- - September
155
- - Oktober
156
- - November
157
- - December
158
- order:
159
- - :day
160
- - :month
161
- - :year
162
-
163
- time:
164
- am: ''
165
- formats:
166
- default: "%a, %e %b %Y %H:%M:%S %z"
167
- long: "%e %B %Y %H:%M"
168
- short: "%e %b %H:%M"
169
- pm: ''