alula 0.2.3 → 0.4.0b

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.
Files changed (182) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +7 -0
  3. data/Guardfile +9 -0
  4. data/Rakefile +12 -1
  5. data/VERSION +1 -1
  6. data/alula.gemspec +20 -4
  7. data/lib/alula/attachment_processor.rb +77 -0
  8. data/lib/alula/cdn.rb +30 -0
  9. data/lib/alula/cdns/edgecast.rb +16 -0
  10. data/lib/alula/cdns/hosts.rb +14 -0
  11. data/lib/alula/cli.rb +90 -39
  12. data/lib/alula/compressors.rb +22 -10
  13. data/lib/alula/config.rb +141 -0
  14. data/lib/alula/content.rb +113 -0
  15. data/lib/alula/contents/attachment.rb +8 -0
  16. data/lib/alula/contents/item.rb +409 -0
  17. data/lib/alula/contents/metadata.rb +73 -0
  18. data/lib/alula/contents/page.rb +9 -0
  19. data/lib/alula/contents/post.rb +32 -0
  20. data/lib/alula/context.rb +72 -0
  21. data/lib/alula/core_ext.rb +5 -0
  22. data/lib/alula/core_ext/environment.rb +20 -0
  23. data/lib/alula/core_ext/filter.rb +20 -0
  24. data/lib/alula/core_ext/filters/smilies.rb +36 -0
  25. data/lib/alula/core_ext/manifest.rb +30 -0
  26. data/lib/alula/core_ext/tag.rb +100 -0
  27. data/lib/alula/core_ext/tags/attachment.rb +28 -0
  28. data/lib/alula/core_ext/tags/blockquote.rb +21 -0
  29. data/lib/alula/core_ext/tags/image.rb +48 -0
  30. data/lib/alula/core_ext/tags/locale.rb +17 -0
  31. data/lib/alula/core_ext/tags/video.rb +103 -0
  32. data/lib/alula/generator.rb +31 -0
  33. data/lib/alula/generators/feedbuilder.rb +44 -0
  34. data/lib/alula/generators/paginate.rb +88 -0
  35. data/lib/alula/generators/sitemap.rb +26 -0
  36. data/lib/alula/helpers.rb +2 -0
  37. data/lib/alula/helpers/addons.rb +12 -0
  38. data/lib/alula/helpers/assets.rb +56 -0
  39. data/lib/alula/helpers/url_helpers.rb +16 -0
  40. data/lib/alula/plugin.rb +32 -0
  41. data/lib/alula/processor.rb +86 -0
  42. data/lib/alula/processors/dummy.rb +24 -0
  43. data/lib/alula/processors/image.rb +52 -0
  44. data/lib/alula/processors/magick.rb +83 -0
  45. data/lib/alula/processors/video.rb +97 -0
  46. data/lib/alula/processors/zencoder.rb +199 -0
  47. data/lib/alula/progress.rb +95 -0
  48. data/lib/alula/progressbar.rb +66 -0
  49. data/lib/alula/site.rb +331 -262
  50. data/lib/alula/storage.rb +46 -0
  51. data/lib/alula/storages/file_item.rb +43 -0
  52. data/lib/alula/storages/filestorage.rb +96 -0
  53. data/lib/alula/storages/item.rb +12 -0
  54. data/lib/alula/support/commonlogger.rb +30 -0
  55. data/lib/alula/theme.rb +70 -13
  56. data/lib/alula/theme/layout.rb +56 -0
  57. data/lib/alula/theme/view.rb +43 -0
  58. data/lib/alula/version.rb +1 -1
  59. data/locales/en.yml +9 -0
  60. data/locales/fi.yml +10 -0
  61. data/locales/l10n/ar.yml +199 -0
  62. data/locales/l10n/az.yml +199 -0
  63. data/locales/l10n/bg.yml +199 -0
  64. data/locales/l10n/bn-IN.yml +182 -0
  65. data/locales/l10n/bs.yml +242 -0
  66. data/locales/l10n/ca.yml +199 -0
  67. data/locales/l10n/cs.yml +198 -0
  68. data/locales/l10n/csb.yml +210 -0
  69. data/locales/l10n/cy.yml +199 -0
  70. data/locales/l10n/da.yml +199 -0
  71. data/locales/l10n/de-AT.yml +203 -0
  72. data/locales/l10n/de-CH.yml +203 -0
  73. data/locales/l10n/de.yml +203 -0
  74. data/locales/l10n/dsb.yml +215 -0
  75. data/locales/l10n/el.yml +199 -0
  76. data/locales/l10n/en-AU.yml +205 -0
  77. data/locales/l10n/en-CA.yml +214 -0
  78. data/locales/l10n/en-GB.yml +205 -0
  79. data/locales/l10n/en-IN.yml +205 -0
  80. data/locales/l10n/en-US.yml +205 -0
  81. data/locales/l10n/en.yml +205 -0
  82. data/locales/l10n/eo.yml +201 -0
  83. data/locales/l10n/es-AR.yml +205 -0
  84. data/locales/l10n/es-CL.yml +199 -0
  85. data/locales/l10n/es-CO.yml +205 -0
  86. data/locales/l10n/es-MX.yml +205 -0
  87. data/locales/l10n/es-PE.yml +181 -0
  88. data/locales/l10n/es-VE.yml +205 -0
  89. data/locales/l10n/es.yml +199 -0
  90. data/locales/l10n/et.yml +199 -0
  91. data/locales/l10n/eu.yml +199 -0
  92. data/locales/l10n/fa.yml +199 -0
  93. data/locales/l10n/fi.yml +199 -0
  94. data/locales/l10n/fr-CA.yml +207 -0
  95. data/locales/l10n/fr-CH.yml +207 -0
  96. data/locales/l10n/fr.yml +222 -0
  97. data/locales/l10n/fur.yml +199 -0
  98. data/locales/l10n/gl-ES.yml +178 -0
  99. data/locales/l10n/gsw-CH.yml +199 -0
  100. data/locales/l10n/he.yml +201 -0
  101. data/locales/l10n/hi-IN.yml +199 -0
  102. data/locales/l10n/hi.yml +199 -0
  103. data/locales/l10n/hr.yml +237 -0
  104. data/locales/l10n/hsb.yml +214 -0
  105. data/locales/l10n/hu.yml +199 -0
  106. data/locales/l10n/id.yml +200 -0
  107. data/locales/l10n/is.yml +213 -0
  108. data/locales/l10n/it.yml +205 -0
  109. data/locales/l10n/ja.yml +197 -0
  110. data/locales/l10n/kn.yml +199 -0
  111. data/locales/l10n/ko.yml +197 -0
  112. data/locales/l10n/lo.yml +186 -0
  113. data/locales/l10n/lt.yml +182 -0
  114. data/locales/l10n/lv.yml +215 -0
  115. data/locales/l10n/mk.yml +170 -0
  116. data/locales/l10n/mn.yml +205 -0
  117. data/locales/l10n/nb.yml +207 -0
  118. data/locales/l10n/nl.yml +199 -0
  119. data/locales/l10n/nn.yml +160 -0
  120. data/locales/l10n/pl.yml +221 -0
  121. data/locales/l10n/pt-BR.yml +207 -0
  122. data/locales/l10n/pt-PT.yml +207 -0
  123. data/locales/l10n/quotes.yml +24 -0
  124. data/locales/l10n/rm.yml +182 -0
  125. data/locales/l10n/ro.yml +199 -0
  126. data/locales/l10n/ru.yml +257 -0
  127. data/locales/l10n/sk.yml +213 -0
  128. data/locales/l10n/sl.yml +210 -0
  129. data/locales/l10n/sr-Latn.yml +170 -0
  130. data/locales/l10n/sr.yml +170 -0
  131. data/locales/l10n/sv-SE.yml +199 -0
  132. data/locales/l10n/sw.yml +197 -0
  133. data/locales/l10n/th.yml +173 -0
  134. data/locales/l10n/tl.yml +229 -0
  135. data/locales/l10n/tr.yml +199 -0
  136. data/locales/l10n/uk.yml +257 -0
  137. data/locales/l10n/vi.yml +201 -0
  138. data/locales/l10n/wo.yml +205 -0
  139. data/locales/l10n/zh-CN.yml +199 -0
  140. data/locales/l10n/zh-TW.yml +199 -0
  141. data/template/Gemfile.erb +14 -4
  142. data/template/README +16 -0
  143. data/template/config.yml.erb +42 -38
  144. data/test/fixtures/config_001_simple.yml +2 -0
  145. data/test/fixtures/config_002_l10n.yml +5 -0
  146. data/test/fixtures/pages/invalid-page.markdown +1 -0
  147. data/test/fixtures/pages/multilingual-page.markdown +20 -0
  148. data/test/fixtures/pages/section/subpage.markdown +5 -0
  149. data/test/fixtures/pages/simple-page.markdown +7 -0
  150. data/test/fixtures/posts/2012-07-02-invalid-post.markdown +1 -0
  151. data/test/fixtures/posts/2012-07-02-simple.markdown +7 -0
  152. data/test/fixtures/posts/2012-07-03-full-metadata.markdown +8 -0
  153. data/test/fixtures/posts/2012-07-03-multilingual-full-metadata.markdown +20 -0
  154. data/test/fixtures/theme/test/layouts/default.html.erb +1 -0
  155. data/test/fixtures/theme/test/views/page.html.erb +1 -0
  156. data/test/fixtures/theme/test/views/post.html.erb +1 -0
  157. data/test/minitest_helper.rb +14 -0
  158. data/test/test_config.rb +33 -0
  159. data/test/test_content.rb +30 -0
  160. data/test/test_metadata.rb +83 -0
  161. data/test/test_page.rb +81 -0
  162. data/test/test_post.rb +123 -0
  163. data/test/test_storage.rb +23 -0
  164. data/test/test_storage_file.rb +32 -0
  165. data/test/test_theme.rb +45 -0
  166. data/vendor/assets/images/favicon.png +0 -0
  167. data/vendor/assets/images/grey.gif +0 -0
  168. data/vendor/assets/javascripts/jquery.alula.js.coffee +16 -0
  169. data/vendor/{javascripts → assets/javascripts}/jquery.js +0 -0
  170. data/vendor/assets/javascripts/jquery.lazyload.js +210 -0
  171. data/vendor/assets/javascripts/lazyload.js.coffee +15 -0
  172. data/vendor/layouts/feed.xml.builder +19 -0
  173. data/vendor/layouts/sitemap.xml.builder +10 -0
  174. data/vendor/views/feed_post.html.haml +1 -0
  175. metadata +529 -50
  176. data/lib/alula.rb +0 -5
  177. data/lib/alula/assethelper.rb +0 -75
  178. data/lib/alula/plugins.rb +0 -23
  179. data/lib/alula/plugins/assets.rb +0 -82
  180. data/lib/alula/plugins/pagination.rb +0 -121
  181. data/lib/alula/rake_tasks.rb +0 -42
  182. data/lib/alula/tasks.rb +0 -2
@@ -0,0 +1,199 @@
1
+ eu:
2
+ date:
3
+ abbr_day_names:
4
+ - Igan
5
+ - Astel
6
+ - Astear
7
+ - Asteaz
8
+ - Oste
9
+ - Osti
10
+ - Lar
11
+ abbr_month_names:
12
+ -
13
+ - Urt
14
+ - Ots
15
+ - Mar
16
+ - Api
17
+ - Mai
18
+ - Eka
19
+ - Uzt
20
+ - Abu
21
+ - Ira
22
+ - Urr
23
+ - Aza
24
+ - Aben
25
+ day_names:
26
+ - Igandea
27
+ - Astelehena
28
+ - Asteartea
29
+ - Asteazkena
30
+ - Osteguna
31
+ - Ostirala
32
+ - Larunbata
33
+ formats:
34
+ default: ! '%Y/%m/%e'
35
+ long: ! '%Y(e)ko %Bk %e'
36
+ short: ! '%b %e'
37
+ month_names:
38
+ -
39
+ - Urtarrila
40
+ - Otsaila
41
+ - Martxoa
42
+ - Apirila
43
+ - Maiatza
44
+ - Ekaina
45
+ - Uztaila
46
+ - Abuztua
47
+ - Iraila
48
+ - Urria
49
+ - Azaroa
50
+ - Abendua
51
+ order:
52
+ - :year
53
+ - :month
54
+ - :day
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: ordu bat inguru
59
+ other: ! '%{count} ordu inguru'
60
+ about_x_months:
61
+ one: hilabete bat inguru
62
+ other: ! '%{count} hilabete inguru'
63
+ about_x_years:
64
+ one: urte bat inguru
65
+ other: ! '%{count} urte inguru'
66
+ almost_x_years:
67
+ one: ia urte bat
68
+ other: ia %{count} urte
69
+ half_a_minute: minutu erdi
70
+ less_than_x_minutes:
71
+ one: 1 minutu bat baino gutxiago
72
+ other: ! '%{count} minutu baino gutxiago'
73
+ less_than_x_seconds:
74
+ one: segundu bat baino gutxiago
75
+ other: ! '%{count} segundu baino gutxiago'
76
+ over_x_years:
77
+ one: urte bat baino gehiago
78
+ other: ! '%{count} urte baino gehiago'
79
+ x_days:
80
+ one: egun bat
81
+ other: ! '%{count} egun'
82
+ x_minutes:
83
+ one: minutu bat
84
+ other: ! '%{count} minutu'
85
+ x_months:
86
+ one: hilabete bat
87
+ other: ! '%{count} hilabete'
88
+ x_seconds:
89
+ one: segundu bat
90
+ other: ! '%{count} segundu'
91
+ prompts:
92
+ day: Egun
93
+ hour: Ordu
94
+ minute: Minutu
95
+ month: Hilabete
96
+ second: Segundu
97
+ year: Urte
98
+ errors: &errors
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: onartuta izan behar da
102
+ blank: ezin da zuriz utzi
103
+ confirmation: ez dator bat konfirmazioarekin
104
+ empty: ezin da hutsik egon
105
+ equal_to: ! '%{count} izan behar da'
106
+ even: bikoitia izan behar du
107
+ exclusion: erreserbatuta dago
108
+ greater_than: ! '%{count} baino handiagoa izan behar da'
109
+ greater_than_or_equal_to: ! '%{count} baino handiago edo berdin izan behar da'
110
+ inclusion: ez da zerrendako aukera bat
111
+ invalid: ez da zuzena
112
+ less_than: ! '%{count} baino txikiago izan behar da'
113
+ less_than_or_equal_to: ! '%{count} baino txikiago edo berdin izan behar da'
114
+ not_a_number: ez da zenbaki bat
115
+ not_an_integer: zenbaki osoa izan behar da
116
+ odd: bakoitia izan behar du
117
+ record_invalid: ! 'Balioztatze arazoa: %{errors}'
118
+ taken: hartuta dago
119
+ too_long: luzeegia da (%{count} karaktere gehienez)
120
+ too_short: laburregia da (%{count} karaktere gutxienez)
121
+ wrong_length: ez du luzeera zuzena (%{count} karaktere izan behar ditu)
122
+ template:
123
+ body: ! 'Arazoak egon dira ondoko eremuekin:'
124
+ header:
125
+ one: Errore batek ezinezkoa egin du %{model} hau gordetzea
126
+ other: ! '%{count} errorek ezinezkoa egiten dute %{model} hau gordetzea'
127
+ helpers:
128
+ select:
129
+ prompt: Mesedez, aukeratu
130
+ submit:
131
+ create: ! '%{model}a eratu'
132
+ submit: ! '%{model}a gorde'
133
+ update: ! '%{model}a eguneratu'
134
+ number:
135
+ currency:
136
+ format:
137
+ delimiter: .
138
+ format: ! '%n %u'
139
+ precision: 2
140
+ separator: ! ','
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: €
144
+ format:
145
+ delimiter: .
146
+ precision: 3
147
+ separator: ! ','
148
+ significant: false
149
+ strip_insignificant_zeros: false
150
+ human:
151
+ decimal_units:
152
+ format: ! '%n %u'
153
+ units:
154
+ billion: Mila milioi
155
+ million: Milioi
156
+ quadrillion: Kuatrilioi
157
+ thousand: Mila
158
+ trillion: Trilioi
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 3
163
+ significant: true
164
+ strip_insignificant_zeros: true
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: Byte
170
+ other: Byte
171
+ gb: GB
172
+ kb: KB
173
+ mb: MB
174
+ tb: TB
175
+ percentage:
176
+ format:
177
+ delimiter: ''
178
+ precision:
179
+ format:
180
+ delimiter: ''
181
+ support:
182
+ array:
183
+ last_word_connector: ! ' eta '
184
+ two_words_connector: ! ' eta '
185
+ words_connector: ! ', '
186
+ time:
187
+ am: am
188
+ formats:
189
+ default: ! '%A, %Y(e)ko %Bren %e %H:%M:%S %z'
190
+ long: ! '%Y(e)ko %Bren %e, %H:%M'
191
+ short: ! '%b %e, %H:%M'
192
+ pm: pm
193
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
194
+ activemodel:
195
+ errors:
196
+ <<: *errors
197
+ activerecord:
198
+ errors:
199
+ <<: *errors
@@ -0,0 +1,199 @@
1
+ fa:
2
+ date:
3
+ abbr_day_names:
4
+ - ی
5
+ - د
6
+ - س
7
+ - چ
8
+ - پ
9
+ - ج
10
+ - ش
11
+ abbr_month_names:
12
+ -
13
+ - ژانویه
14
+ - فوریه
15
+ - مارس
16
+ - آوریل
17
+ - مه
18
+ - ژوئن
19
+ - ژوئیه
20
+ - اوت
21
+ - سپتامبر
22
+ - اکتبر
23
+ - نوامبر
24
+ - دسامبر
25
+ day_names:
26
+ - یکشنبه
27
+ - دوشنبه
28
+ - سه‌شنبه
29
+ - چهارشنبه
30
+ - پنج‌شنبه
31
+ - جمعه
32
+ - شنبه
33
+ formats:
34
+ default: ! '%Y/%m/%d'
35
+ long: ! '%e %B %Y'
36
+ short: ! '%m/%d'
37
+ month_names:
38
+ -
39
+ - ژانویه
40
+ - فوریه
41
+ - مارس
42
+ - آوریل
43
+ - مه
44
+ - ژوئن
45
+ - ژوئیه
46
+ - اوت
47
+ - سپتامبر
48
+ - اکتبر
49
+ - نوامبر
50
+ - دسامبر
51
+ order:
52
+ - :day
53
+ - :month
54
+ - :year
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: حدود ۱ ساعت
59
+ other: حدود %{count} ساعت
60
+ about_x_months:
61
+ one: حدود ۱ ماه
62
+ other: حدود %{count} ماه
63
+ about_x_years:
64
+ one: حدود ۱ سال
65
+ other: حدود %{count} سال
66
+ almost_x_years:
67
+ one: حدود ۱ سال
68
+ other: حدود %{count} سال
69
+ half_a_minute: نیم دقیقه
70
+ less_than_x_minutes:
71
+ one: کمتر از ۱ دقیقه
72
+ other: کمتر از %{count} دقیقه
73
+ less_than_x_seconds:
74
+ one: ۱ ثانیه
75
+ other: کمتر از %{count} ثانیه
76
+ over_x_years:
77
+ one: بیش از ۱ سال
78
+ other: بیش از %{count} سال
79
+ x_days:
80
+ one: ۱ روز
81
+ other: ! '%{count} روز'
82
+ x_minutes:
83
+ one: ۱ دقیقه
84
+ other: ! '%{count} دقیقه'
85
+ x_months:
86
+ one: ۱ ماه
87
+ other: ! '%{count} ماه'
88
+ x_seconds:
89
+ one: ۱ ثانیه
90
+ other: ! '%{count} ثانیه'
91
+ prompts:
92
+ day: روز
93
+ hour: ساعت
94
+ minute: دقیقه
95
+ month: ماه
96
+ second: ثانیه
97
+ year: سال
98
+ errors: &errors
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: باید پذیرفته شود
102
+ blank: نباید خالی باشد
103
+ confirmation: با تایید نمی‌خواند
104
+ empty: نمی‌تواند خالی باشد
105
+ equal_to: باید برابر %{count} باشد
106
+ even: باید زوج باشد
107
+ exclusion: رزرو است
108
+ greater_than: باید بزرگتر از %{count} باشد
109
+ greater_than_or_equal_to: باید بزرگتر یا برابر %{count} باشد
110
+ inclusion: در لیست موجود نیست
111
+ invalid: نامعتبر است
112
+ less_than: باید کمتر از %{count} باشد
113
+ less_than_or_equal_to: باید کمتر یا برابر %{count} باشد
114
+ not_a_number: عدد نیست
115
+ not_an_integer: عدد صحیح نیست
116
+ odd: باید فرد باشد
117
+ record_invalid: رکورد نامعتبر است %{errors}
118
+ taken: پیشتر گرفته شده
119
+ too_long: بلند است (حداکثر %{count} کاراکتر)
120
+ too_short: کوتاه است (حداقل %{count} کاراکتر)
121
+ wrong_length: نااندازه است (باید %{count} کاراکتر باشد)
122
+ template:
123
+ body: ! 'موارد زیر مشکل داشت:'
124
+ header:
125
+ one: 1 خطا جلوی ذخیره این %{model} را گرفت
126
+ other: ! '%{count} خطا جلوی ذخیره این %{model} را گرفت'
127
+ helpers:
128
+ select:
129
+ prompt: لطفا انتخاب کنید
130
+ submit:
131
+ create: ! '%{model} ایجاد'
132
+ submit: ! '%{model} ذخیره'
133
+ update: ! '%{model} بروز'
134
+ number:
135
+ currency:
136
+ format:
137
+ delimiter: ٬
138
+ format: ! '%n %u'
139
+ precision: 0
140
+ separator: ٫
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: ریال
144
+ format:
145
+ delimiter: ٬
146
+ precision: 2
147
+ separator: ٫
148
+ significant: false
149
+ strip_insignificant_zeros: false
150
+ human:
151
+ decimal_units:
152
+ format: ! '%n %u'
153
+ units:
154
+ billion: بیلیون
155
+ million: میلیون
156
+ quadrillion: کادریلیون
157
+ thousand: هزار
158
+ trillion: تریلیون
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 1
163
+ significant: true
164
+ strip_insignificant_zeros: true
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: بایت
170
+ other: بایت
171
+ gb: گیگابایت
172
+ kb: کیلوبایت
173
+ mb: مگابایت
174
+ tb: ترابایت
175
+ percentage:
176
+ format:
177
+ delimiter: ''
178
+ precision:
179
+ format:
180
+ delimiter: ''
181
+ support:
182
+ array:
183
+ last_word_connector: ! '، و '
184
+ two_words_connector: ! ' و '
185
+ words_connector: ! '، '
186
+ time:
187
+ am: قبل از ظهر
188
+ formats:
189
+ default: ! '%A، %e %B %Y، ساعت %H:%M:%S (%Z)'
190
+ long: ! '%e %B %Y، ساعت %H:%M'
191
+ short: ! '%e %B، ساعت %H:%M'
192
+ pm: بعد از ظهر
193
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
194
+ activemodel:
195
+ errors:
196
+ <<: *errors
197
+ activerecord:
198
+ errors:
199
+ <<: *errors
@@ -0,0 +1,199 @@
1
+ fi:
2
+ date:
3
+ abbr_day_names:
4
+ - su
5
+ - ma
6
+ - ti
7
+ - ke
8
+ - to
9
+ - pe
10
+ - la
11
+ abbr_month_names:
12
+ -
13
+ - tammi
14
+ - helmi
15
+ - maalis
16
+ - huhti
17
+ - touko
18
+ - kesä
19
+ - heinä
20
+ - elo
21
+ - syys
22
+ - loka
23
+ - marras
24
+ - joulu
25
+ day_names:
26
+ - sunnuntai
27
+ - maanantai
28
+ - tiistai
29
+ - keskiviikko
30
+ - torstai
31
+ - perjantai
32
+ - lauantai
33
+ formats:
34
+ default: ! '%e. %Bta %Y'
35
+ long: ! '%A %e. %Bta %Y'
36
+ short: ! '%e.%m.%Y'
37
+ month_names:
38
+ -
39
+ - tammikuu
40
+ - helmikuu
41
+ - maaliskuu
42
+ - huhtikuu
43
+ - toukokuu
44
+ - kesäkuu
45
+ - heinäkuu
46
+ - elokuu
47
+ - syyskuu
48
+ - lokakuu
49
+ - marraskuu
50
+ - joulukuu
51
+ order:
52
+ - :day
53
+ - :month
54
+ - :year
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: noin tunti
59
+ other: noin %{count} tuntia
60
+ about_x_months:
61
+ one: noin kuukausi
62
+ other: noin %{count} kuukautta
63
+ about_x_years:
64
+ one: vuosi
65
+ other: noin %{count} vuotta
66
+ almost_x_years:
67
+ one: melkein yksi vuosi
68
+ other: melkein %{count} vuotta
69
+ half_a_minute: puoli minuuttia
70
+ less_than_x_minutes:
71
+ one: alle minuutti
72
+ other: alle %{count} minuuttia
73
+ less_than_x_seconds:
74
+ one: alle sekunti
75
+ other: alle %{count} sekuntia
76
+ over_x_years:
77
+ one: yli vuosi
78
+ other: yli %{count} vuotta
79
+ x_days:
80
+ one: päivä
81
+ other: ! '%{count} päivää'
82
+ x_minutes:
83
+ one: minuutti
84
+ other: ! '%{count} minuuttia'
85
+ x_months:
86
+ one: kuukausi
87
+ other: ! '%{count} kuukautta'
88
+ x_seconds:
89
+ one: sekunti
90
+ other: ! '%{count} sekuntia'
91
+ prompts:
92
+ day: Päivä
93
+ hour: Tunti
94
+ minute: Minuutti
95
+ month: Kuukausi
96
+ second: Sekunti
97
+ year: Vuosi
98
+ errors: &errors
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: täytyy olla hyväksytty
102
+ blank: ei voi olla sisällötön
103
+ confirmation: ei vastaa varmennusta
104
+ empty: ei voi olla tyhjä
105
+ equal_to: täytyy olla yhtä suuri kuin %{count}
106
+ even: täytyy olla parillinen
107
+ exclusion: on varattu
108
+ greater_than: täytyy olla suurempi kuin %{count}
109
+ greater_than_or_equal_to: täytyy olla suurempi tai yhtä suuri kuin %{count}
110
+ inclusion: ei löydy listasta
111
+ invalid: on kelvoton
112
+ less_than: täytyy olla pienempi kuin %{count}
113
+ less_than_or_equal_to: täytyy olla pienempi tai yhtä suuri kuin %{count}
114
+ not_a_number: ei ole luku
115
+ not_an_integer: on kokonaisluku
116
+ odd: täytyy olla pariton
117
+ record_invalid: ! 'Validointi epäonnistui: %{errors}'
118
+ taken: on jo käytössä
119
+ too_long: on liian pitkä (saa olla enintään %{count} merkkiä)
120
+ too_short: on liian lyhyt (oltava vähintään %{count} merkkiä)
121
+ wrong_length: on väärän pituinen (täytyy olla täsmälleen %{count} merkkiä)
122
+ template:
123
+ body: ! 'Seuraavat kentät aiheuttivat ongelmia:'
124
+ header:
125
+ one: Virhe syötteessä esti mallin %{model} tallentamisen
126
+ other: ! '%{count} virhettä esti mallin %{model} tallentamisen'
127
+ helpers:
128
+ select:
129
+ prompt: Valitse
130
+ submit:
131
+ create: Luo %{model}
132
+ submit: Tallenna %{model}
133
+ update: Päivitä %{model}
134
+ number:
135
+ currency:
136
+ format:
137
+ delimiter: .
138
+ format: ! '%n %u'
139
+ precision: 2
140
+ separator: ! ','
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: €
144
+ format:
145
+ delimiter: ! ','
146
+ precision: 3
147
+ separator: .
148
+ significant: false
149
+ strip_insignificant_zeros: false
150
+ human:
151
+ decimal_units:
152
+ format: ! '%n %u'
153
+ units:
154
+ billion: Miljardia
155
+ million: Euroa
156
+ quadrillion: Kvadriljoona
157
+ thousand: Tuhatta
158
+ trillion: Biljoona
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 3
163
+ significant: true
164
+ strip_insignificant_zeros: true
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: tavu
170
+ other: tavua
171
+ gb: GB
172
+ kb: kB
173
+ mb: MB
174
+ tb: TB
175
+ percentage:
176
+ format:
177
+ delimiter: ''
178
+ precision:
179
+ format:
180
+ delimiter: ''
181
+ support:
182
+ array:
183
+ last_word_connector: ! ' ja '
184
+ two_words_connector: ! ' ja '
185
+ words_connector: ! ', '
186
+ time:
187
+ am: aamupäivä
188
+ formats:
189
+ default: ! '%A %e. %Bta %Y %H:%M:%S %z'
190
+ long: ! '%e. %Bta %Y %H.%M'
191
+ short: ! '%e.%m. %H.%M'
192
+ pm: iltapäivä
193
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
194
+ activemodel:
195
+ errors:
196
+ <<: *errors
197
+ activerecord:
198
+ errors:
199
+ <<: *errors