sidekiq 4.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/{Contributing.md → .github/contributing.md} +0 -0
  3. data/.github/issue_template.md +9 -0
  4. data/.gitignore +1 -0
  5. data/.travis.yml +12 -10
  6. data/4.0-Upgrade.md +4 -1
  7. data/5.0-Upgrade.md +56 -0
  8. data/COMM-LICENSE +1 -1
  9. data/Changes.md +236 -7
  10. data/Ent-Changes.md +111 -3
  11. data/Gemfile +7 -6
  12. data/Pro-3.0-Upgrade.md +5 -7
  13. data/Pro-Changes.md +162 -5
  14. data/README.md +31 -21
  15. data/Rakefile +5 -2
  16. data/bin/sidekiq +0 -1
  17. data/bin/sidekiqctl +1 -1
  18. data/bin/sidekiqload +15 -33
  19. data/code_of_conduct.md +50 -0
  20. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +2 -2
  21. data/lib/generators/sidekiq/templates/worker_test.rb.erb +6 -6
  22. data/lib/sidekiq.rb +46 -21
  23. data/lib/sidekiq/api.rb +94 -30
  24. data/lib/sidekiq/cli.rb +38 -16
  25. data/lib/sidekiq/client.rb +32 -26
  26. data/lib/sidekiq/core_ext.rb +14 -0
  27. data/lib/sidekiq/delay.rb +21 -0
  28. data/lib/sidekiq/exception_handler.rb +2 -1
  29. data/lib/sidekiq/extensions/action_mailer.rb +1 -0
  30. data/lib/sidekiq/extensions/active_record.rb +1 -0
  31. data/lib/sidekiq/extensions/class_methods.rb +1 -0
  32. data/lib/sidekiq/extensions/generic_proxy.rb +8 -1
  33. data/lib/sidekiq/fetch.rb +2 -1
  34. data/lib/sidekiq/job_logger.rb +27 -0
  35. data/lib/sidekiq/job_retry.rb +235 -0
  36. data/lib/sidekiq/launcher.rb +42 -33
  37. data/lib/sidekiq/logging.rb +3 -1
  38. data/lib/sidekiq/manager.rb +9 -4
  39. data/lib/sidekiq/middleware/chain.rb +1 -0
  40. data/lib/sidekiq/middleware/i18n.rb +1 -0
  41. data/lib/sidekiq/middleware/server/active_record.rb +9 -0
  42. data/lib/sidekiq/paginator.rb +1 -0
  43. data/lib/sidekiq/processor.rb +73 -19
  44. data/lib/sidekiq/rails.rb +47 -25
  45. data/lib/sidekiq/redis_connection.rb +14 -3
  46. data/lib/sidekiq/scheduled.rb +12 -1
  47. data/lib/sidekiq/testing.rb +65 -13
  48. data/lib/sidekiq/testing/inline.rb +1 -0
  49. data/lib/sidekiq/util.rb +3 -15
  50. data/lib/sidekiq/version.rb +2 -1
  51. data/lib/sidekiq/web.rb +120 -184
  52. data/lib/sidekiq/web/action.rb +89 -0
  53. data/lib/sidekiq/web/application.rb +331 -0
  54. data/lib/sidekiq/{web_helpers.rb → web/helpers.rb} +57 -27
  55. data/lib/sidekiq/web/router.rb +100 -0
  56. data/lib/sidekiq/worker.rb +52 -11
  57. data/sidekiq.gemspec +12 -7
  58. data/web/assets/images/{status-sd8051fd480.png → status.png} +0 -0
  59. data/web/assets/javascripts/application.js +24 -20
  60. data/web/assets/javascripts/dashboard.js +11 -13
  61. data/web/assets/stylesheets/application-rtl.css +246 -0
  62. data/web/assets/stylesheets/application.css +362 -5
  63. data/web/assets/stylesheets/bootstrap-rtl.min.css +9 -0
  64. data/web/assets/stylesheets/bootstrap.css +4 -8
  65. data/web/locales/ar.yml +80 -0
  66. data/web/locales/cs.yml +11 -1
  67. data/web/locales/de.yml +1 -1
  68. data/web/locales/en.yml +2 -0
  69. data/web/locales/fa.yml +80 -0
  70. data/web/locales/fr.yml +21 -12
  71. data/web/locales/he.yml +79 -0
  72. data/web/locales/ja.yml +19 -10
  73. data/web/locales/ru.yml +3 -0
  74. data/web/locales/ur.yml +80 -0
  75. data/web/views/_footer.erb +2 -2
  76. data/web/views/_job_info.erb +5 -1
  77. data/web/views/_nav.erb +2 -2
  78. data/web/views/_paging.erb +1 -1
  79. data/web/views/busy.erb +14 -9
  80. data/web/views/dashboard.erb +5 -5
  81. data/web/views/dead.erb +1 -1
  82. data/web/views/layout.erb +13 -5
  83. data/web/views/morgue.erb +16 -12
  84. data/web/views/queue.erb +11 -11
  85. data/web/views/queues.erb +3 -3
  86. data/web/views/retries.erb +15 -13
  87. data/web/views/retry.erb +2 -2
  88. data/web/views/scheduled.erb +4 -4
  89. data/web/views/scheduled_job_info.erb +1 -1
  90. metadata +97 -148
  91. data/lib/sidekiq/middleware/server/logging.rb +0 -40
  92. data/lib/sidekiq/middleware/server/retry_jobs.rb +0 -206
  93. data/test/config.yml +0 -9
  94. data/test/env_based_config.yml +0 -11
  95. data/test/fake_env.rb +0 -0
  96. data/test/fixtures/en.yml +0 -2
  97. data/test/helper.rb +0 -74
  98. data/test/test_actors.rb +0 -137
  99. data/test/test_api.rb +0 -494
  100. data/test/test_cli.rb +0 -335
  101. data/test/test_client.rb +0 -194
  102. data/test/test_exception_handler.rb +0 -55
  103. data/test/test_extensions.rb +0 -126
  104. data/test/test_fetch.rb +0 -49
  105. data/test/test_launcher.rb +0 -80
  106. data/test/test_logging.rb +0 -34
  107. data/test/test_manager.rb +0 -49
  108. data/test/test_middleware.rb +0 -157
  109. data/test/test_processor.rb +0 -200
  110. data/test/test_rails.rb +0 -21
  111. data/test/test_redis_connection.rb +0 -126
  112. data/test/test_retry.rb +0 -325
  113. data/test/test_scheduled.rb +0 -114
  114. data/test/test_scheduling.rb +0 -49
  115. data/test/test_sidekiq.rb +0 -99
  116. data/test/test_testing.rb +0 -142
  117. data/test/test_testing_fake.rb +0 -331
  118. data/test/test_testing_inline.rb +0 -93
  119. data/test/test_util.rb +0 -16
  120. data/test/test_web.rb +0 -608
  121. data/test/test_web_helpers.rb +0 -53
  122. data/web/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
  123. data/web/assets/images/bootstrap/glyphicons-halflings.png +0 -0
  124. data/web/assets/images/status/active.png +0 -0
  125. data/web/assets/images/status/idle.png +0 -0
  126. data/web/assets/javascripts/locales/README.md +0 -27
  127. data/web/assets/javascripts/locales/jquery.timeago.ar.js +0 -96
  128. data/web/assets/javascripts/locales/jquery.timeago.bg.js +0 -18
  129. data/web/assets/javascripts/locales/jquery.timeago.bs.js +0 -49
  130. data/web/assets/javascripts/locales/jquery.timeago.ca.js +0 -18
  131. data/web/assets/javascripts/locales/jquery.timeago.cs.js +0 -18
  132. data/web/assets/javascripts/locales/jquery.timeago.cy.js +0 -20
  133. data/web/assets/javascripts/locales/jquery.timeago.da.js +0 -18
  134. data/web/assets/javascripts/locales/jquery.timeago.de.js +0 -18
  135. data/web/assets/javascripts/locales/jquery.timeago.el.js +0 -18
  136. data/web/assets/javascripts/locales/jquery.timeago.en-short.js +0 -20
  137. data/web/assets/javascripts/locales/jquery.timeago.en.js +0 -20
  138. data/web/assets/javascripts/locales/jquery.timeago.es.js +0 -18
  139. data/web/assets/javascripts/locales/jquery.timeago.et.js +0 -18
  140. data/web/assets/javascripts/locales/jquery.timeago.fa.js +0 -22
  141. data/web/assets/javascripts/locales/jquery.timeago.fi.js +0 -28
  142. data/web/assets/javascripts/locales/jquery.timeago.fr-short.js +0 -16
  143. data/web/assets/javascripts/locales/jquery.timeago.fr.js +0 -17
  144. data/web/assets/javascripts/locales/jquery.timeago.he.js +0 -18
  145. data/web/assets/javascripts/locales/jquery.timeago.hr.js +0 -49
  146. data/web/assets/javascripts/locales/jquery.timeago.hu.js +0 -18
  147. data/web/assets/javascripts/locales/jquery.timeago.hy.js +0 -18
  148. data/web/assets/javascripts/locales/jquery.timeago.id.js +0 -18
  149. data/web/assets/javascripts/locales/jquery.timeago.it.js +0 -16
  150. data/web/assets/javascripts/locales/jquery.timeago.ja.js +0 -19
  151. data/web/assets/javascripts/locales/jquery.timeago.ko.js +0 -17
  152. data/web/assets/javascripts/locales/jquery.timeago.lt.js +0 -20
  153. data/web/assets/javascripts/locales/jquery.timeago.mk.js +0 -20
  154. data/web/assets/javascripts/locales/jquery.timeago.nl.js +0 -20
  155. data/web/assets/javascripts/locales/jquery.timeago.no.js +0 -18
  156. data/web/assets/javascripts/locales/jquery.timeago.pl.js +0 -31
  157. data/web/assets/javascripts/locales/jquery.timeago.pt-br.js +0 -16
  158. data/web/assets/javascripts/locales/jquery.timeago.pt.js +0 -16
  159. data/web/assets/javascripts/locales/jquery.timeago.ro.js +0 -18
  160. data/web/assets/javascripts/locales/jquery.timeago.rs.js +0 -49
  161. data/web/assets/javascripts/locales/jquery.timeago.ru.js +0 -34
  162. data/web/assets/javascripts/locales/jquery.timeago.sk.js +0 -18
  163. data/web/assets/javascripts/locales/jquery.timeago.sl.js +0 -44
  164. data/web/assets/javascripts/locales/jquery.timeago.sv.js +0 -18
  165. data/web/assets/javascripts/locales/jquery.timeago.th.js +0 -20
  166. data/web/assets/javascripts/locales/jquery.timeago.tr.js +0 -16
  167. data/web/assets/javascripts/locales/jquery.timeago.uk.js +0 -34
  168. data/web/assets/javascripts/locales/jquery.timeago.uz.js +0 -19
  169. data/web/assets/javascripts/locales/jquery.timeago.zh-cn.js +0 -20
  170. data/web/assets/javascripts/locales/jquery.timeago.zh-tw.js +0 -20
  171. data/web/views/_poll_js.erb +0 -5
@@ -1,53 +0,0 @@
1
- require_relative 'helper'
2
-
3
- class TestWebHelpers < Sidekiq::Test
4
-
5
- class Helpers
6
- include Sidekiq::WebHelpers
7
-
8
- def initialize(params={})
9
- @thehash = default.merge(params)
10
- end
11
-
12
- def request
13
- self
14
- end
15
-
16
- def settings
17
- self
18
- end
19
-
20
- def locales
21
- ['web/locales']
22
- end
23
-
24
- def env
25
- @thehash
26
- end
27
-
28
- def default
29
- {
30
- }
31
- end
32
- end
33
-
34
- def test_locale_determination
35
- obj = Helpers.new
36
- assert_equal 'en', obj.locale
37
-
38
- obj = Helpers.new('HTTP_ACCEPT_LANGUAGE' => 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4,ru;q=0.2')
39
- assert_equal 'fr', obj.locale
40
-
41
- obj = Helpers.new('HTTP_ACCEPT_LANGUAGE' => 'zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4,ru;q=0.2')
42
- assert_equal 'zh-cn', obj.locale
43
-
44
- obj = Helpers.new('HTTP_ACCEPT_LANGUAGE' => 'nb-NO,nb;q=0.2')
45
- assert_equal 'nb', obj.locale
46
-
47
- obj = Helpers.new('HTTP_ACCEPT_LANGUAGE' => 'en-us; *')
48
- assert_equal 'en', obj.locale
49
-
50
- obj = Helpers.new('HTTP_ACCEPT_LANGUAGE' => '*')
51
- assert_equal 'en', obj.locale
52
- end
53
- end
@@ -1,27 +0,0 @@
1
- # Locale override examples for timeago
2
-
3
- You can represent time statements in most western languages where
4
- a prefix and/or suffix is used.
5
-
6
- The default case is to use suffix only (as in English), which you
7
- do by providing the `suffixAgo` and `suffixFromNow` settings in
8
- the strings hash (earlier versions of timeago used the deprecated
9
- `ago` and `fromNow` options). If present, they are used.
10
-
11
- 2 minutes [suffixAgo]
12
- 2 minutes [suffixFromNow]
13
-
14
- In case you want to use prefix only instead of
15
- suffix (e.g. Greek), you provide the `prefixAgo` and
16
- `prefixFromNow` options in the strings hash and leave `suffixAgo`
17
- and `suffixFromNow` empty or null.
18
-
19
- [prefixAgo] 2 minutes
20
- [prefixFromNow] 2 minutes
21
-
22
- For languages where you want to use a prefix only for future
23
- tense and prefix/suffix for past tense (for example swedish), you
24
- can combine the prefix and suffixes as needed.
25
-
26
- [prefixAgo] 2 minutes [suffixAgo]
27
- [prefixFromNow] 2 minutes
@@ -1,96 +0,0 @@
1
- (function() {
2
- function numpf(n, a) {
3
- return a[plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5];
4
- }
5
-
6
- jQuery.timeago.settings.strings = {
7
- prefixAgo: "منذ",
8
- prefixFromNow: "بعد",
9
- suffixAgo: null,
10
- suffixFromNow: null, // null OR "من الآن"
11
- second: function(value) { return numpf(value, [
12
- 'أقل من ثانية',
13
- 'ثانية واحدة',
14
- 'ثانيتين',
15
- '%d ثوانٍ',
16
- '%d ثانية',
17
- '%d ثانية']); },
18
- seconds: function(value) { return numpf(value, [
19
- 'أقل من ثانية',
20
- 'ثانية واحدة',
21
- 'ثانيتين',
22
- '%d ثوانٍ',
23
- '%d ثانية',
24
- '%d ثانية']); },
25
- minute: function(value) { return numpf(value, [
26
- 'أقل من دقيقة',
27
- 'دقيقة واحدة',
28
- 'دقيقتين',
29
- '%d دقائق',
30
- '%d دقيقة',
31
- 'دقيقة']); },
32
- minutes: function(value) { return numpf(value, [
33
- 'أقل من دقيقة',
34
- 'دقيقة واحدة',
35
- 'دقيقتين',
36
- '%d دقائق',
37
- '%d دقيقة',
38
- 'دقيقة']); },
39
- hour: function(value) { return numpf(value, [
40
- 'أقل من ساعة',
41
- 'ساعة واحدة',
42
- 'ساعتين',
43
- '%d ساعات',
44
- '%d ساعة',
45
- '%d ساعة']); },
46
- hours: function(value) { return numpf(value, [
47
- 'أقل من ساعة',
48
- 'ساعة واحدة',
49
- 'ساعتين',
50
- '%d ساعات',
51
- '%d ساعة',
52
- '%d ساعة']); },
53
- day: function(value) { return numpf(value, [
54
- 'أقل من يوم',
55
- 'يوم واحد',
56
- 'يومين',
57
- '%d أيام',
58
- '%d يومًا',
59
- '%d يوم']); },
60
- days: function(value) { return numpf(value, [
61
- 'أقل من يوم',
62
- 'يوم واحد',
63
- 'يومين',
64
- '%d أيام',
65
- '%d يومًا',
66
- '%d يوم']); },
67
- month: function(value) { return numpf(value, [
68
- 'أقل من شهر',
69
- 'شهر واحد',
70
- 'شهرين',
71
- '%d أشهر',
72
- '%d شهرًا',
73
- '%d شهر']); },
74
- months: function(value) { return numpf(value, [
75
- 'أقل من شهر',
76
- 'شهر واحد',
77
- 'شهرين',
78
- '%d أشهر',
79
- '%d شهرًا',
80
- '%d شهر']); },
81
- year: function(value) { return numpf(value, [
82
- 'أقل من عام',
83
- 'عام واحد',
84
- '%d عامين',
85
- '%d أعوام',
86
- '%d عامًا']);
87
- },
88
- years: function(value) { return numpf(value, [
89
- 'أقل من عام',
90
- 'عام واحد',
91
- 'عامين',
92
- '%d أعوام',
93
- '%d عامًا',
94
- '%d عام']);}
95
- };
96
- })();
@@ -1,18 +0,0 @@
1
- // Bulgarian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "преди",
4
- prefixFromNow: "след",
5
- suffixAgo: null,
6
- suffixFromNow: null,
7
- seconds: "по-малко от минута",
8
- minute: "една минута",
9
- minutes: "%d минути",
10
- hour: "един час",
11
- hours: "%d часа",
12
- day: "един ден",
13
- days: "%d дни",
14
- month: "един месец",
15
- months: "%d месеца",
16
- year: "една година",
17
- years: "%d години"
18
- };
@@ -1,49 +0,0 @@
1
- // Bosnian
2
- (function() {
3
- var numpf;
4
-
5
- numpf = function(n, f, s, t) {
6
- var n10;
7
- n10 = n % 10;
8
- if (n10 === 1 && (n === 1 || n > 20)) {
9
- return f;
10
- } else if (n10 > 1 && n10 < 5 && (n > 20 || n < 10)) {
11
- return s;
12
- } else {
13
- return t;
14
- }
15
- };
16
-
17
- jQuery.timeago.settings.strings = {
18
- prefixAgo: "prije",
19
- prefixFromNow: "za",
20
- suffixAgo: null,
21
- suffixFromNow: null,
22
- second: "sekund",
23
- seconds: function(value) {
24
- return numpf(value, "%d sekund", "%d sekunde", "%d sekundi");
25
- },
26
- minute: "oko minut",
27
- minutes: function(value) {
28
- return numpf(value, "%d minut", "%d minute", "%d minuta");
29
- },
30
- hour: "oko sat",
31
- hours: function(value) {
32
- return numpf(value, "%d sat", "%d sata", "%d sati");
33
- },
34
- day: "oko jednog dana",
35
- days: function(value) {
36
- return numpf(value, "%d dan", "%d dana", "%d dana");
37
- },
38
- month: "mjesec dana",
39
- months: function(value) {
40
- return numpf(value, "%d mjesec", "%d mjeseca", "%d mjeseci");
41
- },
42
- year: "prije godinu dana ",
43
- years: function(value) {
44
- return numpf(value, "%d godinu", "%d godine", "%d godina");
45
- },
46
- wordSeparator: " "
47
- };
48
-
49
- }).call(this);
@@ -1,18 +0,0 @@
1
- // Catalan
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "fa",
4
- prefixFromNow: "d'aqui a",
5
- suffixAgo: null,
6
- suffixFromNow: null,
7
- seconds: "menys d'1 minut",
8
- minute: "1 minut",
9
- minutes: "uns %d minuts",
10
- hour: "1 hora",
11
- hours: "unes %d hores",
12
- day: "1 dia",
13
- days: "%d dies",
14
- month: "aproximadament un mes",
15
- months: "%d mesos",
16
- year: "aproximadament un any",
17
- years: "%d anys"
18
- };
@@ -1,18 +0,0 @@
1
- // Czech
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "před",
4
- prefixFromNow: null,
5
- suffixAgo: null,
6
- suffixFromNow: null,
7
- seconds: "méně než minutou",
8
- minute: "minutou",
9
- minutes: "%d minutami",
10
- hour: "hodinou",
11
- hours: "%d hodinami",
12
- day: "1 dnem",
13
- days: "%d dny",
14
- month: "1 měsícem",
15
- months: "%d měsíci",
16
- year: "1 rokem",
17
- years: "%d roky"
18
- };
@@ -1,20 +0,0 @@
1
- // Welsh
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "yn ôl",
6
- suffixFromNow: "o hyn",
7
- seconds: "llai na munud",
8
- minute: "am funud",
9
- minutes: "%d munud",
10
- hour: "tua awr",
11
- hours: "am %d awr",
12
- day: "y dydd",
13
- days: "%d diwrnod",
14
- month: "tua mis",
15
- months: "%d mis",
16
- year: "am y flwyddyn",
17
- years: "%d blynedd",
18
- wordSeparator: " ",
19
- numbers: []
20
- };
@@ -1,18 +0,0 @@
1
- // Danish
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "for",
4
- prefixFromNow: "om",
5
- suffixAgo: "siden",
6
- suffixFromNow: "",
7
- seconds: "mindre end et minut",
8
- minute: "ca. et minut",
9
- minutes: "%d minutter",
10
- hour: "ca. en time",
11
- hours: "ca. %d timer",
12
- day: "en dag",
13
- days: "%d dage",
14
- month: "ca. en måned",
15
- months: "%d måneder",
16
- year: "ca. et år",
17
- years: "%d år"
18
- };
@@ -1,18 +0,0 @@
1
- // German
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "vor",
4
- prefixFromNow: "in",
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "wenigen Sekunden",
8
- minute: "etwa einer Minute",
9
- minutes: "%d Minuten",
10
- hour: "etwa einer Stunde",
11
- hours: "%d Stunden",
12
- day: "etwa einem Tag",
13
- days: "%d Tagen",
14
- month: "etwa einem Monat",
15
- months: "%d Monaten",
16
- year: "etwa einem Jahr",
17
- years: "%d Jahren"
18
- };
@@ -1,18 +0,0 @@
1
- // Greek
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "πριν",
4
- prefixFromNow: "σε",
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "λιγότερο από ένα λεπτό",
8
- minute: "περίπου ένα λεπτό",
9
- minutes: "%d λεπτά",
10
- hour: "περίπου μία ώρα",
11
- hours: "περίπου %d ώρες",
12
- day: "μία μέρα",
13
- days: "%d μέρες",
14
- month: "περίπου ένα μήνα",
15
- months: "%d μήνες",
16
- year: "περίπου ένα χρόνο",
17
- years: "%d χρόνια"
18
- };
@@ -1,20 +0,0 @@
1
- // English shortened
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "1m",
8
- minute: "1m",
9
- minutes: "%dm",
10
- hour: "1h",
11
- hours: "%dh",
12
- day: "1d",
13
- days: "%dd",
14
- month: "1mo",
15
- months: "%dmo",
16
- year: "1yr",
17
- years: "%dyr",
18
- wordSeparator: " ",
19
- numbers: []
20
- };
@@ -1,20 +0,0 @@
1
- // English (Template)
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "ago",
6
- suffixFromNow: "from now",
7
- seconds: "less than a minute",
8
- minute: "about a minute",
9
- minutes: "%d minutes",
10
- hour: "about an hour",
11
- hours: "about %d hours",
12
- day: "a day",
13
- days: "%d days",
14
- month: "about a month",
15
- months: "%d months",
16
- year: "about a year",
17
- years: "%d years",
18
- wordSeparator: " ",
19
- numbers: []
20
- };
@@ -1,18 +0,0 @@
1
- // Spanish
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: "hace",
4
- prefixFromNow: "dentro de",
5
- suffixAgo: "",
6
- suffixFromNow: "",
7
- seconds: "menos de un minuto",
8
- minute: "un minuto",
9
- minutes: "unos %d minutos",
10
- hour: "una hora",
11
- hours: "%d horas",
12
- day: "un día",
13
- days: "%d días",
14
- month: "un mes",
15
- months: "%d meses",
16
- year: "un año",
17
- years: "%d años"
18
- };
@@ -1,18 +0,0 @@
1
- // Estonian
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "tagasi",
6
- suffixFromNow: "pärast",
7
- seconds: function(n, d) { return d < 0 ? "vähem kui minuti aja" : "vähem kui minut aega" },
8
- minute: function(n, d) { return d < 0 ? "umbes minuti aja" : "umbes minut aega" },
9
- minutes: function(n, d) { return d < 0 ? "%d minuti" : "%d minutit" },
10
- hour: function(n, d) { return d < 0 ? "umbes tunni aja" : "umbes tund aega" },
11
- hours: function(n, d) { return d < 0 ? "%d tunni" : "%d tundi" },
12
- day: function(n, d) { return d < 0 ? "umbes päeva" : "umbes päev" },
13
- days: function(n, d) { return d < 0 ? "%d päeva" : "%d päeva" },
14
- month: function(n, d) { return d < 0 ? "umbes kuu aja" : "umbes kuu aega" },
15
- months: function(n, d) { return d < 0 ? "%d kuu" : "%d kuud" },
16
- year: function(n, d) { return d < 0 ? "umbes aasta aja" : "umbes aasta aega" },
17
- years: function(n, d) { return d < 0 ? "%d aasta" : "%d aastat" }
18
- };