alchemy_cms 3.2.1 → 3.3.0.rc1

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 (556) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +28 -0
  3. data/.gitignore +2 -2
  4. data/.travis.yml +11 -3
  5. data/CHANGELOG.md +100 -0
  6. data/CONTRIBUTING.md +1 -1
  7. data/Gemfile +12 -1
  8. data/README.md +25 -7
  9. data/Rakefile +1 -3
  10. data/alchemy_cms.gemspec +7 -15
  11. data/app/assets/fonts/alchemy/icons.eot +0 -0
  12. data/app/assets/fonts/alchemy/icons.svg +28 -66
  13. data/app/assets/fonts/alchemy/icons.ttf +0 -0
  14. data/app/assets/fonts/alchemy/icons.woff +0 -0
  15. data/app/assets/images/alchemy/icons.png +0 -0
  16. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +10 -3
  17. data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +15 -6
  18. data/app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee +1 -1
  19. data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +1 -1
  20. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +10 -4
  21. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +16 -22
  22. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +69 -32
  23. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +147 -83
  24. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +14 -14
  25. data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +1 -1
  26. data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +1 -1
  27. data/app/assets/javascripts/alchemy/alchemy.image_overlay.coffee +55 -0
  28. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +8 -1
  29. data/app/assets/javascripts/alchemy/alchemy.js +3 -1
  30. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +36 -31
  31. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +35 -29
  32. data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +51 -5
  33. data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +26 -10
  34. data/app/assets/javascripts/alchemy/{alchemy.windows.js.coffee → alchemy.trash_window.js.coffee} +1 -13
  35. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +15 -17
  36. data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +3 -3
  37. data/app/assets/stylesheets/alchemy/_extends.scss +1 -1
  38. data/app/assets/stylesheets/alchemy/_mixins.scss +27 -0
  39. data/app/assets/stylesheets/alchemy/_variables.scss +1 -0
  40. data/app/assets/stylesheets/alchemy/admin.scss +1 -0
  41. data/app/assets/stylesheets/alchemy/archive.scss +0 -57
  42. data/app/assets/stylesheets/alchemy/base.scss +1 -18
  43. data/app/assets/stylesheets/alchemy/buttons.scss +30 -25
  44. data/app/assets/stylesheets/alchemy/dialogs.scss +25 -9
  45. data/app/assets/stylesheets/alchemy/elements.scss +182 -126
  46. data/app/assets/stylesheets/alchemy/form_fields.scss +14 -8
  47. data/app/assets/stylesheets/alchemy/forms.scss +10 -1
  48. data/app/assets/stylesheets/alchemy/frame.scss +3 -10
  49. data/app/assets/stylesheets/alchemy/icon-font.scss +13 -6
  50. data/app/assets/stylesheets/alchemy/icons.scss +16 -0
  51. data/app/assets/stylesheets/alchemy/image_library.scss +269 -0
  52. data/app/assets/stylesheets/alchemy/selects.scss +1 -0
  53. data/app/assets/stylesheets/alchemy/sitemap.scss +12 -1
  54. data/app/assets/stylesheets/alchemy/toolbar.scss +2 -2
  55. data/app/assets/stylesheets/alchemy/upload.scss +97 -87
  56. data/app/assets/stylesheets/alchemy/welcome.sass +49 -0
  57. data/app/controllers/alchemy/admin/attachments_controller.rb +21 -29
  58. data/app/controllers/alchemy/admin/base_controller.rb +23 -4
  59. data/app/controllers/alchemy/admin/clipboard_controller.rb +0 -1
  60. data/app/controllers/alchemy/admin/contents_controller.rb +2 -4
  61. data/app/controllers/alchemy/admin/dashboard_controller.rb +4 -4
  62. data/app/controllers/alchemy/admin/elements_controller.rb +20 -11
  63. data/app/controllers/alchemy/admin/essence_files_controller.rb +2 -2
  64. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +10 -9
  65. data/app/controllers/alchemy/admin/languages_controller.rb +0 -1
  66. data/app/controllers/alchemy/admin/layoutpages_controller.rb +0 -2
  67. data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +0 -1
  68. data/app/controllers/alchemy/admin/pages_controller.rb +46 -29
  69. data/app/controllers/alchemy/admin/pictures_controller.rb +44 -55
  70. data/app/controllers/alchemy/admin/resources_controller.rb +8 -75
  71. data/app/controllers/alchemy/admin/tags_controller.rb +10 -8
  72. data/app/controllers/alchemy/admin/trash_controller.rb +0 -6
  73. data/app/controllers/alchemy/api/contents_controller.rb +0 -1
  74. data/app/controllers/alchemy/api/elements_controller.rb +0 -1
  75. data/app/controllers/alchemy/api/pages_controller.rb +4 -1
  76. data/app/controllers/alchemy/attachments_controller.rb +4 -5
  77. data/app/controllers/alchemy/base_controller.rb +6 -5
  78. data/app/controllers/alchemy/elements_controller.rb +1 -1
  79. data/app/controllers/alchemy/messages_controller.rb +9 -4
  80. data/app/controllers/alchemy/pages_controller.rb +133 -137
  81. data/app/controllers/alchemy/pictures_controller.rb +12 -10
  82. data/app/controllers/concerns/alchemy/admin/uploader_responses.rb +41 -0
  83. data/app/controllers/concerns/alchemy/legacy_page_redirects.rb +56 -0
  84. data/app/controllers/concerns/alchemy/locale_redirects.rb +38 -0
  85. data/app/controllers/concerns/alchemy/page_redirects.rb +80 -0
  86. data/app/controllers/concerns/alchemy/site_redirects.rb +22 -0
  87. data/app/helpers/alchemy/admin/attachments_helper.rb +1 -2
  88. data/app/helpers/alchemy/admin/base_helper.rb +36 -62
  89. data/app/helpers/alchemy/admin/contents_helper.rb +6 -80
  90. data/app/helpers/alchemy/admin/elements_helper.rb +36 -15
  91. data/app/helpers/alchemy/admin/essences_helper.rb +15 -8
  92. data/app/helpers/alchemy/admin/form_helper.rb +6 -10
  93. data/app/helpers/alchemy/admin/navigation_helper.rb +4 -7
  94. data/app/helpers/alchemy/admin/pages_helper.rb +14 -35
  95. data/app/helpers/alchemy/admin/pictures_helper.rb +12 -14
  96. data/app/helpers/alchemy/admin/tags_helper.rb +5 -7
  97. data/app/helpers/alchemy/base_helper.rb +9 -17
  98. data/app/helpers/alchemy/elements_block_helper.rb +5 -13
  99. data/app/helpers/alchemy/elements_helper.rb +6 -6
  100. data/app/helpers/alchemy/essences_helper.rb +3 -16
  101. data/app/helpers/alchemy/pages_helper.rb +32 -25
  102. data/app/helpers/alchemy/url_helper.rb +14 -16
  103. data/app/mailers/alchemy/messages.rb +0 -2
  104. data/app/models/alchemy.rb +0 -2
  105. data/app/models/alchemy/attachment.rb +45 -56
  106. data/app/models/alchemy/cell.rb +7 -8
  107. data/app/models/alchemy/content.rb +39 -24
  108. data/app/models/alchemy/content/factory.rb +27 -44
  109. data/app/models/alchemy/element.rb +101 -267
  110. data/app/models/alchemy/element/definitions.rb +9 -8
  111. data/app/models/alchemy/element/element_contents.rb +150 -0
  112. data/app/models/alchemy/element/element_essences.rb +109 -0
  113. data/app/models/alchemy/element/presenters.rb +18 -7
  114. data/app/models/alchemy/essence_date.rb +1 -2
  115. data/app/models/alchemy/essence_file.rb +10 -6
  116. data/app/models/alchemy/essence_html.rb +0 -1
  117. data/app/models/alchemy/essence_picture.rb +12 -4
  118. data/app/models/alchemy/essence_richtext.rb +6 -3
  119. data/app/models/alchemy/language.rb +48 -21
  120. data/app/models/alchemy/language/code.rb +1 -4
  121. data/app/models/alchemy/page.rb +33 -35
  122. data/app/models/alchemy/page/page_cells.rb +6 -10
  123. data/app/models/alchemy/page/page_elements.rb +130 -100
  124. data/app/models/alchemy/page/page_naming.rb +2 -3
  125. data/app/models/alchemy/page/page_natures.rb +50 -16
  126. data/app/models/alchemy/page/page_scopes.rb +7 -7
  127. data/app/models/alchemy/page/page_users.rb +3 -3
  128. data/app/models/alchemy/picture.rb +48 -33
  129. data/app/models/alchemy/picture/transformations.rb +8 -9
  130. data/app/models/alchemy/site.rb +19 -17
  131. data/app/models/alchemy/site/layout.rb +9 -9
  132. data/app/models/alchemy/tag.rb +0 -2
  133. data/app/models/alchemy/tree_node.rb +5 -4
  134. data/app/serializers/alchemy/attachment_serializer.rb +0 -1
  135. data/app/serializers/alchemy/base_serializer.rb +30 -0
  136. data/app/serializers/alchemy/cell_serializer.rb +0 -1
  137. data/app/serializers/alchemy/essence_boolean_serializer.rb +0 -1
  138. data/app/serializers/alchemy/essence_date_serializer.rb +0 -1
  139. data/app/serializers/alchemy/essence_file_serializer.rb +0 -1
  140. data/app/serializers/alchemy/essence_html_serializer.rb +0 -1
  141. data/app/serializers/alchemy/essence_link_serializer.rb +0 -1
  142. data/app/serializers/alchemy/essence_picture_serializer.rb +0 -1
  143. data/app/serializers/alchemy/essence_richtext_serializer.rb +0 -1
  144. data/app/serializers/alchemy/essence_select_serializer.rb +0 -1
  145. data/app/serializers/alchemy/essence_text_serializer.rb +0 -1
  146. data/app/serializers/alchemy/legacy_element_serializer.rb +0 -1
  147. data/app/serializers/alchemy/page_serializer.rb +0 -1
  148. data/app/serializers/alchemy/page_tree_serializer.rb +90 -0
  149. data/app/serializers/alchemy/picture_serializer.rb +0 -1
  150. data/app/views/alchemy/_menubar.html.erb +3 -3
  151. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +11 -16
  152. data/app/views/alchemy/admin/attachments/_attachment.html.erb +9 -9
  153. data/app/views/alchemy/admin/attachments/_files_list.html.erb +7 -15
  154. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +1 -1
  155. data/app/views/alchemy/admin/attachments/_tag_list.html.erb +2 -2
  156. data/app/views/alchemy/admin/attachments/edit.html.erb +3 -3
  157. data/app/views/alchemy/admin/attachments/index.html.erb +10 -17
  158. data/app/views/alchemy/admin/clipboard/clear.js.erb +1 -1
  159. data/app/views/alchemy/admin/clipboard/index.html.erb +3 -3
  160. data/app/views/alchemy/admin/clipboard/insert.js.erb +3 -3
  161. data/app/views/alchemy/admin/clipboard/remove.js.erb +2 -2
  162. data/app/views/alchemy/admin/contents/_missing.html.erb +5 -7
  163. data/app/views/alchemy/admin/contents/create.js.erb +1 -1
  164. data/app/views/alchemy/admin/contents/new.html.erb +2 -2
  165. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +6 -6
  166. data/app/views/alchemy/admin/dashboard/_recent_pages.html.erb +2 -2
  167. data/app/views/alchemy/admin/dashboard/_users.html.erb +2 -2
  168. data/app/views/alchemy/admin/dashboard/help.html.erb +15 -15
  169. data/app/views/alchemy/admin/dashboard/index.html.erb +6 -6
  170. data/app/views/alchemy/admin/dashboard/info.html.erb +5 -5
  171. data/app/views/alchemy/admin/elements/_add_picture.html.erb +1 -1
  172. data/app/views/alchemy/admin/elements/_element.html.erb +52 -18
  173. data/app/views/alchemy/admin/elements/_element_footer.html.erb +11 -0
  174. data/app/views/alchemy/admin/elements/{_element_head.html.erb → _element_header.html.erb} +8 -8
  175. data/app/views/alchemy/admin/elements/_element_toolbar.html.erb +49 -0
  176. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +7 -6
  177. data/app/views/alchemy/admin/elements/_picture_gallery_editor.html.erb +1 -1
  178. data/app/views/alchemy/admin/elements/_refresh_editor.js.erb +1 -1
  179. data/app/views/alchemy/admin/elements/create.js.erb +13 -8
  180. data/app/views/alchemy/admin/elements/fold.js.erb +12 -7
  181. data/app/views/alchemy/admin/elements/index.html.erb +12 -8
  182. data/app/views/alchemy/admin/elements/list.html.erb +3 -3
  183. data/app/views/alchemy/admin/elements/new.html.erb +4 -4
  184. data/app/views/alchemy/admin/elements/order.js.erb +3 -4
  185. data/app/views/alchemy/admin/elements/publish.js.erb +15 -0
  186. data/app/views/alchemy/admin/elements/trash.js.erb +3 -3
  187. data/app/views/alchemy/admin/elements/update.js.erb +7 -8
  188. data/app/views/alchemy/admin/essence_files/edit.html.erb +16 -13
  189. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +3 -3
  190. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +8 -8
  191. data/app/views/alchemy/admin/languages/_form.html.erb +12 -3
  192. data/app/views/alchemy/admin/languages/_language.html.erb +8 -2
  193. data/app/views/alchemy/admin/languages/_table.html.erb +11 -5
  194. data/app/views/alchemy/admin/languages/index.html.erb +1 -1
  195. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +8 -8
  196. data/app/views/alchemy/admin/layoutpages/edit.html.erb +2 -2
  197. data/app/views/alchemy/admin/layoutpages/index.html.erb +6 -13
  198. data/app/views/alchemy/admin/leave.html.erb +5 -5
  199. data/app/views/alchemy/admin/legacy_page_urls/_form.html.erb +1 -1
  200. data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +4 -4
  201. data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +1 -1
  202. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +9 -9
  203. data/app/views/alchemy/admin/pages/_external_link.html.erb +6 -6
  204. data/app/views/alchemy/admin/pages/_file_link.html.erb +6 -6
  205. data/app/views/alchemy/admin/pages/_form.html.erb +6 -6
  206. data/app/views/alchemy/admin/pages/_internal_link.html.erb +9 -11
  207. data/app/views/alchemy/admin/pages/_legacy_urls.html.erb +3 -3
  208. data/app/views/alchemy/admin/pages/_locked_page.html.erb +4 -4
  209. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +2 -2
  210. data/app/views/alchemy/admin/pages/_page.html.erb +95 -80
  211. data/app/views/alchemy/admin/pages/_page_for_links.html.erb +22 -22
  212. data/app/views/alchemy/admin/pages/_page_infos.html.erb +12 -0
  213. data/app/views/alchemy/admin/pages/_page_status.html.erb +7 -9
  214. data/app/views/alchemy/admin/pages/_sitemap.html.erb +35 -6
  215. data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +0 -3
  216. data/app/views/alchemy/admin/pages/configure.html.erb +1 -1
  217. data/app/views/alchemy/admin/pages/configure_external.html.erb +4 -4
  218. data/app/views/alchemy/admin/pages/edit.html.erb +39 -44
  219. data/app/views/alchemy/admin/pages/flush.js.erb +1 -1
  220. data/app/views/alchemy/admin/pages/fold.js.erb +2 -3
  221. data/app/views/alchemy/admin/pages/index.html.erb +15 -22
  222. data/app/views/alchemy/admin/pages/info.html.erb +8 -8
  223. data/app/views/alchemy/admin/pages/link.html.erb +3 -3
  224. data/app/views/alchemy/admin/pages/locked.html.erb +1 -1
  225. data/app/views/alchemy/admin/pages/new.html.erb +4 -4
  226. data/app/views/alchemy/admin/pages/sort.js.erb +1 -2
  227. data/app/views/alchemy/admin/pages/unlock.js.erb +1 -1
  228. data/app/views/alchemy/admin/pages/update.js.erb +3 -3
  229. data/app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb +1 -1
  230. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +1 -1
  231. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +1 -1
  232. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +9 -15
  233. data/app/views/alchemy/admin/partials/_search_form.html.erb +14 -13
  234. data/app/views/alchemy/admin/partials/_sub_navigation.html.erb +1 -1
  235. data/app/views/alchemy/admin/pictures/_archive.html.erb +14 -14
  236. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +30 -36
  237. data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +5 -5
  238. data/app/views/alchemy/admin/pictures/{edit.html.erb → _form.html.erb} +7 -6
  239. data/app/views/alchemy/admin/pictures/_infos.html.erb +50 -0
  240. data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +1 -1
  241. data/app/views/alchemy/admin/pictures/_picture.html.erb +17 -51
  242. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
  243. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +2 -2
  244. data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +6 -6
  245. data/app/views/alchemy/admin/pictures/index.html.erb +28 -36
  246. data/app/views/alchemy/admin/pictures/show.html.erb +46 -9
  247. data/app/views/alchemy/admin/pictures/update.js.erb +6 -0
  248. data/app/views/alchemy/admin/resources/_form.html.erb +3 -3
  249. data/app/views/alchemy/admin/resources/_resource.html.erb +4 -4
  250. data/app/views/alchemy/admin/resources/_table.html.erb +5 -6
  251. data/app/views/alchemy/admin/resources/index.csv.erb +12 -10
  252. data/app/views/alchemy/admin/resources/index.html.erb +4 -4
  253. data/app/views/alchemy/admin/sites/index.html.erb +1 -1
  254. data/app/views/alchemy/admin/tags/_tag.html.erb +4 -4
  255. data/app/views/alchemy/admin/tags/edit.html.erb +5 -5
  256. data/app/views/alchemy/admin/tags/index.html.erb +8 -8
  257. data/app/views/alchemy/admin/tags/new.html.erb +2 -2
  258. data/app/views/alchemy/admin/trash/clear.js.erb +1 -1
  259. data/app/views/alchemy/admin/trash/index.html.erb +8 -6
  260. data/app/views/alchemy/admin/uploader/_button.html.erb +39 -0
  261. data/app/views/alchemy/admin/uploader/_setup.html.erb +13 -0
  262. data/app/views/alchemy/base/500.html.erb +4 -4
  263. data/app/views/alchemy/elements/_editor_not_found.html.erb +1 -1
  264. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +3 -4
  265. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +1 -1
  266. data/app/views/alchemy/essences/_essence_date_editor.html.erb +2 -6
  267. data/app/views/alchemy/essences/_essence_date_view.html.erb +1 -1
  268. data/app/views/alchemy/essences/_essence_file_editor.html.erb +9 -11
  269. data/app/views/alchemy/essences/_essence_file_view.html.erb +11 -5
  270. data/app/views/alchemy/essences/_essence_html_editor.html.erb +1 -1
  271. data/app/views/alchemy/essences/_essence_link_editor.html.erb +1 -1
  272. data/app/views/alchemy/essences/_essence_link_view.html.erb +1 -1
  273. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +47 -52
  274. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +1 -1
  275. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +1 -1
  276. data/app/views/alchemy/essences/_essence_select_editor.html.erb +23 -13
  277. data/app/views/alchemy/essences/_essence_text_editor.html.erb +1 -1
  278. data/app/views/alchemy/essences/_essence_text_view.html.erb +1 -1
  279. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +29 -36
  280. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +5 -5
  281. data/app/views/alchemy/language_links/_language.html.erb +15 -9
  282. data/app/views/alchemy/messages/contact_form_mail.de.text.erb +1 -1
  283. data/app/views/alchemy/messages/contact_form_mail.en.text.erb +1 -1
  284. data/app/views/alchemy/messages/contact_form_mail.es.text.erb +1 -1
  285. data/app/views/alchemy/navigation/_link.html.erb +0 -1
  286. data/app/views/alchemy/pages/show.rss.builder +6 -4
  287. data/app/views/alchemy/welcome.html.erb +28 -0
  288. data/app/views/layouts/alchemy/admin.html.erb +14 -10
  289. data/bin/alchemy +3 -4
  290. data/bin/rspec +7 -0
  291. data/bin/spring +15 -0
  292. data/config/alchemy/config.yml +16 -17
  293. data/config/initializers/assets.rb +13 -0
  294. data/config/locales/alchemy.de.yml +27 -29
  295. data/config/locales/alchemy.en.yml +23 -29
  296. data/config/locales/alchemy.es.yml +23 -29
  297. data/config/locales/alchemy.fr.yml +19 -28
  298. data/config/locales/alchemy.nl.yml +19 -27
  299. data/config/locales/alchemy.ru.yml +19 -28
  300. data/config/routes.rb +53 -54
  301. data/config/spring.rb +2 -0
  302. data/db/migrate/20130827094554_alchemy_two_point_six.rb +1 -3
  303. data/db/migrate/20150608204610_add_parent_element_id_to_alchemy_elements.rb +6 -0
  304. data/db/migrate/20150729151825_add_link_text_to_alchemy_essence_files.rb +5 -0
  305. data/db/migrate/20150906195818_add_locale_to_alchemy_languages.rb +7 -0
  306. data/lib/alchemy/auth_accessors.rb +1 -1
  307. data/lib/alchemy/cache_digests/template_tracker.rb +7 -13
  308. data/lib/alchemy/config.rb +5 -7
  309. data/lib/alchemy/configuration_methods.rb +11 -1
  310. data/lib/alchemy/controller_actions.rb +9 -12
  311. data/lib/alchemy/engine.rb +11 -28
  312. data/lib/alchemy/errors.rb +0 -1
  313. data/lib/alchemy/essence.rb +20 -20
  314. data/lib/alchemy/filetypes.rb +1 -3
  315. data/lib/alchemy/forms/builder.rb +0 -2
  316. data/lib/alchemy/hints.rb +1 -3
  317. data/lib/alchemy/i18n.rb +81 -53
  318. data/lib/alchemy/kaminari/scoped_pagination_url_helper.rb +0 -2
  319. data/lib/alchemy/locale.rb +0 -1
  320. data/lib/alchemy/logger.rb +1 -3
  321. data/lib/alchemy/modules.rb +3 -3
  322. data/lib/alchemy/mount_point.rb +0 -2
  323. data/lib/alchemy/name_conversions.rb +1 -3
  324. data/lib/alchemy/on_page_layout.rb +37 -23
  325. data/lib/alchemy/on_page_layout/callbacks_runner.rb +34 -0
  326. data/lib/alchemy/page_layout.rb +23 -24
  327. data/lib/alchemy/paths.rb +32 -0
  328. data/lib/alchemy/permissions.rb +20 -20
  329. data/lib/alchemy/picture_attributes.rb +0 -3
  330. data/lib/alchemy/resource.rb +66 -22
  331. data/lib/alchemy/resources_helper.rb +48 -11
  332. data/lib/alchemy/routing_constraints.rb +4 -5
  333. data/lib/alchemy/seeder.rb +1 -4
  334. data/lib/alchemy/shell.rb +12 -14
  335. data/lib/alchemy/tasks/helpers.rb +5 -7
  336. data/lib/alchemy/test_support/essence_shared_examples.rb +24 -24
  337. data/lib/alchemy/test_support/factories.rb +2 -146
  338. data/lib/alchemy/test_support/factories/attachment_factory.rb +9 -0
  339. data/lib/alchemy/test_support/factories/cell_factory.rb +9 -0
  340. data/lib/alchemy/test_support/factories/content_factory.rb +10 -0
  341. data/lib/alchemy/test_support/factories/dummy_user_factory.rb +21 -0
  342. data/lib/alchemy/test_support/factories/element_factory.rb +21 -0
  343. data/lib/alchemy/test_support/factories/essence_file_factory.rb +8 -0
  344. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +8 -0
  345. data/lib/alchemy/test_support/factories/essence_text_factory.rb +7 -0
  346. data/lib/alchemy/test_support/factories/language_factory.rb +28 -0
  347. data/lib/alchemy/test_support/factories/page_factory.rb +45 -0
  348. data/lib/alchemy/test_support/factories/picture_factory.rb +10 -0
  349. data/lib/alchemy/test_support/factories/site_factory.rb +12 -0
  350. data/lib/alchemy/test_support/integration_helpers.rb +0 -3
  351. data/lib/alchemy/tinymce.rb +24 -35
  352. data/lib/alchemy/touching.rb +5 -6
  353. data/lib/alchemy/upgrader.rb +3 -5
  354. data/lib/alchemy/upgrader/tasks/available_contents_upgrader.rb +155 -0
  355. data/lib/alchemy/upgrader/tasks/nestable_elements_migration.rb +71 -0
  356. data/lib/alchemy/upgrader/tasks/three_point_two_task.rb +31 -0
  357. data/lib/alchemy/upgrader/three_point_three.rb +50 -0
  358. data/lib/alchemy/upgrader/three_point_two.rb +3 -32
  359. data/lib/alchemy/upgrader/three_point_zero.rb +0 -1
  360. data/lib/alchemy/version.rb +1 -1
  361. data/lib/rails/generators/alchemy/base.rb +1 -1
  362. data/lib/rails/generators/alchemy/elements/elements_generator.rb +1 -7
  363. data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +5 -7
  364. data/lib/rails/generators/alchemy/elements/templates/editor.html.haml +6 -8
  365. data/lib/rails/generators/alchemy/elements/templates/editor.html.slim +6 -7
  366. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +4 -4
  367. data/lib/rails/generators/alchemy/elements/templates/view.html.haml +3 -3
  368. data/lib/rails/generators/alchemy/elements/templates/view.html.slim +3 -3
  369. data/lib/rails/generators/alchemy/essence/essence_generator.rb +2 -3
  370. data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +1 -1
  371. data/lib/rails/generators/alchemy/install/files/alchemy.de.yml +2 -2
  372. data/lib/rails/generators/alchemy/install/files/alchemy.en.yml +2 -2
  373. data/lib/rails/generators/alchemy/install/files/alchemy.es.yml +3 -3
  374. data/lib/rails/generators/alchemy/install/install_generator.rb +0 -1
  375. data/lib/rails/generators/alchemy/install/templates/elements.yml.tt +2 -2
  376. data/lib/rails/generators/alchemy/install/templates/page_layouts.yml.tt +1 -1
  377. data/lib/rails/generators/alchemy/module/module_generator.rb +1 -1
  378. data/lib/rails/templates/alchemy.rb +2 -2
  379. data/lib/tasks/alchemy/convert.rake +4 -8
  380. data/lib/tasks/alchemy/db.rake +2 -3
  381. data/lib/tasks/alchemy/install.rake +3 -4
  382. data/lib/tasks/alchemy/tidy.rake +4 -5
  383. data/lib/tasks/alchemy/upgrade.rake +2 -4
  384. data/spec/controllers/{admin → alchemy/admin}/attachments_controller_spec.rb +26 -44
  385. data/spec/controllers/{admin → alchemy/admin}/base_controller_spec.rb +14 -1
  386. data/spec/controllers/{admin → alchemy/admin}/clipboard_controller_spec.rb +3 -3
  387. data/spec/controllers/{admin → alchemy/admin}/contents_controller_spec.rb +4 -4
  388. data/spec/controllers/{admin → alchemy/admin}/dashboard_controller_spec.rb +11 -6
  389. data/spec/controllers/{admin → alchemy/admin}/elements_controller_spec.rb +54 -31
  390. data/spec/controllers/{admin → alchemy/admin}/essence_files_controller_spec.rb +8 -3
  391. data/spec/controllers/{admin → alchemy/admin}/essence_pictures_controller_spec.rb +3 -3
  392. data/spec/controllers/{admin → alchemy/admin}/languages_controller_spec.rb +13 -1
  393. data/spec/controllers/{admin → alchemy/admin}/layoutpages_controller_spec.rb +0 -6
  394. data/spec/controllers/{admin → alchemy/admin}/pages_controller_spec.rb +103 -35
  395. data/spec/controllers/{admin → alchemy/admin}/pictures_controller_spec.rb +133 -108
  396. data/spec/controllers/alchemy/admin/resources_controller_spec.rb +81 -0
  397. data/spec/controllers/{admin → alchemy/admin}/trash_controller_spec.rb +12 -13
  398. data/spec/controllers/alchemy/api/contents_controller_spec.rb +12 -13
  399. data/spec/controllers/alchemy/api/elements_controller_spec.rb +8 -9
  400. data/spec/controllers/alchemy/api/pages_controller_spec.rb +40 -7
  401. data/spec/controllers/{attachments_controller_spec.rb → alchemy/attachments_controller_spec.rb} +7 -7
  402. data/spec/controllers/alchemy/base_controller_spec.rb +106 -0
  403. data/spec/controllers/{elements_controller_spec.rb → alchemy/elements_controller_spec.rb} +4 -4
  404. data/spec/controllers/{messages_controller_spec.rb → alchemy/messages_controller_spec.rb} +14 -9
  405. data/spec/controllers/alchemy/on_page_layout_mixin_spec.rb +330 -0
  406. data/spec/controllers/{pages_controller_spec.rb → alchemy/pages_controller_spec.rb} +167 -89
  407. data/spec/controllers/{pictures_controller_spec.rb → alchemy/pictures_controller_spec.rb} +42 -20
  408. data/spec/dummy/app/models/dummy_user.rb +4 -0
  409. data/spec/dummy/app/views/alchemy/elements/_all_you_can_eat_view.html.erb +31 -0
  410. data/spec/dummy/app/views/alchemy/elements/_article_editor.html.erb +6 -10
  411. data/spec/dummy/app/views/alchemy/elements/_article_view.html.erb +9 -24
  412. data/spec/dummy/app/views/alchemy/elements/_bild_editor.html.erb +3 -0
  413. data/spec/dummy/app/views/alchemy/elements/_bild_view.html.erb +5 -0
  414. data/spec/dummy/app/views/alchemy/elements/_contactform_editor.html.erb +6 -0
  415. data/spec/dummy/app/views/alchemy/elements/_contactform_view.html.erb +16 -0
  416. data/spec/dummy/app/views/alchemy/elements/_download_editor.html.erb +3 -0
  417. data/spec/dummy/app/views/alchemy/elements/_download_view.html.erb +5 -0
  418. data/spec/dummy/app/views/alchemy/elements/_erb_element_editor.html.erb +3 -0
  419. data/spec/dummy/app/views/alchemy/elements/_erb_element_view.html.erb +5 -0
  420. data/spec/dummy/app/views/alchemy/elements/_header_editor.html.erb +3 -0
  421. data/spec/dummy/app/views/alchemy/elements/_header_view.html.erb +5 -0
  422. data/spec/dummy/app/views/alchemy/elements/_news_editor.html.erb +5 -0
  423. data/spec/dummy/app/views/alchemy/elements/_search_editor.html.erb +1 -0
  424. data/spec/dummy/app/views/alchemy/elements/_search_view.html.erb +4 -0
  425. data/spec/dummy/app/views/alchemy/elements/_slide_editor.html.erb +3 -0
  426. data/spec/dummy/app/views/alchemy/elements/_slide_view.html.erb +5 -0
  427. data/spec/dummy/app/views/alchemy/elements/_slider_editor.html.erb +2 -0
  428. data/spec/dummy/app/views/alchemy/elements/_slider_view.html.erb +4 -0
  429. data/spec/dummy/app/views/alchemy/elements/_text_editor.html.erb +3 -0
  430. data/spec/dummy/app/views/alchemy/elements/_text_view.html.erb +5 -0
  431. data/spec/dummy/app/views/alchemy/page_layouts/_standard.html.erb +1 -0
  432. data/spec/dummy/config/alchemy/elements.yml +10 -13
  433. data/spec/dummy/config/alchemy/page_layouts.yml +1 -1
  434. data/spec/dummy/config/initializers/alchemy.rb +1 -0
  435. data/spec/dummy/config/locales/kl.yml +2 -0
  436. data/spec/dummy/db/migrate/20150608204610_add_parent_element_id_to_alchemy_elements.rb +1 -0
  437. data/spec/dummy/db/migrate/20150729151825_add_link_text_to_alchemy_essence_files.rb +1 -0
  438. data/spec/dummy/db/migrate/20150906195818_add_locale_to_alchemy_languages.rb +1 -0
  439. data/spec/dummy/db/schema.rb +10 -6
  440. data/spec/factories.rb +13 -0
  441. data/spec/features/admin/admin_layout_spec.rb +14 -0
  442. data/spec/features/admin/dashboard_spec.rb +1 -2
  443. data/spec/features/admin/edit_elements_feature_spec.rb +36 -0
  444. data/spec/features/admin/language_tree_feature_spec.rb +7 -8
  445. data/spec/features/admin/languages_features_spec.rb +65 -0
  446. data/spec/features/admin/legacy_page_url_management_spec.rb +3 -3
  447. data/spec/features/admin/link_overlay_spec.rb +16 -17
  448. data/spec/features/admin/locale_select_feature_spec.rb +1 -1
  449. data/spec/features/admin/modules_integration_spec.rb +0 -1
  450. data/spec/features/admin/navigation_feature_spec.rb +11 -2
  451. data/spec/features/admin/page_creation_feature_spec.rb +5 -5
  452. data/spec/features/admin/page_editing_feature_spec.rb +6 -6
  453. data/spec/features/admin/picture_library_integration_spec.rb +3 -3
  454. data/spec/features/admin/resources_integration_spec.rb +7 -12
  455. data/spec/features/admin/site_select_feature_spec.rb +1 -2
  456. data/spec/features/admin/tinymce_feature_spec.rb +0 -1
  457. data/spec/features/page_feature_spec.rb +57 -158
  458. data/spec/features/page_redirects_spec.rb +358 -0
  459. data/spec/features/picture_security_spec.rb +1 -7
  460. data/spec/fixtures/animated.gif +0 -0
  461. data/spec/helpers/{admin → alchemy/admin}/attachments_helper_spec.rb +0 -0
  462. data/spec/helpers/{admin → alchemy/admin}/base_helper_spec.rb +39 -29
  463. data/spec/helpers/{admin → alchemy/admin}/contents_helper_spec.rb +4 -23
  464. data/spec/helpers/{admin → alchemy/admin}/elements_helper_spec.rb +141 -5
  465. data/spec/helpers/{admin → alchemy/admin}/essences_helper_spec.rb +69 -8
  466. data/spec/helpers/{admin → alchemy/admin}/navigation_helper_spec.rb +43 -37
  467. data/spec/helpers/{admin → alchemy/admin}/pages_helper_spec.rb +6 -38
  468. data/spec/helpers/{admin → alchemy/admin}/pictures_helper_spec.rb +0 -1
  469. data/spec/helpers/{admin → alchemy/admin}/tags_helper_spec.rb +1 -3
  470. data/spec/helpers/{base_helper_spec.rb → alchemy/base_helper_spec.rb} +1 -2
  471. data/spec/helpers/{elements_block_helper_spec.rb → alchemy/elements_block_helper_spec.rb} +3 -3
  472. data/spec/helpers/{elements_helper_spec.rb → alchemy/elements_helper_spec.rb} +18 -19
  473. data/spec/helpers/alchemy/essences_helper_spec.rb +85 -0
  474. data/spec/helpers/{pages_helper_spec.rb → alchemy/pages_helper_spec.rb} +125 -39
  475. data/spec/helpers/alchemy/picture_url_helpers_spec.rb +78 -0
  476. data/spec/helpers/{url_helper_spec.rb → alchemy/url_helper_spec.rb} +66 -40
  477. data/spec/libraries/config_spec.rb +2 -3
  478. data/spec/libraries/controller_actions_spec.rb +18 -18
  479. data/spec/libraries/i18n_spec.rb +7 -0
  480. data/spec/libraries/page_layout_spec.rb +13 -7
  481. data/spec/libraries/paths_spec.rb +15 -0
  482. data/spec/libraries/permissions_spec.rb +6 -7
  483. data/spec/libraries/resource_spec.rb +48 -75
  484. data/spec/libraries/resources_helper_spec.rb +55 -6
  485. data/spec/libraries/shell_spec.rb +0 -4
  486. data/spec/libraries/template_tracker_spec.rb +4 -13
  487. data/spec/libraries/tinymce_spec.rb +53 -9
  488. data/spec/mailers/{messages_spec.rb → alchemy/messages_spec.rb} +0 -2
  489. data/spec/models/{attachment_spec.rb → alchemy/attachment_spec.rb} +43 -20
  490. data/spec/models/{cell_spec.rb → alchemy/cell_spec.rb} +2 -3
  491. data/spec/models/{content_spec.rb → alchemy/content_spec.rb} +179 -70
  492. data/spec/models/{element_spec.rb → alchemy/element_spec.rb} +315 -70
  493. data/spec/models/{element_to_page_spec.rb → alchemy/element_to_page_spec.rb} +0 -1
  494. data/spec/models/{essence_boolean_spec.rb → alchemy/essence_boolean_spec.rb} +0 -0
  495. data/spec/models/{essence_date_spec.rb → alchemy/essence_date_spec.rb} +2 -3
  496. data/spec/models/{essence_file_spec.rb → alchemy/essence_file_spec.rb} +2 -5
  497. data/spec/models/{essence_html_spec.rb → alchemy/essence_html_spec.rb} +1 -1
  498. data/spec/models/{essence_link_spec.rb → alchemy/essence_link_spec.rb} +0 -0
  499. data/spec/models/{essence_picture_spec.rb → alchemy/essence_picture_spec.rb} +101 -29
  500. data/spec/models/{essence_richtext_spec.rb → alchemy/essence_richtext_spec.rb} +7 -2
  501. data/spec/models/{essence_select_spec.rb → alchemy/essence_select_spec.rb} +0 -0
  502. data/spec/models/{essence_text_spec.rb → alchemy/essence_text_spec.rb} +4 -8
  503. data/spec/models/alchemy/language_spec.rb +243 -0
  504. data/spec/models/{legacy_page_url_spec.rb → alchemy/legacy_page_url_spec.rb} +1 -1
  505. data/spec/models/{message_spec.rb → alchemy/message_spec.rb} +0 -0
  506. data/spec/models/{page_spec.rb → alchemy/page_spec.rb} +460 -248
  507. data/spec/models/{picture_spec.rb → alchemy/picture_spec.rb} +118 -30
  508. data/spec/models/{site_spec.rb → alchemy/site_spec.rb} +19 -84
  509. data/spec/models/{tag_spec.rb → alchemy/tag_spec.rb} +1 -3
  510. data/spec/models/dummy_model_spec.rb +1 -2
  511. data/spec/requests/alchemy/admin/resources_requests_spec.rb +26 -0
  512. data/spec/requests/alchemy/admin/site_requests_spec.rb +19 -0
  513. data/spec/requests/alchemy/site_requests_spec.rb +18 -0
  514. data/spec/requests/alchemy/sitemap_spec.rb +56 -0
  515. data/spec/routing/api_routing_spec.rb +1 -1
  516. data/spec/routing/routing_spec.rb +121 -15
  517. data/spec/spec_helper.rb +2 -1
  518. data/spec/support/hint_examples.rb +1 -3
  519. data/spec/support/test_tweaks.rb +3 -3
  520. data/spec/support/transformation_examples.rb +6 -7
  521. data/spec/tasks/helpers_spec.rb +2 -4
  522. data/spec/views/admin/pictures/show_spec.rb +43 -0
  523. data/spec/views/essences/essence_boolean_editor_spec.rb +0 -1
  524. data/spec/views/essences/essence_boolean_view_spec.rb +2 -4
  525. data/spec/views/essences/essence_date_view_spec.rb +0 -1
  526. data/spec/views/essences/essence_file_editor_spec.rb +4 -6
  527. data/spec/views/essences/essence_file_view_spec.rb +56 -3
  528. data/spec/views/essences/essence_link_view_spec.rb +1 -1
  529. data/spec/views/essences/essence_picture_editor_spec.rb +80 -0
  530. data/spec/views/essences/essence_picture_view_spec.rb +0 -1
  531. data/spec/views/essences/essence_select_view_spec.rb +0 -1
  532. data/spec/views/essences/essence_text_view_spec.rb +0 -1
  533. data/vendor/assets/javascripts/handlebars.js +4608 -0
  534. data/vendor/assets/javascripts/tinymce/langs/de.js +19 -0
  535. data/vendor/assets/javascripts/tinymce/langs/es.js +19 -0
  536. data/vendor/assets/javascripts/tinymce/langs/fr.js +23 -4
  537. data/vendor/assets/javascripts/tinymce/langs/nl.js +22 -3
  538. data/vendor/assets/javascripts/tinymce/langs/ru.js +22 -3
  539. data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.min.js +1 -1
  540. data/vendor/assets/javascripts/tinymce/plugins/table/plugin.min.js +1 -1
  541. data/vendor/assets/javascripts/tinymce/themes/modern/theme.min.js +1 -1
  542. data/vendor/assets/javascripts/tinymce/tinymce.min.js +12 -13
  543. metadata +274 -256
  544. data/app/views/alchemy/admin/attachments/create.js.erb +0 -11
  545. data/app/views/alchemy/admin/attachments/new.html.erb +0 -14
  546. data/app/views/alchemy/admin/elements/_element_foot.html.erb +0 -36
  547. data/app/views/alchemy/admin/partials/_upload_form.html.erb +0 -67
  548. data/app/views/alchemy/admin/pictures/info.html.erb +0 -38
  549. data/app/views/alchemy/admin/pictures/new.html.erb +0 -16
  550. data/lib/alchemy/middleware/rescue_old_cookies.rb +0 -27
  551. data/spec/controllers/admin/resources_controller_spec.rb +0 -53
  552. data/spec/controllers/base_controller_spec.rb +0 -51
  553. data/spec/helpers/essences_helper_spec.rb +0 -156
  554. data/spec/helpers/picture_url_helpers_spec.rb +0 -35
  555. data/spec/libraries/on_page_layout_spec.rb +0 -112
  556. data/spec/models/language_spec.rb +0 -123
@@ -0,0 +1,13 @@
1
+ # Add Alchemy assets for precompiling
2
+ Rails.application.config.assets.precompile += [
3
+ 'alchemy/alchemy.js',
4
+ 'alchemy/alchemy-logo.svg',
5
+ 'alchemy/favicon.ico',
6
+ 'alchemy/preview.js',
7
+ 'alchemy/admin.css',
8
+ 'alchemy/menubar.css',
9
+ 'alchemy/menubar.js',
10
+ 'alchemy/print.css',
11
+ 'alchemy/welcome.css',
12
+ 'tinymce/*'
13
+ ]
@@ -159,7 +159,7 @@ de:
159
159
  anchor: 'Sprungmarke'
160
160
  back: 'zurück'
161
161
  create_tree_as_new_language: "%{language} als neuen Sprachbaum anlegen"
162
- "Active Pages": "Aktive Seiten"
162
+ locked_pages: "Aktive Seiten"
163
163
  "Add global page": "Neue globale Seite"
164
164
  "Add page link": "Verweis hinzufügen"
165
165
  "Adobe Website": "Adobe Webseite"
@@ -189,17 +189,15 @@ de:
189
189
  "Element trashed": "Das Element wurde in den Papierkorb gelegt"
190
190
  "Error with the Flash® Uploader!": "Fehler mit dem Flash® Uploader!"
191
191
  "Excerpt": "Auszug"
192
- "File uploaded succesfully": "Datei %{name} wurde hochgeladen"
193
192
  "File successfully updated": "Datei wurde erfolgreich gespeichert."
194
- "File upload error": "Datei konnte nicht hochgeladen werden: %{error}"
195
193
  "File deleted successfully": "%{name} wurde gelöscht"
196
194
  "Filter by tag": "Nach Tag filtern"
197
195
  "Flush page cache": "Seitencache löschen"
198
196
  "Flush picture cache": "Bildercache löschen"
199
197
  "Global shortcuts": "Globale Tastaturbefehle"
200
198
  "Hide childpages": "Unterseiten ausblenden"
201
- "Hide Elements": "Elemente ausblenden"
202
- "If you have any problems using the Flash uploader you can switch to": "Sollten Sie Probleme mit dem Flash® Uploader haben, wechseln Sie einfach zur %{link}"
199
+ hide_elements: "Elemente ausblenden"
200
+ hide_element: "Element ausblenden"
203
201
  "Image missing": "Bild fehlt"
204
202
  "Image size": "Bildgröße"
205
203
  "Language successfully created": "Sprache wurde erfolgreich erstellt."
@@ -233,8 +231,6 @@ de:
233
231
  "Password reset": "Passwort zurücksetzen"
234
232
  "Paste from clipboard": "Aus Zwischenablage"
235
233
  "Picture infos": "Bild Informationen"
236
- "Picture uploaded succesfully": "Bild %{name} wurde hochgeladen"
237
- "Picture validation error": "Bild %{name} konnte nicht hochgeladen werden"
238
234
  "Picture renamed successfully": "Bild wurde erfolgreich von %{from} nach %{to} umbenannt"
239
235
  "Picture deleted successfully": "%{name} wurde gelöscht"
240
236
  "Pictures updated successfully": "Die Bilder wurden gespeichert"
@@ -259,7 +255,8 @@ de:
259
255
  "Select an content": "Wählen Sie einen Inhalt aus"
260
256
  "Select style": "Stilvorlage"
261
257
  "Send reset instructions": "Anweisungen senden"
262
- "Show Elements": "Elemente anzeigen"
258
+ show_elements: "Elemente anzeigen"
259
+ show_element: "Element anzeigen"
263
260
  "Show childpages": "Unterseiten anzeigen"
264
261
  "Show clipboard": "Zwischenablage anzeigen"
265
262
  "Show picture infos": "Bild Informationen anzeigen"
@@ -285,17 +282,15 @@ de:
285
282
  "View File": "Datei anzeigen"
286
283
  "Visit page": "zur Seite gehen"
287
284
  "Warning!": "Achtung!"
288
- content_description_missing: "Warnung: Für diesen Content konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die elements.yml Datei."
289
- element_description_missing: "Warnung! Für dieses Element konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die elements.yml Datei."
290
- page_layout_description_missing: "Warnung! Für diese Seite konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die page_layouts.yml Datei."
285
+ content_definition_missing: "Warnung: Für diesen Content konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die elements.yml Datei."
286
+ element_definition_missing: "Warnung! Für dieses Element konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die elements.yml Datei."
287
+ page_definition_missing: "Warnung! Für diese Seite konnte die Vorlage nicht gefunden werden. Bitte überprüfen Sie die page_layouts.yml Datei."
291
288
  "Welcome to Alchemy": "Willkommen in Alchemy"
292
289
  "Who else is online": "Wer ist noch online"
293
290
  "Yes": "Ja"
294
291
  "You are not authorized": "Sie sind dazu nicht authorisiert."
295
292
  "You are about to edit many pictures at once": "Sie sind dabei %{length} Bilder auf einmal zu bearbeiten."
296
293
  element_dirty_close_window_notice: "Sie haben ungesicherte Elemente. Möchten Sie das Elemente Fenster wirklich schließen?"
297
- "You may upload files with following extensions": "Sie können %{file_types_description} mit folgenden Endungen hochladen: %{file_types}"
298
- "You may upload any file": "Sie können jede Art von Datei hochladen."
299
294
  "Your last login was on": "Sie waren zuletzt angemeldet am %{time}."
300
295
  "Your last updated pages": "Ihre zuletzt bearbeiteten Seiten"
301
296
  "Your trash is empty": "Der Papierkorb ist leer"
@@ -313,7 +308,6 @@ de:
313
308
  attachment_filename_notice: "* Bitte verwenden Sie keine Sonderzeichen oder Umlaute in dem Dateinamen."
314
309
  auto_play: "Film automatisch abspielen"
315
310
  big_thumbnails: "große Miniaturbilder"
316
- browse: "durchsuchen"
317
311
  cancel: "abbrechen"
318
312
  cannot_delete_picture_notice: "Das Bild %{name} kann nicht gelöscht werden, da es noch auf Seiten benutzt wird."
319
313
  choose_element_as_target: "Wählen Sie ein Element dieser Seite als Ziel"
@@ -335,8 +329,8 @@ de:
335
329
  copy_page: "Seite kopieren"
336
330
  "Could not delete Pictures": "Bilder konnten nicht gelöscht werden"
337
331
  copy_language_tree_heading: "Einen Sprachbaum kopieren"
338
- country_code_placeholder: 'z.B. at (optional)'
339
- country_code_foot_note: "Der Ländercode ist nur notwendig, wenn Sie mehrere Länder mit unterschiedlichen Sprachen versehen wollen."
332
+ country_code_placeholder: 'z.B. AT (optional)'
333
+ country_code_foot_note: "Das Länderkürzel ist nur notwendig, wenn Sie unterschiedliche Länder mit der gleichen Sprache versehen wollen."
340
334
  create: "erstellen"
341
335
  "Create language": "Eine neue Sprache erstellen"
342
336
  "Create site": "Eine neue Website erstellen"
@@ -350,7 +344,6 @@ de:
350
344
  delete_page: "Seite löschen"
351
345
  delete_tag: 'Tag löschen'
352
346
  document: "Dokument"
353
- documents: "Dateien"
354
347
  download_csv: "CSV runterladen"
355
348
  download_file: "%{filename} runterladen"
356
349
  do_you_really_want_to_delete_this_tag?: "Wollen Sie dieses Tag wirklich löschen?"
@@ -370,19 +363,11 @@ de:
370
363
  explain_publishing: "Die gecachte Version vom Server löschen und die aktuellen Änderungen veröffentlichen"
371
364
  explain_sitemap_dragndrop_sorting: "Tip: Halten Sie zum Sortieren der Seiten das Seitensymbol mit der Maus fest und bewegen Sie sie an ihre neue Position."
372
365
  explain_unlocking: "Die Seite verlassen und für andere Benutzer zum Bearbeiten freigeben."
373
- explain_upload:
374
- footnote: "TIP! Halten Sie die Strg-Taste (cmd-Taste auf einem Mac) während Sie die %{name} mit der Maus anklicken, um mehrere %{name} gleichzeitig hochzuladen."
375
- intro: "So funktioniert das %{name} hochladen"
376
- step1: "Klicken Sie auf 'durchsuchen' und öffnen Sie den Ordner mit Ihren %{name}"
377
- step2: "Wählen Sie alle %{name} aus, die Sie gleichzeitig hochladen wollen"
378
- step3: "Klicken Sie auf 'öffnen'. Das Hochladen beginnt!"
379
- dragndrop: "Alternativ können Sie Dateien auch von Ihrem Computer mit der Maus auf die untere Fläche ziehen."
380
366
  external_link_notice_1: "Bitte geben Sie die URL komplett mit http:// (oder vergleichbarem Protokoll) ein."
381
367
  external_link_notice_2: "Um auf einen Pfad innerhalb der Webseiten URL zu verweisen, beginnen Sie mit einem /."
382
368
  female: "Frau"
383
369
  file: "Datei"
384
370
  file_rename_error: "Datei konnte nicht umbenannt werden."
385
- files: "Dateien"
386
371
  from_at: "von %{by} am %{at}"
387
372
  height: "Höhe"
388
373
  help:
@@ -405,7 +390,6 @@ de:
405
390
  image_caption: "Bildunterschrift"
406
391
  image_name: "Name"
407
392
  image_title: "Titel-Tag"
408
- images: "Bilder"
409
393
  internal_link_headline: "Wählen Sie eine Seite zum Verlinken aus."
410
394
  internal_link_page_elements_explanation: "Zusätzlich können Sie rechts neben der jeweiligen Seite auf 'Elemente anzeigen' klicken, um eine Sprungmarke zu einem Element dieser Seite zu erstellen."
411
395
  internal_link_page_anchors_explanation: "Alternativ können Sie auch eine Sprungmarke innerhalb der aktuellen Seite erstellen."
@@ -502,6 +486,8 @@ de:
502
486
  last_upload: "die zuletzt hochgeladen wurden"
503
487
  recent: "aus den letzten 24 Stunden"
504
488
  without_tag: "ohne Tag"
489
+ picture_not_in_use_yet: Dieses Bild ist bisher nicht in Verwendung
490
+ pictures_in_page: "%{page} in %{pictures}"
505
491
  place_link: "Text verlinken"
506
492
  player_version: "Flashplayer Version"
507
493
  "please enter subject and mail address": "Bitte geben Sie den Betreff und eine Empfängeradresse an."
@@ -561,8 +547,15 @@ de:
561
547
  unlink: "Link entfernen"
562
548
  unlock_page: "Seite verlassen"
563
549
  unlocked_page: "Seite %{name} wurde freigegeben."
564
- upload_file: "Datei(en) hochladen"
565
- upload_image: "Bild(er) hochladen"
550
+ uploader:
551
+ alchemy/attachment:
552
+ button_label: Datei(en) hochladen
553
+ upload_success: "Datei %{name} wurde hochgeladen"
554
+ upload_failure: "Datei %{name} konnte nicht hochgeladen werden: %{error}"
555
+ alchemy/picture:
556
+ button_label: Bild(er) hochladen
557
+ upload_success: "Bild %{name} wurde hochgeladen"
558
+ upload_failure: "Bild %{name} konnte nicht hochgeladen werden: %{error}"
566
559
  url_name: "URL-Name"
567
560
  visible: "sichtbar"
568
561
  want_to_create_new_language: "Wollen Sie einen neuen leeren Sprachbaum erstellen?"
@@ -589,7 +582,6 @@ de:
589
582
  "Succesfully updated": "Erfolgreich aktualisiert"
590
583
  "Succesfully removed": "Erfolgreich gelöscht"
591
584
  "Nothing found": "Keine Einträge gefunden."
592
- "Or drag files over here": "Oder ziehen Sie die Dateien hier rauf"
593
585
  complete: 'Abgeschlossen'
594
586
  "Update available": 'Es ist ein Update verfügbar'
595
587
  "Update status unavailable": 'Update Status konnte nicht ermittelt werden'
@@ -749,6 +741,8 @@ de:
749
741
  language_code:
750
742
  invalid: 'ist nicht korrekt. Bitte exakt zwei Kleinbuchstaben verwenden.'
751
743
  taken: 'ist für dieses Länderkürzel bereits vergeben.'
744
+ locale:
745
+ missing_file: "Eine Lokalisierung für dieses Sprachkürzel konnte nicht gefunden werden. Bitte wählen Sie eine der vorhandenen aus."
752
746
  alchemy/page:
753
747
  attributes:
754
748
  name:
@@ -844,6 +838,8 @@ de:
844
838
 
845
839
  alchemy/essence_file:
846
840
  css_class: Stil
841
+ link_text: Link-Text
842
+ title: Titel
847
843
 
848
844
  alchemy/essence_picture:
849
845
  caption: "Untertitel"
@@ -867,6 +863,8 @@ de:
867
863
  name: "Name"
868
864
  page_layout: "Seitentyp der Startseite"
869
865
  public: "Sprache veröffentlichen"
866
+ locale: Lokalisierung
867
+ code: ISO-Code
870
868
 
871
869
  alchemy/legacy_page_url:
872
870
  urlname: "URL-Pfad"
@@ -159,7 +159,7 @@ en:
159
159
  anchor: 'Anchor'
160
160
  back: 'back'
161
161
  create_tree_as_new_language: "Create %{language} as a new language tree"
162
- "Active Pages": "Active pages"
162
+ locked_pages: "Active pages"
163
163
  "Add global page": "Add global page"
164
164
  "Add page link": "Add page link"
165
165
  "Adobe Website": "Adobe Website"
@@ -189,17 +189,15 @@ en:
189
189
  "Element trashed": "Element trashed"
190
190
  "Error with the Flash® Uploader!": "Error with the Flash® Uploader!"
191
191
  "Excerpt": "Excerpt"
192
- "File uploaded succesfully": "File %{name} succesfully uploaded"
193
192
  "File successfully updated": "File successfully updated"
194
- "File upload error": "File upload error: %{error}"
195
193
  "File deleted successfully": "%{name} has been deleted"
196
194
  "Filter by tag": "Filter by tag"
197
195
  "Flush page cache": "Flush page cache"
198
196
  "Flush picture cache": "Flush picture cache"
199
197
  "Global shortcuts": "Global shortcuts"
200
198
  "Hide childpages": "Hide childpages"
201
- "Hide Elements": "Hide Elements"
202
- "If you have any problems using the Flash uploader you can switch to": "If you have any problems using the Flash uploader you can switch to %{link}"
199
+ hide_elements: hide_elements
200
+ hide_element: "Hide element"
203
201
  "Image missing": "Image missing"
204
202
  "Image size": "Image size"
205
203
  "Language successfully created": "Language successfully created."
@@ -233,8 +231,6 @@ en:
233
231
  "Password reset": "Password reset"
234
232
  "Paste from clipboard": "Paste from clipboard"
235
233
  "Picture infos": "Picture infos"
236
- "Picture uploaded succesfully": "Picture %{name} uploaded successfully"
237
- "Picture validation error": "Error while uploading %{name}"
238
234
  "Picture renamed successfully": "Picture renamed successfully from %{from} to %{to}"
239
235
  "Picture deleted successfully": "Picture %{name} successfully deleted"
240
236
  "Pictures updated successfully": "Pictures updated successfully"
@@ -259,7 +255,8 @@ en:
259
255
  "Select an content": "Select a content"
260
256
  "Select style": "Select style"
261
257
  "Send reset instructions": "Send reset instructions"
262
- "Show Elements": "Show Elements"
258
+ show_elements: "Show Elements"
259
+ show_element: "Show element"
263
260
  "Show childpages": "Show childpages"
264
261
  "Show clipboard": "Show clipboard"
265
262
  "Show picture infos": "Show picture infos"
@@ -285,17 +282,15 @@ en:
285
282
  "View File": "View File"
286
283
  "Visit page": "Visit page"
287
284
  "Warning!": "Warning!"
288
- content_description_missing: "Warning: Content is missing its description. Please check the elements.yml"
289
- element_description_missing: "WARNING! Missing element description. Please check your elements.yml file."
290
- page_layout_description_missing: "WARNING! Missing page layout description. Please check your page_layouts.yml file."
285
+ content_definition_missing: "Warning: Content is missing its definition. Please check the elements.yml"
286
+ element_definition_missing: "WARNING! Missing element definition. Please check your elements.yml file."
287
+ page_definition_missing: "WARNING! Missing page layout definition. Please check your page_layouts.yml file."
291
288
  "Welcome to Alchemy": "Welcome to Alchemy"
292
289
  "Who else is online": "Who else is online"
293
290
  "Yes": "Yes"
294
291
  "You are not authorized": "You are not authorized"
295
292
  "You are about to edit many pictures at once": "You are about to edit %{length} pictures at once"
296
293
  element_dirty_close_window_notice: "You have unsaved elements. Do you really want to close the elements window?"
297
- "You may upload files with following extensions": "You may upload %{file_types_description} with following extensions: %{file_types}"
298
- "You may upload any file": "You may upload any file"
299
294
  "Your last login was on": "Your last login was on %{time}."
300
295
  "Your last updated pages": "Your last updated pages"
301
296
  "Your trash is empty": "Your trash is empty"
@@ -313,7 +308,6 @@ en:
313
308
  attachment_filename_notice: "* Please do not use any special characters for the filename."
314
309
  auto_play: "Play movie after load"
315
310
  big_thumbnails: "Big thumbnails"
316
- browse: "browse"
317
311
  cancel: "cancel"
318
312
  cannot_delete_picture_notice: "Cannot delete Picture %{name}, because it's still in use."
319
313
  choose_element_as_target: "Please choose an element as target"
@@ -335,8 +329,8 @@ en:
335
329
  copy_page: "Copy page"
336
330
  "Could not delete Pictures": "Could not delete Pictures"
337
331
  copy_language_tree_heading: "Copy page tree"
338
- country_code_placeholder: 'i.e. us (optional)'
339
- country_code_foot_note: "You only need to set a country code if you want to provide each country with an individual language."
332
+ country_code_placeholder: 'i.e. US (optional)'
333
+ country_code_foot_note: "You only need to set a country code if you want to support multiple countries with the same language."
340
334
  create: "create"
341
335
  "Create language": "Create a new language"
342
336
  "Create site": "Create a new site"
@@ -350,7 +344,6 @@ en:
350
344
  delete_page: "Delete this page"
351
345
  delete_tag: 'Delete tag'
352
346
  document: "File"
353
- documents: "Files"
354
347
  download_csv: "Download CSV"
355
348
  download_file: "Download file '%{filename}'"
356
349
  do_you_really_want_to_delete_this_tag?: "Do you really want to delete this tag?"
@@ -370,19 +363,11 @@ en:
370
363
  explain_publishing: "Publish the page and remove the cached version from the server."
371
364
  explain_sitemap_dragndrop_sorting: "Tip: Drag the pages at the icon in order to sort them."
372
365
  explain_unlocking: "Leave page and unlock it for other users."
373
- explain_upload:
374
- footnote: "HINT! Hold the CTRL button (CMD on a Mac) while clicking the %{name} with the mouse to upload multiple %{name} at once."
375
- intro: "This is how the %{name} upload works"
376
- step1: "Click the 'browse' button and navigate to your %{name} folder"
377
- step2: "Select all the %{name} you want to upload"
378
- step3: "Click the 'open' button. The upload starts!"
379
- dragndrop: "You can also drag files from your computer over to the area underneath."
380
366
  external_link_notice_1: "Please enter the complete url with http:// or a similar protocol."
381
367
  external_link_notice_2: "To refer a path from your website url, start with a /."
382
368
  female: "Female"
383
369
  file: "File"
384
370
  file_rename_error: "Error renaming file."
385
- files: "Files"
386
371
  from_at: "from %{by} at %{at}"
387
372
  height: "Height"
388
373
  help:
@@ -405,7 +390,6 @@ en:
405
390
  image_caption: "Caption"
406
391
  image_name: "Name"
407
392
  image_title: "Title-tag"
408
- images: "Images"
409
393
  internal_link_headline: "Choose a page to link to."
410
394
  internal_link_page_elements_explanation: "Additionally you can click right beside a page on 'Show Elements' to link to an anchor of an element from that page."
411
395
  internal_link_page_anchors_explanation: "Alternatively you can link to an anchor of the actual page."
@@ -562,8 +546,15 @@ en:
562
546
  unlink: "Remove link from this image."
563
547
  unlock_page: "Leave page"
564
548
  unlocked_page: "Unlocked page %{name}."
565
- upload_file: "Upload file(s)"
566
- upload_image: "Upload image(s)"
549
+ uploader:
550
+ alchemy/attachment:
551
+ button_label: Upload file(s)
552
+ upload_success: "File %{name} succesfully uploaded"
553
+ upload_failure: "File %{name} upload error: %{error}"
554
+ alchemy/picture:
555
+ button_label: Upload image(s)
556
+ upload_success: "Picture %{name} uploaded successfully"
557
+ upload_failure: "Error while uploading %{name}: %{error}"
567
558
  url_name: "URL-Name"
568
559
  visible: "visible"
569
560
  want_to_create_new_language: "Do you want to create a new empty language tree?"
@@ -590,7 +581,6 @@ en:
590
581
  "Succesfully updated": "Succesfully updated"
591
582
  "Succesfully removed": "Succesfully removed"
592
583
  "Nothing found": "Nothing found."
593
- "Or drag files over here": "Or drag files over here"
594
584
  complete: 'Abgeschlossen'
595
585
  "Update available": 'Update available'
596
586
  "Update status unavailable": 'Update status unavailable'
@@ -752,6 +742,8 @@ en:
752
742
  language_code:
753
743
  invalid: '^Format of languagecode is not valid. Please use exactly two lowercase characters.'
754
744
  taken: 'is already taken for this country code.'
745
+ locale:
746
+ missing_file: "Localization not found for given language code. Please choose an existing one."
755
747
  alchemy/page:
756
748
  attributes:
757
749
  name:
@@ -869,6 +861,8 @@ en:
869
861
  name: "Name"
870
862
  page_layout: "Pagetype of frontpage"
871
863
  public: "Public"
864
+ locale: Localization
865
+ code: ISO Code
872
866
 
873
867
  alchemy/legacy_page_url:
874
868
  urlname: "URL path"
@@ -160,7 +160,7 @@ es:
160
160
  anchor: 'Ancla'
161
161
  back: 'Atras'
162
162
  create_tree_as_new_language: "Crear %{language} como nuevo árbol de idioma"
163
- "Active Pages": "Páginas activas"
163
+ locked_pages: "Páginas activas"
164
164
  "Add global page": "Añadir página global"
165
165
  "Add page link": "Añadir redirección"
166
166
  "Adobe Website": "Sitio web de Adobe"
@@ -190,9 +190,7 @@ es:
190
190
  "Element trashed": "Elementos eliminados"
191
191
  "Error with the Flash® Uploader!": "Error con Flash Uploader!"
192
192
  "Excerpt": "Extracto"
193
- "File uploaded succesfully": "Archivo %{name} subido correctamente"
194
193
  "File successfully updated": "Archivo actualizado correctamente"
195
- "File upload error": "Error al subir archivo: %{error}"
196
194
  "File deleted successfully": "%{name} se ha eliminado"
197
195
  "Filter": Filtrar
198
196
  "Filter by tag": "Filtrar por etiqueta"
@@ -200,8 +198,8 @@ es:
200
198
  "Flush picture cache": "Vaciar cache de imagenes"
201
199
  "Global shortcuts": "Comandos globales"
202
200
  "Hide childpages": "Ocultar páginas hijas"
203
- "Hide Elements": "Ocultar elementos"
204
- "If you have any problems using the Flash uploader you can switch to": "Si tienes cualquier problema usando Flash uploader, puedes cambiar a %{link}"
201
+ hide_elements: "Ocultar elementos"
202
+ hide_element: "Ocultar elemento"
205
203
  "Image missing": "Imagen perdida"
206
204
  "Image size": "Tamaño de las imágenes"
207
205
  "Language successfully created": "Idioma creado correctamente."
@@ -235,8 +233,6 @@ es:
235
233
  "Password reset": "Restablecer contraseña"
236
234
  "Paste from clipboard": "Pegar del portapapeles"
237
235
  "Picture infos": "Detalles de la imagen"
238
- "Picture uploaded succesfully": "Imagen %{name} subida correctamente"
239
- "Picture validation error": "Error al cargar %{name}"
240
236
  "Picture renamed successfully": "Imagen renombrada correctamente de %{from} a %{to}"
241
237
  "Picture deleted successfully": "Imagen %{name} eliminada correctamente"
242
238
  "Pictures updated successfully": "Imágenes actualizadas correctamente"
@@ -261,7 +257,8 @@ es:
261
257
  "Select an content": "Seleccionar contenido"
262
258
  "Select style": "Seleccionar estilo"
263
259
  "Send reset instructions": "Enviar instrucciones para restablecer"
264
- "Show Elements": "Mostrar elementos"
260
+ show_elements: "Mostrar elementos"
261
+ show_element: "Mostrar elemento"
265
262
  "Show childpages": "Mostrar páginas hijas"
266
263
  "Show clipboard": "Mostrar portapapeles"
267
264
  "Show picture infos": "Mostrar información de la imagen"
@@ -287,16 +284,14 @@ es:
287
284
  "View File": "Ver archivo"
288
285
  "Visit page": "Visitar página"
289
286
  "Warning!": "¡Atención!"
290
- content_description_missing: "Atención: Falta la descripción del contenido. Por favor comprueba el archivo elements.yml"
291
- element_description_missing: "¡Atención! Falta la descripción. Por favor comprueba tu archivo elements.yml."
287
+ content_definition_missing: "Atención: Falta la descripción del contenido. Por favor comprueba el archivo elements.yml"
288
+ element_definition_missing: "¡Atención! Falta la descripción. Por favor comprueba tu archivo elements.yml."
292
289
  "Welcome to Alchemy": "Bienvenido a Alchemy"
293
290
  "Who else is online": "Quien más está conectado"
294
291
  "Yes": "Sí"
295
292
  "You are not authorized": "No estas autorizado"
296
293
  "You are about to edit many pictures at once": "Vas a editar %{length} imágenes a la vez"
297
294
  element_dirty_close_window_notice: "Tienes elementos sin guardar. ¿Realmente quieres cerrar la ventana de elementos?"
298
- "You may upload files with following extensions": "Puedes subir %{file_types_description} con las siguientes extensiones: %{file_types}"
299
- "You may upload any file": "Puedes cargar cualquier archivo"
300
295
  "Your last login was on": "Tu última conexión fue el %{time}."
301
296
  "Your last updated pages": "Tus últimas páginas actualizadas"
302
297
  "Your trash is empty": "La papelera está vacía"
@@ -314,7 +309,6 @@ es:
314
309
  attachment_filename_notice: "* Por favor no uses ningún caracter especial para el nombre del archivo."
315
310
  auto_play: "Reproducir video después de cargar"
316
311
  big_thumbnails: "Miniaturas grandes"
317
- browse: "examinar"
318
312
  cancel: "cancelar"
319
313
  cannot_delete_picture_notice: "No se puede eliminar %{name}, porque sigue en uso."
320
314
  choose_element_as_target: "Por favor elige un elemento como destino"
@@ -336,7 +330,7 @@ es:
336
330
  copy_page: "Copiar página"
337
331
  "Could not delete Pictures": "No se puede eliminar las imágenes"
338
332
  copy_language_tree_heading: "Copiar árbol de páginas"
339
- country_code_placeholder: 'i.e. es (opcional)'
333
+ country_code_placeholder: 'i.e. ES (opcional)'
340
334
  country_code_foot_note: "Solo es necesario establecer un código de país si desea establecer cada país con su idioma."
341
335
  create: "Crear"
342
336
  "Create language": "Crear un nuevo idioma"
@@ -351,7 +345,6 @@ es:
351
345
  delete_page: "Eliminar esta página"
352
346
  delete_tag: 'Eliminar etiqueta'
353
347
  document: "Archivo"
354
- documents: "archivos"
355
348
  download_csv: "Descargar CSV"
356
349
  download_file: "Descargar archivo '%{filename}'"
357
350
  do_you_really_want_to_delete_this_tag?: "¿Deseas realmente eliminar esta etiqueta?"
@@ -371,19 +364,11 @@ es:
371
364
  explain_publishing: "Publicar la página y eliminar la versión cacheada del servidor."
372
365
  explain_sitemap_dragndrop_sorting: "Consejo: Arrastra las páginas desde el icono para ordenarlas."
373
366
  explain_unlocking: "Dejar la página y desbloquearla para otros usuarios."
374
- explain_upload:
375
- footnote: "¡AVISO! Presiona el botón CTRL (CMD en Mac) mientras pulsas en %{name} con el ratón para subir múltiples %{name} de una vez."
376
- intro: "Así es como funciona la subida de %{name}"
377
- step1: "Pulsa en el botón 'Examinar' y navega hasta tu carpeta de %{name}"
378
- step2: "Selecciona todos l@s %{name} que quieres subir"
379
- step3: "Pulsa en el botón 'abrir'. ¡La subida comienza!"
380
- dragndrop: "También puedes arrastrar los archivos desde tu ordenador sobre el área que hay debajo."
381
367
  external_link_notice_1: "Por favor introduce la URL completa con http:// o un protocolo similar."
382
368
  external_link_notice_2: "Para enlazar a una ruta de tu sitio web, empieza con una /."
383
369
  female: "Femenino"
384
370
  file: "Archivo"
385
371
  file_rename_error: "Error renombrando el archivo."
386
- files: "archivos"
387
372
  from_at: "Por %{by} el %{at}"
388
373
  height: "Altura"
389
374
  help:
@@ -406,7 +391,6 @@ es:
406
391
  image_caption: "Subtítulo"
407
392
  image_name: "Nombre"
408
393
  image_title: "Titulo-tag"
409
- images: "imágenes"
410
394
  internal_link_headline: "Escoge una página para enlazar."
411
395
  internal_link_page_elements_explanation: "Además, puedes pulsar a la derecha de una página en 'Mostrar elementos' para enlazar a un ancla de un elemento de esa página."
412
396
  internal_link_page_anchors_explanation: "También puedes enlazar a un ancla de la página actual."
@@ -564,8 +548,15 @@ es:
564
548
  unlink: "Eliminar enlace de esta imagen."
565
549
  unlock_page: "Salir de la página"
566
550
  unlocked_page: "Página %{name} desbloqueada."
567
- upload_file: "Subir archivo(s)"
568
- upload_image: "Subir imagen(es)"
551
+ uploader:
552
+ alchemy/attachment:
553
+ button_label: Subir archivo(s)
554
+ upload_success: "Archivo %{name} subido correctamente"
555
+ upload_failure: "Error al subir archivo %{name}: %{error}"
556
+ alchemy/picture:
557
+ button_label: Subir imagen(es)
558
+ upload_success: "Imagen %{name} subida correctamente"
559
+ upload_failure: "Error al cargar %{name}: %{error}"
569
560
  url_name: "URL-Nombre"
570
561
  visible: "visible"
571
562
  want_to_create_new_language: "¿Quieres crear un árbol de idioma vacío?"
@@ -592,13 +583,12 @@ es:
592
583
  "Succesfully updated": "Actualizado correctamente"
593
584
  "Succesfully removed": "Eliminado correctamente"
594
585
  "Nothing found": "No se encontró nada."
595
- "Or drag files over here": "O arrastra archivos sobre esta caja"
596
586
  complete: 'Completado'
597
587
  "Update available": 'Actualización disponible'
598
588
  "Update status unavailable": 'Estado de actualización no disponible'
599
589
  "Uploading": "Subiendo"
600
590
 
601
- # END of Alchemy translation
591
+ # END of Alchemy translation
602
592
 
603
593
  # == Rails translations
604
594
  # Below are Rails specific translations for date, time, number, currency, error messages and so on.
@@ -789,6 +779,8 @@ es:
789
779
  language_code:
790
780
  invalid: '^El formato del código de lenguaje no es válido. Por favor usa exactamente 2 letras minúsculas.'
791
781
  taken: 'ya está en uso para este código de país.'
782
+ locale:
783
+ missing_file: Localización no encontrado para el código de idioma dado. Por favor, elige uno de los existentes.
792
784
  alchemy/page:
793
785
  attributes:
794
786
  name:
@@ -860,7 +852,7 @@ es:
860
852
  alchemy/picture:
861
853
  one: Imagen
862
854
  other: Imágenes
863
-
855
+
864
856
  attributes:
865
857
 
866
858
  acts_as_taggable_on/tag:
@@ -907,6 +899,8 @@ es:
907
899
  name: "Nombre"
908
900
  page_layout: "Tipo de la primera página"
909
901
  public: "Pública"
902
+ locale: Localización
903
+ code: Código ISO
910
904
 
911
905
  alchemy/legacy_page_url:
912
906
  urlname: "Ruta URL"