sidekiq 2.15.1 → 4.2.10

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 (187) hide show
  1. checksums.yaml +7 -0
  2. data/.github/contributing.md +32 -0
  3. data/.github/issue_template.md +9 -0
  4. data/.gitignore +1 -0
  5. data/.travis.yml +16 -17
  6. data/3.0-Upgrade.md +70 -0
  7. data/4.0-Upgrade.md +53 -0
  8. data/COMM-LICENSE +56 -44
  9. data/Changes.md +644 -1
  10. data/Ent-Changes.md +173 -0
  11. data/Gemfile +27 -0
  12. data/LICENSE +1 -1
  13. data/Pro-2.0-Upgrade.md +138 -0
  14. data/Pro-3.0-Upgrade.md +44 -0
  15. data/Pro-Changes.md +457 -3
  16. data/README.md +46 -29
  17. data/Rakefile +6 -3
  18. data/bin/sidekiq +4 -0
  19. data/bin/sidekiqctl +41 -20
  20. data/bin/sidekiqload +154 -0
  21. data/code_of_conduct.md +50 -0
  22. data/lib/generators/sidekiq/templates/worker.rb.erb +9 -0
  23. data/lib/generators/sidekiq/templates/worker_spec.rb.erb +6 -0
  24. data/lib/generators/sidekiq/templates/worker_test.rb.erb +8 -0
  25. data/lib/generators/sidekiq/worker_generator.rb +49 -0
  26. data/lib/sidekiq.rb +141 -29
  27. data/lib/sidekiq/api.rb +540 -106
  28. data/lib/sidekiq/cli.rb +131 -71
  29. data/lib/sidekiq/client.rb +168 -96
  30. data/lib/sidekiq/core_ext.rb +36 -8
  31. data/lib/sidekiq/exception_handler.rb +20 -28
  32. data/lib/sidekiq/extensions/action_mailer.rb +25 -5
  33. data/lib/sidekiq/extensions/active_record.rb +8 -4
  34. data/lib/sidekiq/extensions/class_methods.rb +9 -5
  35. data/lib/sidekiq/extensions/generic_proxy.rb +1 -0
  36. data/lib/sidekiq/fetch.rb +45 -101
  37. data/lib/sidekiq/launcher.rb +144 -30
  38. data/lib/sidekiq/logging.rb +69 -12
  39. data/lib/sidekiq/manager.rb +90 -140
  40. data/lib/sidekiq/middleware/chain.rb +18 -5
  41. data/lib/sidekiq/middleware/i18n.rb +9 -2
  42. data/lib/sidekiq/middleware/server/active_record.rb +1 -1
  43. data/lib/sidekiq/middleware/server/logging.rb +11 -11
  44. data/lib/sidekiq/middleware/server/retry_jobs.rb +98 -44
  45. data/lib/sidekiq/paginator.rb +20 -8
  46. data/lib/sidekiq/processor.rb +157 -96
  47. data/lib/sidekiq/rails.rb +109 -5
  48. data/lib/sidekiq/redis_connection.rb +70 -24
  49. data/lib/sidekiq/scheduled.rb +122 -50
  50. data/lib/sidekiq/testing.rb +171 -31
  51. data/lib/sidekiq/testing/inline.rb +1 -0
  52. data/lib/sidekiq/util.rb +31 -5
  53. data/lib/sidekiq/version.rb +2 -1
  54. data/lib/sidekiq/web.rb +136 -263
  55. data/lib/sidekiq/web/action.rb +93 -0
  56. data/lib/sidekiq/web/application.rb +336 -0
  57. data/lib/sidekiq/web/helpers.rb +278 -0
  58. data/lib/sidekiq/web/router.rb +100 -0
  59. data/lib/sidekiq/worker.rb +40 -7
  60. data/sidekiq.gemspec +18 -14
  61. data/web/assets/images/favicon.ico +0 -0
  62. data/web/assets/images/{status-sd8051fd480.png → status.png} +0 -0
  63. data/web/assets/javascripts/application.js +67 -19
  64. data/web/assets/javascripts/dashboard.js +138 -29
  65. data/web/assets/stylesheets/application.css +267 -406
  66. data/web/assets/stylesheets/bootstrap.css +4 -8
  67. data/web/locales/cs.yml +78 -0
  68. data/web/locales/da.yml +9 -1
  69. data/web/locales/de.yml +18 -9
  70. data/web/locales/el.yml +68 -0
  71. data/web/locales/en.yml +19 -4
  72. data/web/locales/es.yml +10 -1
  73. data/web/locales/fa.yml +79 -0
  74. data/web/locales/fr.yml +50 -32
  75. data/web/locales/hi.yml +75 -0
  76. data/web/locales/it.yml +27 -18
  77. data/web/locales/ja.yml +27 -12
  78. data/web/locales/ko.yml +8 -3
  79. data/web/locales/{no.yml → nb.yml} +19 -5
  80. data/web/locales/nl.yml +8 -3
  81. data/web/locales/pl.yml +0 -1
  82. data/web/locales/pt-br.yml +11 -4
  83. data/web/locales/pt.yml +8 -1
  84. data/web/locales/ru.yml +39 -21
  85. data/web/locales/sv.yml +68 -0
  86. data/web/locales/ta.yml +75 -0
  87. data/web/locales/uk.yml +76 -0
  88. data/web/locales/zh-cn.yml +68 -0
  89. data/web/locales/zh-tw.yml +68 -0
  90. data/web/views/_footer.erb +17 -0
  91. data/web/views/_job_info.erb +72 -60
  92. data/web/views/_nav.erb +58 -25
  93. data/web/views/_paging.erb +5 -5
  94. data/web/views/_poll_link.erb +7 -0
  95. data/web/views/_summary.erb +20 -14
  96. data/web/views/busy.erb +94 -0
  97. data/web/views/dashboard.erb +34 -21
  98. data/web/views/dead.erb +34 -0
  99. data/web/views/layout.erb +8 -30
  100. data/web/views/morgue.erb +75 -0
  101. data/web/views/queue.erb +37 -30
  102. data/web/views/queues.erb +26 -20
  103. data/web/views/retries.erb +60 -47
  104. data/web/views/retry.erb +23 -19
  105. data/web/views/scheduled.erb +39 -35
  106. data/web/views/scheduled_job_info.erb +2 -1
  107. metadata +152 -195
  108. data/Contributing.md +0 -29
  109. data/config.ru +0 -18
  110. data/lib/sidekiq/actor.rb +0 -7
  111. data/lib/sidekiq/capistrano.rb +0 -54
  112. data/lib/sidekiq/yaml_patch.rb +0 -21
  113. data/test/config.yml +0 -11
  114. data/test/env_based_config.yml +0 -11
  115. data/test/fake_env.rb +0 -0
  116. data/test/helper.rb +0 -42
  117. data/test/test_api.rb +0 -341
  118. data/test/test_cli.rb +0 -326
  119. data/test/test_client.rb +0 -211
  120. data/test/test_exception_handler.rb +0 -124
  121. data/test/test_extensions.rb +0 -105
  122. data/test/test_fetch.rb +0 -44
  123. data/test/test_manager.rb +0 -83
  124. data/test/test_middleware.rb +0 -135
  125. data/test/test_processor.rb +0 -160
  126. data/test/test_redis_connection.rb +0 -97
  127. data/test/test_retry.rb +0 -306
  128. data/test/test_scheduled.rb +0 -86
  129. data/test/test_scheduling.rb +0 -47
  130. data/test/test_sidekiq.rb +0 -37
  131. data/test/test_testing.rb +0 -82
  132. data/test/test_testing_fake.rb +0 -265
  133. data/test/test_testing_inline.rb +0 -92
  134. data/test/test_util.rb +0 -18
  135. data/test/test_web.rb +0 -372
  136. data/web/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
  137. data/web/assets/images/bootstrap/glyphicons-halflings.png +0 -0
  138. data/web/assets/images/status/active.png +0 -0
  139. data/web/assets/images/status/idle.png +0 -0
  140. data/web/assets/javascripts/locales/README.md +0 -27
  141. data/web/assets/javascripts/locales/jquery.timeago.ar.js +0 -96
  142. data/web/assets/javascripts/locales/jquery.timeago.bg.js +0 -18
  143. data/web/assets/javascripts/locales/jquery.timeago.bs.js +0 -49
  144. data/web/assets/javascripts/locales/jquery.timeago.ca.js +0 -18
  145. data/web/assets/javascripts/locales/jquery.timeago.cy.js +0 -20
  146. data/web/assets/javascripts/locales/jquery.timeago.cz.js +0 -18
  147. data/web/assets/javascripts/locales/jquery.timeago.da.js +0 -18
  148. data/web/assets/javascripts/locales/jquery.timeago.de.js +0 -18
  149. data/web/assets/javascripts/locales/jquery.timeago.el.js +0 -18
  150. data/web/assets/javascripts/locales/jquery.timeago.en-short.js +0 -20
  151. data/web/assets/javascripts/locales/jquery.timeago.en.js +0 -20
  152. data/web/assets/javascripts/locales/jquery.timeago.es.js +0 -18
  153. data/web/assets/javascripts/locales/jquery.timeago.et.js +0 -18
  154. data/web/assets/javascripts/locales/jquery.timeago.fa.js +0 -22
  155. data/web/assets/javascripts/locales/jquery.timeago.fi.js +0 -28
  156. data/web/assets/javascripts/locales/jquery.timeago.fr-short.js +0 -16
  157. data/web/assets/javascripts/locales/jquery.timeago.fr.js +0 -17
  158. data/web/assets/javascripts/locales/jquery.timeago.he.js +0 -18
  159. data/web/assets/javascripts/locales/jquery.timeago.hr.js +0 -49
  160. data/web/assets/javascripts/locales/jquery.timeago.hu.js +0 -18
  161. data/web/assets/javascripts/locales/jquery.timeago.hy.js +0 -18
  162. data/web/assets/javascripts/locales/jquery.timeago.id.js +0 -18
  163. data/web/assets/javascripts/locales/jquery.timeago.it.js +0 -16
  164. data/web/assets/javascripts/locales/jquery.timeago.ja.js +0 -19
  165. data/web/assets/javascripts/locales/jquery.timeago.ko.js +0 -17
  166. data/web/assets/javascripts/locales/jquery.timeago.lt.js +0 -20
  167. data/web/assets/javascripts/locales/jquery.timeago.mk.js +0 -20
  168. data/web/assets/javascripts/locales/jquery.timeago.nl.js +0 -20
  169. data/web/assets/javascripts/locales/jquery.timeago.no.js +0 -18
  170. data/web/assets/javascripts/locales/jquery.timeago.pl.js +0 -31
  171. data/web/assets/javascripts/locales/jquery.timeago.pt-br.js +0 -16
  172. data/web/assets/javascripts/locales/jquery.timeago.pt.js +0 -16
  173. data/web/assets/javascripts/locales/jquery.timeago.ro.js +0 -18
  174. data/web/assets/javascripts/locales/jquery.timeago.rs.js +0 -49
  175. data/web/assets/javascripts/locales/jquery.timeago.ru.js +0 -34
  176. data/web/assets/javascripts/locales/jquery.timeago.sk.js +0 -18
  177. data/web/assets/javascripts/locales/jquery.timeago.sl.js +0 -44
  178. data/web/assets/javascripts/locales/jquery.timeago.sv.js +0 -18
  179. data/web/assets/javascripts/locales/jquery.timeago.th.js +0 -20
  180. data/web/assets/javascripts/locales/jquery.timeago.tr.js +0 -16
  181. data/web/assets/javascripts/locales/jquery.timeago.uk.js +0 -34
  182. data/web/assets/javascripts/locales/jquery.timeago.uz.js +0 -19
  183. data/web/assets/javascripts/locales/jquery.timeago.zh-CN.js +0 -20
  184. data/web/assets/javascripts/locales/jquery.timeago.zh-TW.js +0 -20
  185. data/web/views/_poll.erb +0 -14
  186. data/web/views/_workers.erb +0 -29
  187. data/web/views/index.erb +0 -16
@@ -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,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
- // 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,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
- };
@@ -1,22 +0,0 @@
1
- 
2
- // Persian
3
- // Use DIR attribute for RTL text in Persian Language for ABBR tag .
4
- // By MB.seifollahi@gmail.com
5
- jQuery.timeago.settings.strings = {
6
- prefixAgo: null,
7
- prefixFromNow: null,
8
- suffixAgo: "پیش",
9
- suffixFromNow: "از حال",
10
- seconds: "کمتر از یک دقیقه",
11
- minute: "حدود یک دقیقه",
12
- minutes: "%d دقیقه",
13
- hour: "حدود یک ساعت",
14
- hours: "حدود %d ساعت",
15
- day: "یک روز",
16
- days: "%d روز",
17
- month: "حدود یک ماه",
18
- months: "%d ماه",
19
- year: "حدود یک سال",
20
- years: "%d سال",
21
- wordSeparator: " "
22
- };
@@ -1,28 +0,0 @@
1
- // Finnish
2
- jQuery.timeago.settings.strings = {
3
- prefixAgo: null,
4
- prefixFromNow: null,
5
- suffixAgo: "sitten",
6
- suffixFromNow: "tulevaisuudessa",
7
- seconds: "alle minuutti",
8
- minute: "minuutti",
9
- minutes: "%d minuuttia",
10
- hour: "tunti",
11
- hours: "%d tuntia",
12
- day: "päivä",
13
- days: "%d päivää",
14
- month: "kuukausi",
15
- months: "%d kuukautta",
16
- year: "vuosi",
17
- years: "%d vuotta"
18
- };
19
-
20
- // The above is not a great localization because one would usually
21
- // write "2 days ago" in Finnish as "2 päivää sitten", however
22
- // one would write "2 days into the future" as "2:n päivän päästä"
23
- // which cannot be achieved with localization support this simple.
24
- // This is because Finnish has word suffixes (attached directly
25
- // to the end of the word). The word "day" is "päivä" in Finnish.
26
- // As workaround, the above localizations will say
27
- // "2 päivää tulevaisuudessa" which is understandable but
28
- // not as fluent.