alula 0.2.3 → 0.4.0b

Sign up to get free protection for your applications and to get access to all the features.
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,205 @@
1
+ wo:
2
+ date:
3
+ abbr_day_names:
4
+ - Dib
5
+ - Alt
6
+ - Tal
7
+ - All
8
+ - Alx
9
+ - Ajj
10
+ - Gaw
11
+ abbr_month_names:
12
+ -
13
+ - Jan
14
+ - Feb
15
+ - Mar
16
+ - Apr
17
+ - May
18
+ - Jun
19
+ - Jul
20
+ - Aug
21
+ - Sep
22
+ - Oct
23
+ - Nov
24
+ - Dec
25
+ day_names:
26
+ - Dibèer
27
+ - Altine
28
+ - Talaata
29
+ - Allarba
30
+ - Alxamess
31
+ - Ajjouma
32
+ - Gaawu
33
+ formats:
34
+ default: ! '%Y-%m-%d'
35
+ long: ! '%B %d, %Y'
36
+ short: ! '%b %d'
37
+ month_names:
38
+ -
39
+ - Tamkharit
40
+ - Digui Gamou
41
+ - Gamou
42
+ - Raki Gamou
43
+ - Rakati Gamou
44
+ - Mamou Kor
45
+ - Ndeyou Kor
46
+ - Baraxlou
47
+ - Kor
48
+ - Kori
49
+ - Digui Tabaski
50
+ - Tabaski
51
+ order:
52
+ - :year
53
+ - :month
54
+ - :day
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: about 1 hour
59
+ other: about %{count} hours
60
+ about_x_months:
61
+ one: about 1 month
62
+ other: about %{count} months
63
+ about_x_years:
64
+ one: about 1 year
65
+ other: about %{count} years
66
+ almost_x_years:
67
+ one: almost 1 year
68
+ other: almost %{count} years
69
+ half_a_minute: half a minute
70
+ less_than_x_minutes:
71
+ one: less than a minute
72
+ other: less than %{count} minutes
73
+ less_than_x_seconds:
74
+ one: less than 1 second
75
+ other: less than %{count} seconds
76
+ over_x_years:
77
+ one: over 1 year
78
+ other: over %{count} years
79
+ x_days:
80
+ one: 1 day
81
+ other: ! '%{count} days'
82
+ x_minutes:
83
+ one: 1 minute
84
+ other: ! '%{count} minutes'
85
+ x_months:
86
+ one: 1 month
87
+ other: ! '%{count} months'
88
+ x_seconds:
89
+ one: 1 second
90
+ other: ! '%{count} seconds'
91
+ prompts:
92
+ day: Day
93
+ hour: Hour
94
+ minute: Minute
95
+ month: Month
96
+ second: Seconds
97
+ year: Year
98
+ errors: &errors
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: must be accepted
102
+ blank: can't be blank
103
+ confirmation: doesn't match confirmation
104
+ empty: can't be empty
105
+ equal_to: must be equal to %{count}
106
+ even: must be even
107
+ exclusion: is reserved
108
+ greater_than: must be greater than %{count}
109
+ greater_than_or_equal_to: must be greater than or equal to %{count}
110
+ inclusion: is not included in the list
111
+ invalid: is invalid
112
+ less_than: must be less than %{count}
113
+ less_than_or_equal_to: must be less than or equal to %{count}
114
+ not_a_number: is not a number
115
+ not_an_integer: must be an integer
116
+ odd: must be odd
117
+ record_invalid: ! 'Validation failed: %{errors}'
118
+ taken: has already been taken
119
+ too_long:
120
+ one: is too long (maximum is 1 character)
121
+ other: is too long (maximum is %{count} characters)
122
+ too_short:
123
+ one: is too short (minimum is 1 character)
124
+ other: is too short (minimum is %{count} characters)
125
+ wrong_length:
126
+ one: is the wrong length (should be 1 character)
127
+ other: is the wrong length (should be %{count} characters)
128
+ template:
129
+ body: ! 'There were problems with the following fields:'
130
+ header:
131
+ one: 1 error prohibited this %{model} from being saved
132
+ other: ! '%{count} errors prohibited this %{model} from being saved'
133
+ helpers:
134
+ select:
135
+ prompt: Please select
136
+ submit:
137
+ create: Create %{model}
138
+ submit: Save %{model}
139
+ update: Update %{model}
140
+ number:
141
+ currency:
142
+ format:
143
+ delimiter: ! ','
144
+ format: ! '%u%n'
145
+ precision: 2
146
+ separator: .
147
+ significant: false
148
+ strip_insignificant_zeros: false
149
+ unit: $
150
+ format:
151
+ delimiter: ! ','
152
+ precision: 3
153
+ separator: .
154
+ significant: false
155
+ strip_insignificant_zeros: false
156
+ human:
157
+ decimal_units:
158
+ format: ! '%n %u'
159
+ units:
160
+ billion: Billion
161
+ million: Million
162
+ quadrillion: Quadrillion
163
+ thousand: Thousand
164
+ trillion: Trillion
165
+ unit: ''
166
+ format:
167
+ delimiter: ''
168
+ precision: 3
169
+ significant: true
170
+ strip_insignificant_zeros: true
171
+ storage_units:
172
+ format: ! '%n %u'
173
+ units:
174
+ byte:
175
+ one: Byte
176
+ other: Bytes
177
+ gb: GB
178
+ kb: KB
179
+ mb: MB
180
+ tb: TB
181
+ percentage:
182
+ format:
183
+ delimiter: ''
184
+ precision:
185
+ format:
186
+ delimiter: ''
187
+ support:
188
+ array:
189
+ last_word_connector: ! ', and '
190
+ two_words_connector: ! ' and '
191
+ words_connector: ! ', '
192
+ time:
193
+ am: am
194
+ formats:
195
+ default: ! '%a, %d %b %Y %H:%M:%S %z'
196
+ long: ! '%B %d, %Y %H:%M'
197
+ short: ! '%d %b %H:%M'
198
+ pm: pm
199
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
200
+ activemodel:
201
+ errors:
202
+ <<: *errors
203
+ activerecord:
204
+ errors:
205
+ <<: *errors
@@ -0,0 +1,199 @@
1
+ zh-CN:
2
+ date:
3
+ abbr_day_names:
4
+ - 日
5
+ - 一
6
+ - 二
7
+ - 三
8
+ - 四
9
+ - 五
10
+ - 六
11
+ abbr_month_names:
12
+ -
13
+ - 1月
14
+ - 2月
15
+ - 3月
16
+ - 4月
17
+ - 5月
18
+ - 6月
19
+ - 7月
20
+ - 8月
21
+ - 9月
22
+ - 10月
23
+ - 11月
24
+ - 12月
25
+ day_names:
26
+ - 星期日
27
+ - 星期一
28
+ - 星期二
29
+ - 星期三
30
+ - 星期四
31
+ - 星期五
32
+ - 星期六
33
+ formats:
34
+ default: ! '%Y-%m-%d'
35
+ long: ! '%Y年%b%d日'
36
+ short: ! '%b%d日'
37
+ month_names:
38
+ -
39
+ - 一月
40
+ - 二月
41
+ - 三月
42
+ - 四月
43
+ - 五月
44
+ - 六月
45
+ - 七月
46
+ - 八月
47
+ - 九月
48
+ - 十月
49
+ - 十一月
50
+ - 十二月
51
+ order:
52
+ - :year
53
+ - :month
54
+ - :day
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: ! '%u %n'
139
+ precision: 2
140
+ separator: .
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: CN¥
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: 十亿
155
+ million: 百万
156
+ quadrillion: 千兆
157
+ thousand: 千
158
+ trillion: 兆
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 1
163
+ significant: false
164
+ strip_insignificant_zeros: false
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: Byte
170
+ other: Bytes
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: ! ', 和 '
184
+ two_words_connector: ! ' 和 '
185
+ words_connector: ! ', '
186
+ time:
187
+ am: 上午
188
+ formats:
189
+ default: ! '%Y年%b%d日 %A %H:%M:%S %Z'
190
+ long: ! '%Y年%b%d日 %H:%M'
191
+ short: ! '%b%d日 %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
+ zh-TW:
2
+ date:
3
+ abbr_day_names:
4
+ - 日
5
+ - 一
6
+ - 二
7
+ - 三
8
+ - 四
9
+ - 五
10
+ - 六
11
+ abbr_month_names:
12
+ -
13
+ - 1月
14
+ - 2月
15
+ - 3月
16
+ - 4月
17
+ - 5月
18
+ - 6月
19
+ - 7月
20
+ - 8月
21
+ - 9月
22
+ - 10月
23
+ - 11月
24
+ - 12月
25
+ day_names:
26
+ - 星期日
27
+ - 星期一
28
+ - 星期二
29
+ - 星期三
30
+ - 星期四
31
+ - 星期五
32
+ - 星期六
33
+ formats:
34
+ default: ! '%Y-%m-%d'
35
+ long: ! '%Y年%b%d日'
36
+ short: ! '%b%d日'
37
+ month_names:
38
+ -
39
+ - 一月
40
+ - 二月
41
+ - 三月
42
+ - 四月
43
+ - 五月
44
+ - 六月
45
+ - 七月
46
+ - 八月
47
+ - 九月
48
+ - 十月
49
+ - 十一月
50
+ - 十二月
51
+ order:
52
+ - :year
53
+ - :month
54
+ - :day
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: ! '%u %n'
139
+ precision: 2
140
+ separator: .
141
+ significant: false
142
+ strip_insignificant_zeros: false
143
+ unit: NT$
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: 十億
155
+ million: 百萬
156
+ quadrillion: 千兆
157
+ thousand: 千
158
+ trillion: 兆
159
+ unit: ''
160
+ format:
161
+ delimiter: ''
162
+ precision: 1
163
+ significant: false
164
+ strip_insignificant_zeros: false
165
+ storage_units:
166
+ format: ! '%n %u'
167
+ units:
168
+ byte:
169
+ one: Byte
170
+ other: Bytes
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: ! ', 和 '
184
+ two_words_connector: ! ' 和 '
185
+ words_connector: ! ', '
186
+ time:
187
+ am: 上午
188
+ formats:
189
+ default: ! '%Y年%b%d日 %A %H:%M:%S %Z'
190
+ long: ! '%Y年%b%d日 %H:%M'
191
+ short: ! '%b%d日 %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