lc_alchemy_cms 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (744) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +23 -0
  3. data/.gitignore +21 -0
  4. data/.hound.yml +2 -0
  5. data/.rspec +1 -0
  6. data/.rubocop.yml +861 -0
  7. data/.teatro.yml +7 -0
  8. data/.travis.yml +27 -0
  9. data/.yardopts +5 -0
  10. data/CODE_OF_CONDUCT.md +13 -0
  11. data/CONTRIBUTING.md +73 -0
  12. data/Gemfile +34 -0
  13. data/LICENSE +27 -0
  14. data/README.md +297 -0
  15. data/Rakefile +48 -0
  16. data/alchemy_cms.gemspec +81 -0
  17. data/app/assets/fonts/alchemy/icons.eot +0 -0
  18. data/app/assets/fonts/alchemy/icons.svg +71 -0
  19. data/app/assets/fonts/alchemy/icons.ttf +0 -0
  20. data/app/assets/fonts/alchemy/icons.woff +0 -0
  21. data/app/assets/images/alchemy/alchemy-logo.svg +70 -0
  22. data/app/assets/images/alchemy/favicon.ico +0 -0
  23. data/app/assets/images/alchemy/icon.svg +14 -0
  24. data/app/assets/images/alchemy/icons.png +0 -0
  25. data/app/assets/images/alchemy/lupe.cur +0 -0
  26. data/app/assets/images/alchemy/ui-icons_666666_256x240.png +0 -0
  27. data/app/assets/images/sassy-ie-overlay.png +0 -0
  28. data/app/assets/javascripts/alchemy/alchemy.autocomplete.js.coffee +30 -0
  29. data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +142 -0
  30. data/app/assets/javascripts/alchemy/alchemy.browser.js.coffee +22 -0
  31. data/app/assets/javascripts/alchemy/alchemy.buttons.js.coffee +32 -0
  32. data/app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee +19 -0
  33. data/app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee +85 -0
  34. data/app/assets/javascripts/alchemy/alchemy.custom.js +1 -0
  35. data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +31 -0
  36. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +266 -0
  37. data/app/assets/javascripts/alchemy/alchemy.dirty.js.coffee +70 -0
  38. data/app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee +84 -0
  39. data/app/assets/javascripts/alchemy/alchemy.element_editors.js.coffee +138 -0
  40. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +89 -0
  41. data/app/assets/javascripts/alchemy/alchemy.file_progress.js.coffee +63 -0
  42. data/app/assets/javascripts/alchemy/alchemy.growler.js.coffee +27 -0
  43. data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +22 -0
  44. data/app/assets/javascripts/alchemy/alchemy.hotkeys.js.coffee +49 -0
  45. data/app/assets/javascripts/alchemy/alchemy.html5.js +22 -0
  46. data/app/assets/javascripts/alchemy/alchemy.i18n.js.coffee +26 -0
  47. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js.coffee +44 -0
  48. data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +63 -0
  49. data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +42 -0
  50. data/app/assets/javascripts/alchemy/alchemy.js +52 -0
  51. data/app/assets/javascripts/alchemy/alchemy.link_dialog.js.coffee +250 -0
  52. data/app/assets/javascripts/alchemy/alchemy.list_filter.js.coffee +49 -0
  53. data/app/assets/javascripts/alchemy/alchemy.page_sorter.js +48 -0
  54. data/app/assets/javascripts/alchemy/alchemy.preview.js.coffee +106 -0
  55. data/app/assets/javascripts/alchemy/alchemy.preview_window.js.coffee +58 -0
  56. data/app/assets/javascripts/alchemy/alchemy.sitemap.js.coffee +50 -0
  57. data/app/assets/javascripts/alchemy/alchemy.spinner.js.coffee +49 -0
  58. data/app/assets/javascripts/alchemy/alchemy.string_extension.js.coffee +11 -0
  59. data/app/assets/javascripts/alchemy/alchemy.tinymce.js.coffee +66 -0
  60. data/app/assets/javascripts/alchemy/alchemy.translations.js.coffee +132 -0
  61. data/app/assets/javascripts/alchemy/alchemy.uploader.js.coffee +102 -0
  62. data/app/assets/javascripts/alchemy/alchemy.windows.js.coffee +42 -0
  63. data/app/assets/javascripts/alchemy/menubar.js.coffee +8 -0
  64. data/app/assets/javascripts/alchemy/preview.js +1 -0
  65. data/app/assets/javascripts/tinymce/plugins/alchemy_link/plugin.min.js +19 -0
  66. data/app/assets/stylesheets/alchemy/_defaults.scss +8 -0
  67. data/app/assets/stylesheets/alchemy/_extends.scss +93 -0
  68. data/app/assets/stylesheets/alchemy/_mixins.scss +112 -0
  69. data/app/assets/stylesheets/alchemy/_variables.scss +61 -0
  70. data/app/assets/stylesheets/alchemy/admin.scss +31 -0
  71. data/app/assets/stylesheets/alchemy/archive.scss +436 -0
  72. data/app/assets/stylesheets/alchemy/base.scss +609 -0
  73. data/app/assets/stylesheets/alchemy/buttons.scss +259 -0
  74. data/app/assets/stylesheets/alchemy/custom.scss +1 -0
  75. data/app/assets/stylesheets/alchemy/dashboard.scss +104 -0
  76. data/app/assets/stylesheets/alchemy/dialogs.scss +214 -0
  77. data/app/assets/stylesheets/alchemy/elements.scss +772 -0
  78. data/app/assets/stylesheets/alchemy/errors.scss +39 -0
  79. data/app/assets/stylesheets/alchemy/flash.scss +65 -0
  80. data/app/assets/stylesheets/alchemy/form_fields.scss +89 -0
  81. data/app/assets/stylesheets/alchemy/forms.scss +193 -0
  82. data/app/assets/stylesheets/alchemy/frame.scss +301 -0
  83. data/app/assets/stylesheets/alchemy/icon-font.scss +67 -0
  84. data/app/assets/stylesheets/alchemy/icons.scss +324 -0
  85. data/app/assets/stylesheets/alchemy/jquery-ui.scss +1511 -0
  86. data/app/assets/stylesheets/alchemy/menubar.scss +81 -0
  87. data/app/assets/stylesheets/alchemy/modules.scss +33 -0
  88. data/app/assets/stylesheets/alchemy/notices.scss +64 -0
  89. data/app/assets/stylesheets/alchemy/pagination.scss +65 -0
  90. data/app/assets/stylesheets/alchemy/print.scss +34 -0
  91. data/app/assets/stylesheets/alchemy/search.scss +73 -0
  92. data/app/assets/stylesheets/alchemy/selects.scss +235 -0
  93. data/app/assets/stylesheets/alchemy/sitemap.scss +385 -0
  94. data/app/assets/stylesheets/alchemy/tables.scss +218 -0
  95. data/app/assets/stylesheets/alchemy/toolbar.scss +146 -0
  96. data/app/assets/stylesheets/alchemy/upload.scss +121 -0
  97. data/app/assets/stylesheets/tinymce/skins/alchemy/content.min.css.scss +90 -0
  98. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/readme.md +1 -0
  99. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.eot +0 -0
  100. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.svg +175 -0
  101. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.ttf +0 -0
  102. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce-small.woff +0 -0
  103. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.eot +0 -0
  104. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.svg +153 -0
  105. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.ttf +0 -0
  106. data/app/assets/stylesheets/tinymce/skins/alchemy/fonts/tinymce.woff +0 -0
  107. data/app/assets/stylesheets/tinymce/skins/alchemy/img/anchor.gif +0 -0
  108. data/app/assets/stylesheets/tinymce/skins/alchemy/img/loader.gif +0 -0
  109. data/app/assets/stylesheets/tinymce/skins/alchemy/img/object.gif +0 -0
  110. data/app/assets/stylesheets/tinymce/skins/alchemy/img/trans.gif +0 -0
  111. data/app/assets/stylesheets/tinymce/skins/alchemy/img/wline.gif +0 -0
  112. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.ie7.min.css +1 -0
  113. data/app/assets/stylesheets/tinymce/skins/alchemy/skin.min.css.scss +1810 -0
  114. data/app/controllers/alchemy/admin/attachments_controller.rb +106 -0
  115. data/app/controllers/alchemy/admin/base_controller.rb +168 -0
  116. data/app/controllers/alchemy/admin/clipboard_controller.rb +51 -0
  117. data/app/controllers/alchemy/admin/contents_controller.rb +76 -0
  118. data/app/controllers/alchemy/admin/dashboard_controller.rb +89 -0
  119. data/app/controllers/alchemy/admin/elements_controller.rb +190 -0
  120. data/app/controllers/alchemy/admin/essence_files_controller.rb +47 -0
  121. data/app/controllers/alchemy/admin/essence_pictures_controller.rb +120 -0
  122. data/app/controllers/alchemy/admin/languages_controller.rb +17 -0
  123. data/app/controllers/alchemy/admin/layoutpages_controller.rb +19 -0
  124. data/app/controllers/alchemy/admin/legacy_page_urls_controller.rb +39 -0
  125. data/app/controllers/alchemy/admin/pages_controller.rb +359 -0
  126. data/app/controllers/alchemy/admin/pictures_controller.rb +168 -0
  127. data/app/controllers/alchemy/admin/resources_controller.rb +185 -0
  128. data/app/controllers/alchemy/admin/sites_controller.rb +6 -0
  129. data/app/controllers/alchemy/admin/tags_controller.rb +76 -0
  130. data/app/controllers/alchemy/admin/trash_controller.rb +27 -0
  131. data/app/controllers/alchemy/api/base_controller.rb +19 -0
  132. data/app/controllers/alchemy/api/contents_controller.rb +35 -0
  133. data/app/controllers/alchemy/api/elements_controller.rb +29 -0
  134. data/app/controllers/alchemy/api/pages_controller.rb +32 -0
  135. data/app/controllers/alchemy/attachments_controller.rb +35 -0
  136. data/app/controllers/alchemy/base_controller.rb +106 -0
  137. data/app/controllers/alchemy/elements_controller.rb +27 -0
  138. data/app/controllers/alchemy/messages_controller.rb +114 -0
  139. data/app/controllers/alchemy/pages_controller.rb +211 -0
  140. data/app/controllers/alchemy/pictures_controller.rb +82 -0
  141. data/app/helpers/alchemy/admin/attachments_helper.rb +12 -0
  142. data/app/helpers/alchemy/admin/base_helper.rb +471 -0
  143. data/app/helpers/alchemy/admin/contents_helper.rb +113 -0
  144. data/app/helpers/alchemy/admin/elements_helper.rb +134 -0
  145. data/app/helpers/alchemy/admin/essences_helper.rb +120 -0
  146. data/app/helpers/alchemy/admin/form_helper.rb +30 -0
  147. data/app/helpers/alchemy/admin/navigation_helper.rb +238 -0
  148. data/app/helpers/alchemy/admin/pages_helper.rb +70 -0
  149. data/app/helpers/alchemy/admin/pictures_helper.rb +30 -0
  150. data/app/helpers/alchemy/admin/tags_helper.rb +102 -0
  151. data/app/helpers/alchemy/base_helper.rb +81 -0
  152. data/app/helpers/alchemy/elements_block_helper.rb +162 -0
  153. data/app/helpers/alchemy/elements_helper.rb +291 -0
  154. data/app/helpers/alchemy/essences_helper.rb +138 -0
  155. data/app/helpers/alchemy/pages_helper.rb +417 -0
  156. data/app/helpers/alchemy/url_helper.rb +76 -0
  157. data/app/mailers/alchemy/messages.rb +15 -0
  158. data/app/models/alchemy.rb +7 -0
  159. data/app/models/alchemy/attachment.rb +129 -0
  160. data/app/models/alchemy/cell.rb +94 -0
  161. data/app/models/alchemy/content.rb +255 -0
  162. data/app/models/alchemy/content/factory.rb +190 -0
  163. data/app/models/alchemy/element.rb +513 -0
  164. data/app/models/alchemy/element/definitions.rb +52 -0
  165. data/app/models/alchemy/element/presenters.rb +87 -0
  166. data/app/models/alchemy/element_to_page.rb +7 -0
  167. data/app/models/alchemy/essence_boolean.rb +19 -0
  168. data/app/models/alchemy/essence_date.rb +24 -0
  169. data/app/models/alchemy/essence_file.rb +42 -0
  170. data/app/models/alchemy/essence_html.rb +23 -0
  171. data/app/models/alchemy/essence_link.rb +20 -0
  172. data/app/models/alchemy/essence_picture.rb +152 -0
  173. data/app/models/alchemy/essence_richtext.rb +47 -0
  174. data/app/models/alchemy/essence_select.rb +18 -0
  175. data/app/models/alchemy/essence_text.rb +22 -0
  176. data/app/models/alchemy/folded_page.rb +16 -0
  177. data/app/models/alchemy/language.rb +144 -0
  178. data/app/models/alchemy/language/code.rb +22 -0
  179. data/app/models/alchemy/legacy_page_url.rb +20 -0
  180. data/app/models/alchemy/message.rb +40 -0
  181. data/app/models/alchemy/page.rb +409 -0
  182. data/app/models/alchemy/page/page_cells.rb +71 -0
  183. data/app/models/alchemy/page/page_elements.rb +272 -0
  184. data/app/models/alchemy/page/page_naming.rb +122 -0
  185. data/app/models/alchemy/page/page_natures.rb +114 -0
  186. data/app/models/alchemy/page/page_scopes.rb +95 -0
  187. data/app/models/alchemy/page/page_users.rb +58 -0
  188. data/app/models/alchemy/picture.rb +220 -0
  189. data/app/models/alchemy/picture/sweeping.rb +17 -0
  190. data/app/models/alchemy/picture/transformations.rb +256 -0
  191. data/app/models/alchemy/site.rb +91 -0
  192. data/app/models/alchemy/site/layout.rb +38 -0
  193. data/app/models/alchemy/tag.rb +24 -0
  194. data/app/models/alchemy/translations.rb +7 -0
  195. data/app/models/alchemy/translations/essence_body_updater.rb +64 -0
  196. data/app/models/alchemy/translations/translation_pusher.rb +18 -0
  197. data/app/models/alchemy/tree_node.rb +4 -0
  198. data/app/serializers/alchemy/attachment_serializer.rb +15 -0
  199. data/app/serializers/alchemy/cell_serializer.rb +18 -0
  200. data/app/serializers/alchemy/content_serializer.rb +20 -0
  201. data/app/serializers/alchemy/element_serializer.rb +20 -0
  202. data/app/serializers/alchemy/essence_boolean_serializer.rb +11 -0
  203. data/app/serializers/alchemy/essence_date_serializer.rb +11 -0
  204. data/app/serializers/alchemy/essence_file_serializer.rb +12 -0
  205. data/app/serializers/alchemy/essence_html_serializer.rb +11 -0
  206. data/app/serializers/alchemy/essence_link_serializer.rb +14 -0
  207. data/app/serializers/alchemy/essence_picture_serializer.rb +28 -0
  208. data/app/serializers/alchemy/essence_richtext_serializer.rb +12 -0
  209. data/app/serializers/alchemy/essence_select_serializer.rb +11 -0
  210. data/app/serializers/alchemy/essence_text_serializer.rb +22 -0
  211. data/app/serializers/alchemy/legacy_element_serializer.rb +17 -0
  212. data/app/serializers/alchemy/page_serializer.rb +29 -0
  213. data/app/serializers/alchemy/picture_serializer.rb +16 -0
  214. data/app/views/alchemy/_menubar.html.erb +16 -0
  215. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +32 -0
  216. data/app/views/alchemy/admin/attachments/_attachment.html.erb +63 -0
  217. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +15 -0
  218. data/app/views/alchemy/admin/attachments/_files_list.html.erb +39 -0
  219. data/app/views/alchemy/admin/attachments/_overlay_file_list.html.erb +11 -0
  220. data/app/views/alchemy/admin/attachments/_tag_list.html.erb +14 -0
  221. data/app/views/alchemy/admin/attachments/archive_overlay.js.erb +7 -0
  222. data/app/views/alchemy/admin/attachments/create.js.erb +11 -0
  223. data/app/views/alchemy/admin/attachments/destroy.js.erb +1 -0
  224. data/app/views/alchemy/admin/attachments/edit.html.erb +10 -0
  225. data/app/views/alchemy/admin/attachments/index.html.erb +29 -0
  226. data/app/views/alchemy/admin/attachments/new.html.erb +14 -0
  227. data/app/views/alchemy/admin/attachments/show.html.erb +3 -0
  228. data/app/views/alchemy/admin/clipboard/clear.js.erb +3 -0
  229. data/app/views/alchemy/admin/clipboard/index.html.erb +22 -0
  230. data/app/views/alchemy/admin/clipboard/insert.js.erb +19 -0
  231. data/app/views/alchemy/admin/clipboard/remove.js.erb +10 -0
  232. data/app/views/alchemy/admin/contents/_missing.html.erb +19 -0
  233. data/app/views/alchemy/admin/contents/create.js.erb +56 -0
  234. data/app/views/alchemy/admin/contents/destroy.js.erb +4 -0
  235. data/app/views/alchemy/admin/contents/new.html.erb +11 -0
  236. data/app/views/alchemy/admin/contents/order.js.erb +3 -0
  237. data/app/views/alchemy/admin/dashboard/_locked_pages.html.erb +38 -0
  238. data/app/views/alchemy/admin/dashboard/_recent_pages.html.erb +22 -0
  239. data/app/views/alchemy/admin/dashboard/_sites.html.erb +23 -0
  240. data/app/views/alchemy/admin/dashboard/_users.html.erb +19 -0
  241. data/app/views/alchemy/admin/dashboard/help.html.erb +21 -0
  242. data/app/views/alchemy/admin/dashboard/index.html.erb +44 -0
  243. data/app/views/alchemy/admin/dashboard/info.html.erb +64 -0
  244. data/app/views/alchemy/admin/elements/_add_picture.html.erb +14 -0
  245. data/app/views/alchemy/admin/elements/_element.html.erb +23 -0
  246. data/app/views/alchemy/admin/elements/_element_foot.html.erb +36 -0
  247. data/app/views/alchemy/admin/elements/_element_head.html.erb +23 -0
  248. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +26 -0
  249. data/app/views/alchemy/admin/elements/_picture_gallery_editor.html.erb +24 -0
  250. data/app/views/alchemy/admin/elements/_refresh_editor.js.erb +8 -0
  251. data/app/views/alchemy/admin/elements/create.js.erb +46 -0
  252. data/app/views/alchemy/admin/elements/fold.js.erb +28 -0
  253. data/app/views/alchemy/admin/elements/index.html.erb +26 -0
  254. data/app/views/alchemy/admin/elements/list.html.erb +16 -0
  255. data/app/views/alchemy/admin/elements/new.html.erb +25 -0
  256. data/app/views/alchemy/admin/elements/order.js.erb +14 -0
  257. data/app/views/alchemy/admin/elements/trash.js.erb +12 -0
  258. data/app/views/alchemy/admin/elements/update.js.erb +28 -0
  259. data/app/views/alchemy/admin/essence_files/assign.js.erb +9 -0
  260. data/app/views/alchemy/admin/essence_files/edit.html.erb +18 -0
  261. data/app/views/alchemy/admin/essence_pictures/assign.js.erb +18 -0
  262. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +50 -0
  263. data/app/views/alchemy/admin/essence_pictures/destroy.js.erb +24 -0
  264. data/app/views/alchemy/admin/essence_pictures/edit.html.erb +28 -0
  265. data/app/views/alchemy/admin/essence_pictures/save_link.js.erb +3 -0
  266. data/app/views/alchemy/admin/essence_pictures/update.js.erb +9 -0
  267. data/app/views/alchemy/admin/languages/_form.html.erb +14 -0
  268. data/app/views/alchemy/admin/languages/_language.html.erb +42 -0
  269. data/app/views/alchemy/admin/languages/_table.html.erb +37 -0
  270. data/app/views/alchemy/admin/languages/index.html.erb +23 -0
  271. data/app/views/alchemy/admin/layoutpages/_layoutpage.html.erb +63 -0
  272. data/app/views/alchemy/admin/layoutpages/edit.html.erb +15 -0
  273. data/app/views/alchemy/admin/layoutpages/index.html.erb +41 -0
  274. data/app/views/alchemy/admin/leave.html.erb +11 -0
  275. data/app/views/alchemy/admin/legacy_page_urls/_form.html.erb +5 -0
  276. data/app/views/alchemy/admin/legacy_page_urls/_label.html.erb +1 -0
  277. data/app/views/alchemy/admin/legacy_page_urls/_legacy_page_url.html.erb +13 -0
  278. data/app/views/alchemy/admin/legacy_page_urls/_new.html.erb +20 -0
  279. data/app/views/alchemy/admin/legacy_page_urls/create.js.erb +10 -0
  280. data/app/views/alchemy/admin/legacy_page_urls/destroy.js.erb +6 -0
  281. data/app/views/alchemy/admin/legacy_page_urls/update.js.erb +2 -0
  282. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +54 -0
  283. data/app/views/alchemy/admin/pages/_external_link.html.erb +31 -0
  284. data/app/views/alchemy/admin/pages/_file_link.html.erb +31 -0
  285. data/app/views/alchemy/admin/pages/_form.html.erb +62 -0
  286. data/app/views/alchemy/admin/pages/_internal_link.html.erb +41 -0
  287. data/app/views/alchemy/admin/pages/_legacy_urls.html.erb +23 -0
  288. data/app/views/alchemy/admin/pages/_locked_page.html.erb +24 -0
  289. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +11 -0
  290. data/app/views/alchemy/admin/pages/_page.html.erb +112 -0
  291. data/app/views/alchemy/admin/pages/_page_for_links.html.erb +45 -0
  292. data/app/views/alchemy/admin/pages/_page_status.html.erb +14 -0
  293. data/app/views/alchemy/admin/pages/_sitemap.html.erb +8 -0
  294. data/app/views/alchemy/admin/pages/_tinymce_custom_config.html.erb +13 -0
  295. data/app/views/alchemy/admin/pages/configure.html.erb +16 -0
  296. data/app/views/alchemy/admin/pages/configure_external.html.erb +33 -0
  297. data/app/views/alchemy/admin/pages/destroy.js.erb +19 -0
  298. data/app/views/alchemy/admin/pages/edit.html.erb +206 -0
  299. data/app/views/alchemy/admin/pages/flush.js.erb +2 -0
  300. data/app/views/alchemy/admin/pages/fold.js.erb +3 -0
  301. data/app/views/alchemy/admin/pages/index.html.erb +101 -0
  302. data/app/views/alchemy/admin/pages/info.html.erb +43 -0
  303. data/app/views/alchemy/admin/pages/link.html.erb +16 -0
  304. data/app/views/alchemy/admin/pages/locked.html.erb +3 -0
  305. data/app/views/alchemy/admin/pages/new.html.erb +26 -0
  306. data/app/views/alchemy/admin/pages/show.html.erb +1 -0
  307. data/app/views/alchemy/admin/pages/sort.js.erb +5 -0
  308. data/app/views/alchemy/admin/pages/unlock.js.erb +8 -0
  309. data/app/views/alchemy/admin/pages/update.js.erb +37 -0
  310. data/app/views/alchemy/admin/partials/_autocomplete_tag_list.html.erb +1 -0
  311. data/app/views/alchemy/admin/partials/_flash.html.erb +4 -0
  312. data/app/views/alchemy/admin/partials/_flash_notices.html.erb +5 -0
  313. data/app/views/alchemy/admin/partials/_language_tree_select.html.erb +11 -0
  314. data/app/views/alchemy/admin/partials/_main_navigation_entry.html.erb +12 -0
  315. data/app/views/alchemy/admin/partials/_remote_search_form.html.erb +33 -0
  316. data/app/views/alchemy/admin/partials/_routes.html.erb +25 -0
  317. data/app/views/alchemy/admin/partials/_search_form.html.erb +20 -0
  318. data/app/views/alchemy/admin/partials/_sub_navigation.html.erb +8 -0
  319. data/app/views/alchemy/admin/partials/_toolbar_button.html.erb +25 -0
  320. data/app/views/alchemy/admin/partials/_upload_form.html.erb +67 -0
  321. data/app/views/alchemy/admin/pictures/_archive.html.erb +53 -0
  322. data/app/views/alchemy/admin/pictures/_archive_overlay.html.erb +14 -0
  323. data/app/views/alchemy/admin/pictures/_filter_and_size_bar.html.erb +78 -0
  324. data/app/views/alchemy/admin/pictures/_filter_bar.html.erb +33 -0
  325. data/app/views/alchemy/admin/pictures/_overlay_picture_list.html.erb +11 -0
  326. data/app/views/alchemy/admin/pictures/_picture.html.erb +87 -0
  327. data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +28 -0
  328. data/app/views/alchemy/admin/pictures/_tag_list.html.erb +16 -0
  329. data/app/views/alchemy/admin/pictures/archive_overlay.js.erb +8 -0
  330. data/app/views/alchemy/admin/pictures/edit.html.erb +13 -0
  331. data/app/views/alchemy/admin/pictures/edit_multiple.html.erb +30 -0
  332. data/app/views/alchemy/admin/pictures/flush.js.erb +2 -0
  333. data/app/views/alchemy/admin/pictures/index.html.erb +109 -0
  334. data/app/views/alchemy/admin/pictures/index.js.erb +3 -0
  335. data/app/views/alchemy/admin/pictures/info.html.erb +38 -0
  336. data/app/views/alchemy/admin/pictures/new.html.erb +16 -0
  337. data/app/views/alchemy/admin/pictures/show.html.erb +11 -0
  338. data/app/views/alchemy/admin/resources/_form.html.erb +13 -0
  339. data/app/views/alchemy/admin/resources/_resource.html.erb +30 -0
  340. data/app/views/alchemy/admin/resources/_table.html.erb +25 -0
  341. data/app/views/alchemy/admin/resources/edit.html.erb +1 -0
  342. data/app/views/alchemy/admin/resources/index.csv.erb +13 -0
  343. data/app/views/alchemy/admin/resources/index.html.erb +32 -0
  344. data/app/views/alchemy/admin/resources/new.html.erb +1 -0
  345. data/app/views/alchemy/admin/sites/index.html.erb +23 -0
  346. data/app/views/alchemy/admin/tags/_radio_tag.html.erb +6 -0
  347. data/app/views/alchemy/admin/tags/_tag.html.erb +30 -0
  348. data/app/views/alchemy/admin/tags/edit.html.erb +24 -0
  349. data/app/views/alchemy/admin/tags/index.html.erb +52 -0
  350. data/app/views/alchemy/admin/tags/new.html.erb +7 -0
  351. data/app/views/alchemy/admin/trash/clear.js.erb +4 -0
  352. data/app/views/alchemy/admin/trash/index.html.erb +29 -0
  353. data/app/views/alchemy/attachments/show.html.erb +1 -0
  354. data/app/views/alchemy/base/500.html.erb +26 -0
  355. data/app/views/alchemy/base/error_notice.html.erb +1 -0
  356. data/app/views/alchemy/base/error_notice.js.erb +2 -0
  357. data/app/views/alchemy/base/permission_denied.js.erb +3 -0
  358. data/app/views/alchemy/base/redirect.js.erb +12 -0
  359. data/app/views/alchemy/base/update.js.erb +5 -0
  360. data/app/views/alchemy/breadcrumb/_page.html.erb +16 -0
  361. data/app/views/alchemy/breadcrumb/_separator.html.erb +1 -0
  362. data/app/views/alchemy/breadcrumb/_wrapper.html.erb +13 -0
  363. data/app/views/alchemy/elements/_editor_not_found.html.erb +5 -0
  364. data/app/views/alchemy/elements/_view_not_found.html.erb +1 -0
  365. data/app/views/alchemy/elements/show.html.erb +1 -0
  366. data/app/views/alchemy/elements/show.js.erb +1 -0
  367. data/app/views/alchemy/essences/_essence_boolean_editor.html.erb +16 -0
  368. data/app/views/alchemy/essences/_essence_boolean_view.html.erb +3 -0
  369. data/app/views/alchemy/essences/_essence_date_editor.html.erb +19 -0
  370. data/app/views/alchemy/essences/_essence_date_view.html.erb +11 -0
  371. data/app/views/alchemy/essences/_essence_file_editor.html.erb +57 -0
  372. data/app/views/alchemy/essences/_essence_file_view.html.erb +10 -0
  373. data/app/views/alchemy/essences/_essence_html_editor.html.erb +9 -0
  374. data/app/views/alchemy/essences/_essence_html_view.html.erb +3 -0
  375. data/app/views/alchemy/essences/_essence_link_editor.html.erb +25 -0
  376. data/app/views/alchemy/essences/_essence_link_view.html.erb +11 -0
  377. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +59 -0
  378. data/app/views/alchemy/essences/_essence_picture_view.html.erb +5 -0
  379. data/app/views/alchemy/essences/_essence_richtext_editor.html.erb +13 -0
  380. data/app/views/alchemy/essences/_essence_richtext_view.html.erb +5 -0
  381. data/app/views/alchemy/essences/_essence_select_editor.html.erb +25 -0
  382. data/app/views/alchemy/essences/_essence_select_view.html.erb +3 -0
  383. data/app/views/alchemy/essences/_essence_text_editor.html.erb +18 -0
  384. data/app/views/alchemy/essences/_essence_text_view.html.erb +18 -0
  385. data/app/views/alchemy/essences/shared/_essence_picture_tools.html.erb +61 -0
  386. data/app/views/alchemy/essences/shared/_linkable_essence_tools.html.erb +19 -0
  387. data/app/views/alchemy/language_links/_language.html.erb +12 -0
  388. data/app/views/alchemy/language_links/_spacer.html.erb +1 -0
  389. data/app/views/alchemy/messages/contact_form_mail.de.text.erb +12 -0
  390. data/app/views/alchemy/messages/contact_form_mail.en.text.erb +12 -0
  391. data/app/views/alchemy/messages/contact_form_mail.es.text.erb +12 -0
  392. data/app/views/alchemy/messages/new.html.erb +1 -0
  393. data/app/views/alchemy/navigation/_image_link.html.erb +14 -0
  394. data/app/views/alchemy/navigation/_link.html.erb +20 -0
  395. data/app/views/alchemy/navigation/_renderer.html.erb +30 -0
  396. data/app/views/alchemy/pages/show.html.erb +1 -0
  397. data/app/views/alchemy/pages/show.rss.builder +20 -0
  398. data/app/views/alchemy/pages/sitemap.xml.erb +6 -0
  399. data/app/views/kaminari/alchemy/_first_page.html.erb +11 -0
  400. data/app/views/kaminari/alchemy/_gap.html.erb +8 -0
  401. data/app/views/kaminari/alchemy/_last_page.html.erb +11 -0
  402. data/app/views/kaminari/alchemy/_next_page.html.erb +13 -0
  403. data/app/views/kaminari/alchemy/_page.html.erb +14 -0
  404. data/app/views/kaminari/alchemy/_paginator.html.erb +23 -0
  405. data/app/views/kaminari/alchemy/_prev_page.html.erb +13 -0
  406. data/app/views/layouts/alchemy/admin.html.erb +109 -0
  407. data/app/views/layouts/alchemy/sitemap.xml.erb +4 -0
  408. data/bin/alchemy +267 -0
  409. data/bin/rails +8 -0
  410. data/config/alchemy/config.yml +189 -0
  411. data/config/alchemy/modules.yml +88 -0
  412. data/config/initializers/dragonfly.rb +25 -0
  413. data/config/initializers/simple_form.rb +144 -0
  414. data/config/locales/alchemy.de.yml +918 -0
  415. data/config/locales/alchemy.en.yml +920 -0
  416. data/config/locales/alchemy.es.yml +958 -0
  417. data/config/locales/alchemy.fr.yml +942 -0
  418. data/config/locales/alchemy.nl.yml +921 -0
  419. data/config/locales/alchemy.ru.yml +837 -0
  420. data/config/locales/simple_form.de.yml +26 -0
  421. data/config/locales/simple_form.en.yml +25 -0
  422. data/config/locales/simple_form.es.yml +6 -0
  423. data/config/locales/simple_form.fr.yml +26 -0
  424. data/config/locales/simple_form.nl.yml +25 -0
  425. data/config/locales/simple_form.ru.yml +25 -0
  426. data/config/routes.rb +164 -0
  427. data/db/migrate/20130827094554_alchemy_two_point_six.rb +380 -0
  428. data/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +5 -0
  429. data/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +5 -0
  430. data/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +5 -0
  431. data/lib/alchemy/auth_accessors.rb +104 -0
  432. data/lib/alchemy/cache_digests/template_tracker.rb +65 -0
  433. data/lib/alchemy/config.rb +65 -0
  434. data/lib/alchemy/configuration_methods.rb +29 -0
  435. data/lib/alchemy/controller_actions.rb +138 -0
  436. data/lib/alchemy/engine.rb +104 -0
  437. data/lib/alchemy/errors.rb +82 -0
  438. data/lib/alchemy/essence.rb +232 -0
  439. data/lib/alchemy/filetypes.rb +33 -0
  440. data/lib/alchemy/forms/builder.rb +23 -0
  441. data/lib/alchemy/hints.rb +57 -0
  442. data/lib/alchemy/i18n.rb +70 -0
  443. data/lib/alchemy/kaminari/scoped_pagination_url_helper.rb +13 -0
  444. data/lib/alchemy/locale.rb +65 -0
  445. data/lib/alchemy/logger.rb +15 -0
  446. data/lib/alchemy/middleware/rescue_old_cookies.rb +27 -0
  447. data/lib/alchemy/modules.rb +75 -0
  448. data/lib/alchemy/mount_point.rb +47 -0
  449. data/lib/alchemy/name_conversions.rb +28 -0
  450. data/lib/alchemy/on_page_layout.rb +58 -0
  451. data/lib/alchemy/page_layout.rb +183 -0
  452. data/lib/alchemy/permissions.rb +221 -0
  453. data/lib/alchemy/picture_attributes.rb +29 -0
  454. data/lib/alchemy/resource.rb +238 -0
  455. data/lib/alchemy/resources_helper.rb +135 -0
  456. data/lib/alchemy/routing_constraints.rb +49 -0
  457. data/lib/alchemy/seeder.rb +53 -0
  458. data/lib/alchemy/shell.rb +102 -0
  459. data/lib/alchemy/ssl_protection.rb +30 -0
  460. data/lib/alchemy/tasks/helpers.rb +83 -0
  461. data/lib/alchemy/test_support/controller_requests.rb +73 -0
  462. data/lib/alchemy/test_support/essence_shared_examples.rb +286 -0
  463. data/lib/alchemy/test_support/factories.rb +147 -0
  464. data/lib/alchemy/test_support/integration_helpers.rb +33 -0
  465. data/lib/alchemy/tinymce.rb +68 -0
  466. data/lib/alchemy/touching.rb +41 -0
  467. data/lib/alchemy/upgrader.rb +80 -0
  468. data/lib/alchemy/upgrader/three_point_one.rb +54 -0
  469. data/lib/alchemy/upgrader/three_point_two.rb +69 -0
  470. data/lib/alchemy/upgrader/three_point_zero.rb +93 -0
  471. data/lib/alchemy/userstamp.rb +10 -0
  472. data/lib/alchemy/version.rb +7 -0
  473. data/lib/alchemy_cms.rb +5 -0
  474. data/lib/rails/generators/alchemy/base.rb +41 -0
  475. data/lib/rails/generators/alchemy/elements/elements_generator.rb +37 -0
  476. data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +14 -0
  477. data/lib/rails/generators/alchemy/elements/templates/editor.html.haml +13 -0
  478. data/lib/rails/generators/alchemy/elements/templates/editor.html.slim +12 -0
  479. data/lib/rails/generators/alchemy/elements/templates/view.html.erb +27 -0
  480. data/lib/rails/generators/alchemy/elements/templates/view.html.haml +20 -0
  481. data/lib/rails/generators/alchemy/elements/templates/view.html.slim +20 -0
  482. data/lib/rails/generators/alchemy/essence/essence_generator.rb +52 -0
  483. data/lib/rails/generators/alchemy/essence/templates/editor.html.erb +17 -0
  484. data/lib/rails/generators/alchemy/essence/templates/view.html.erb +2 -0
  485. data/lib/rails/generators/alchemy/install/files/_article_editor.html.erb +5 -0
  486. data/lib/rails/generators/alchemy/install/files/_article_view.html.erb +7 -0
  487. data/lib/rails/generators/alchemy/install/files/_standard.html.erb +1 -0
  488. data/lib/rails/generators/alchemy/install/files/alchemy.de.yml +31 -0
  489. data/lib/rails/generators/alchemy/install/files/alchemy.elements.css.scss +30 -0
  490. data/lib/rails/generators/alchemy/install/files/alchemy.en.yml +31 -0
  491. data/lib/rails/generators/alchemy/install/files/alchemy.es.yml +31 -0
  492. data/lib/rails/generators/alchemy/install/files/application.html.erb +14 -0
  493. data/lib/rails/generators/alchemy/install/install_generator.rb +69 -0
  494. data/lib/rails/generators/alchemy/install/templates/elements.yml.tt +21 -0
  495. data/lib/rails/generators/alchemy/install/templates/page_layouts.yml.tt +10 -0
  496. data/lib/rails/generators/alchemy/module/module_generator.rb +30 -0
  497. data/lib/rails/generators/alchemy/module/templates/ability.rb.tt +11 -0
  498. data/lib/rails/generators/alchemy/module/templates/controller.rb.tt +2 -0
  499. data/lib/rails/generators/alchemy/module/templates/module_config.rb.tt +17 -0
  500. data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +24 -0
  501. data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.erb +1 -0
  502. data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.haml +1 -0
  503. data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.slim +1 -0
  504. data/lib/rails/generators/alchemy/site_layouts/site_layouts_generator.rb +23 -0
  505. data/lib/rails/generators/alchemy/site_layouts/templates/layout.html.erb +1 -0
  506. data/lib/rails/generators/alchemy/site_layouts/templates/layout.html.haml +1 -0
  507. data/lib/rails/generators/alchemy/site_layouts/templates/layout.html.slim +1 -0
  508. data/lib/rails/generators/alchemy/views/views_generator.rb +41 -0
  509. data/lib/rails/templates/alchemy.rb +7 -0
  510. data/lib/tasks/alchemy/convert.rake +39 -0
  511. data/lib/tasks/alchemy/db.rake +22 -0
  512. data/lib/tasks/alchemy/install.rake +61 -0
  513. data/lib/tasks/alchemy/tidy.rake +102 -0
  514. data/lib/tasks/alchemy/upgrade.rake +28 -0
  515. data/spec/controllers/admin/attachments_controller_spec.rb +211 -0
  516. data/spec/controllers/admin/base_controller_spec.rb +74 -0
  517. data/spec/controllers/admin/clipboard_controller_spec.rb +60 -0
  518. data/spec/controllers/admin/contents_controller_spec.rb +72 -0
  519. data/spec/controllers/admin/dashboard_controller_spec.rb +139 -0
  520. data/spec/controllers/admin/elements_controller_spec.rb +473 -0
  521. data/spec/controllers/admin/essence_files_controller_spec.rb +71 -0
  522. data/spec/controllers/admin/essence_pictures_controller_spec.rb +202 -0
  523. data/spec/controllers/admin/languages_controller_spec.rb +61 -0
  524. data/spec/controllers/admin/layoutpages_controller_spec.rb +27 -0
  525. data/spec/controllers/admin/pages_controller_spec.rb +553 -0
  526. data/spec/controllers/admin/pictures_controller_spec.rb +358 -0
  527. data/spec/controllers/admin/resources_controller_spec.rb +53 -0
  528. data/spec/controllers/admin/trash_controller_spec.rb +68 -0
  529. data/spec/controllers/alchemy/admin/tags_controller_spec.rb +63 -0
  530. data/spec/controllers/alchemy/api/contents_controller_spec.rb +126 -0
  531. data/spec/controllers/alchemy/api/elements_controller_spec.rb +125 -0
  532. data/spec/controllers/alchemy/api/pages_controller_spec.rb +134 -0
  533. data/spec/controllers/attachments_controller_spec.rb +64 -0
  534. data/spec/controllers/base_controller_spec.rb +51 -0
  535. data/spec/controllers/elements_controller_spec.rb +48 -0
  536. data/spec/controllers/messages_controller_spec.rb +199 -0
  537. data/spec/controllers/pages_controller_spec.rb +265 -0
  538. data/spec/controllers/pictures_controller_spec.rb +393 -0
  539. data/spec/dummy/Rakefile +6 -0
  540. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  541. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  542. data/spec/dummy/app/controllers/admin/events_controller.rb +3 -0
  543. data/spec/dummy/app/controllers/application_controller.rb +15 -0
  544. data/spec/dummy/app/controllers/login_controller.rb +5 -0
  545. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  546. data/spec/dummy/app/mailers/.gitkeep +0 -0
  547. data/spec/dummy/app/models/ability.rb +9 -0
  548. data/spec/dummy/app/models/dummy_model.rb +3 -0
  549. data/spec/dummy/app/models/dummy_user.rb +11 -0
  550. data/spec/dummy/app/models/event.rb +10 -0
  551. data/spec/dummy/app/models/location.rb +3 -0
  552. data/spec/dummy/app/views/alchemy/elements/_all_you_can_eat_editor.html.erb +11 -0
  553. data/spec/dummy/app/views/alchemy/elements/_article_editor.html.erb +10 -0
  554. data/spec/dummy/app/views/alchemy/elements/_article_view.html.erb +25 -0
  555. data/spec/dummy/app/views/alchemy/elements/_headline_editor.html.erb +1 -0
  556. data/spec/dummy/app/views/alchemy/elements/_headline_view.html.erb +1 -0
  557. data/spec/dummy/app/views/alchemy/elements/_news_view.html.erb +11 -0
  558. data/spec/dummy/app/views/alchemy/page_layouts/_standard.html.erb +14 -0
  559. data/spec/dummy/app/views/layouts/application.html.erb +17 -0
  560. data/spec/dummy/bin/bundle +3 -0
  561. data/spec/dummy/bin/rails +4 -0
  562. data/spec/dummy/bin/rake +4 -0
  563. data/spec/dummy/config.ru +4 -0
  564. data/spec/dummy/config/alchemy/cells.yml +5 -0
  565. data/spec/dummy/config/alchemy/elements.yml +112 -0
  566. data/spec/dummy/config/alchemy/page_layouts.yml +32 -0
  567. data/spec/dummy/config/application.rb +32 -0
  568. data/spec/dummy/config/boot.rb +5 -0
  569. data/spec/dummy/config/database.yml +32 -0
  570. data/spec/dummy/config/environment.rb +5 -0
  571. data/spec/dummy/config/environments/development.rb +41 -0
  572. data/spec/dummy/config/environments/production.rb +77 -0
  573. data/spec/dummy/config/environments/test.rb +43 -0
  574. data/spec/dummy/config/initializers/alchemy.rb +2 -0
  575. data/spec/dummy/config/initializers/assets.rb +11 -0
  576. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  577. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  578. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  579. data/spec/dummy/config/initializers/inflections.rb +16 -0
  580. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  581. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  582. data/spec/dummy/config/initializers/session_store.rb +3 -0
  583. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  584. data/spec/dummy/config/routes.rb +12 -0
  585. data/spec/dummy/config/secrets.yml +22 -0
  586. data/spec/dummy/db/migrate/20121026104128_create_events.rb +20 -0
  587. data/spec/dummy/db/migrate/20130328101418_create_locations.rb +9 -0
  588. data/spec/dummy/db/migrate/20130827094554_alchemy_two_point_six.rb +380 -0
  589. data/spec/dummy/db/migrate/20130828121054_remove_do_not_index_from_alchemy_essence_texts.rb +5 -0
  590. data/spec/dummy/db/migrate/20130828121120_remove_do_not_index_from_alchemy_essence_richtexts.rb +5 -0
  591. data/spec/dummy/db/migrate/20130918201742_add_published_at_to_alchemy_pages.rb +5 -0
  592. data/spec/dummy/db/migrate/20131209225243_create_dummy_users.rb +9 -0
  593. data/spec/dummy/db/migrate/20150122213511_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
  594. data/spec/dummy/db/migrate/20150122213512_add_missing_unique_indices.acts_as_taggable_on_engine.rb +20 -0
  595. data/spec/dummy/db/migrate/20150122213513_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  596. data/spec/dummy/db/migrate/20150122213514_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  597. data/spec/dummy/db/migrate/20150412103152_create_dummy_model.rb +7 -0
  598. data/spec/dummy/db/schema.rb +322 -0
  599. data/spec/dummy/db/seeds.rb +1 -0
  600. data/spec/dummy/lib/assets/.gitkeep +0 -0
  601. data/spec/dummy/public/404.html +67 -0
  602. data/spec/dummy/public/422.html +67 -0
  603. data/spec/dummy/public/500.html +66 -0
  604. data/spec/dummy/public/favicon.ico +0 -0
  605. data/spec/features/admin/dashboard_spec.rb +82 -0
  606. data/spec/features/admin/language_tree_feature_spec.rb +33 -0
  607. data/spec/features/admin/legacy_page_url_management_spec.rb +62 -0
  608. data/spec/features/admin/link_overlay_spec.rb +54 -0
  609. data/spec/features/admin/locale_select_feature_spec.rb +25 -0
  610. data/spec/features/admin/modules_integration_spec.rb +24 -0
  611. data/spec/features/admin/navigation_feature_spec.rb +13 -0
  612. data/spec/features/admin/page_creation_feature_spec.rb +51 -0
  613. data/spec/features/admin/page_editing_feature_spec.rb +135 -0
  614. data/spec/features/admin/picture_library_integration_spec.rb +62 -0
  615. data/spec/features/admin/resources_integration_spec.rb +133 -0
  616. data/spec/features/admin/site_select_feature_spec.rb +32 -0
  617. data/spec/features/admin/tinymce_feature_spec.rb +34 -0
  618. data/spec/features/navigation_spec.rb +9 -0
  619. data/spec/features/page_feature_spec.rb +287 -0
  620. data/spec/features/picture_security_spec.rb +35 -0
  621. data/spec/features/security_spec.rb +24 -0
  622. data/spec/features/translation_integration_spec.rb +51 -0
  623. data/spec/fixtures/500x500.png +0 -0
  624. data/spec/fixtures/80x60.png +0 -0
  625. data/spec/fixtures/image with spaces.png +0 -0
  626. data/spec/fixtures/image.png +0 -0
  627. data/spec/fixtures/image2.PNG +0 -0
  628. data/spec/fixtures/image3.jpeg +0 -0
  629. data/spec/helpers/admin/attachments_helper_spec.rb +15 -0
  630. data/spec/helpers/admin/base_helper_spec.rb +270 -0
  631. data/spec/helpers/admin/contents_helper_spec.rb +65 -0
  632. data/spec/helpers/admin/elements_helper_spec.rb +178 -0
  633. data/spec/helpers/admin/essences_helper_spec.rb +140 -0
  634. data/spec/helpers/admin/navigation_helper_spec.rb +288 -0
  635. data/spec/helpers/admin/pages_helper_spec.rb +95 -0
  636. data/spec/helpers/admin/pictures_helper_spec.rb +29 -0
  637. data/spec/helpers/admin/tags_helper_spec.rb +113 -0
  638. data/spec/helpers/base_helper_spec.rb +45 -0
  639. data/spec/helpers/elements_block_helper_spec.rb +135 -0
  640. data/spec/helpers/elements_helper_spec.rb +311 -0
  641. data/spec/helpers/essences_helper_spec.rb +156 -0
  642. data/spec/helpers/pages_helper_spec.rb +413 -0
  643. data/spec/helpers/picture_url_helpers_spec.rb +35 -0
  644. data/spec/helpers/url_helper_spec.rb +174 -0
  645. data/spec/javascripts/alchemy/dialog_spec.coffee +82 -0
  646. data/spec/javascripts/alchemy/link_overlay_spec.coffee +25 -0
  647. data/spec/javascripts/alchemy_integration_spec.coffee +3 -0
  648. data/spec/javascripts/fixtures/select.html +3 -0
  649. data/spec/javascripts/helpers/mock-ajax.js +199 -0
  650. data/spec/javascripts/helpers/test_responses/test_responses.js +1 -0
  651. data/spec/javascripts/support/jasmine.yml +29 -0
  652. data/spec/libraries/auth_accessors_spec.rb +40 -0
  653. data/spec/libraries/config_spec.rb +112 -0
  654. data/spec/libraries/controller_actions_spec.rb +133 -0
  655. data/spec/libraries/i18n_spec.rb +30 -0
  656. data/spec/libraries/kaminari/scoped_pagination_url_helper_spec.rb +30 -0
  657. data/spec/libraries/modules_spec.rb +67 -0
  658. data/spec/libraries/mount_point_spec.rb +77 -0
  659. data/spec/libraries/on_page_layout_spec.rb +112 -0
  660. data/spec/libraries/page_layout_spec.rb +144 -0
  661. data/spec/libraries/permissions_spec.rb +261 -0
  662. data/spec/libraries/resource_spec.rb +371 -0
  663. data/spec/libraries/resources_helper_spec.rb +144 -0
  664. data/spec/libraries/shell_spec.rb +125 -0
  665. data/spec/libraries/template_tracker_spec.rb +94 -0
  666. data/spec/libraries/tinymce_spec.rb +67 -0
  667. data/spec/libraries/userstamp_spec.rb +10 -0
  668. data/spec/mailers/messages_spec.rb +23 -0
  669. data/spec/models/attachment_spec.rb +227 -0
  670. data/spec/models/cell_spec.rb +102 -0
  671. data/spec/models/content_spec.rb +404 -0
  672. data/spec/models/dummy_model_spec.rb +11 -0
  673. data/spec/models/element_spec.rb +617 -0
  674. data/spec/models/element_to_page_spec.rb +14 -0
  675. data/spec/models/essence_boolean_spec.rb +10 -0
  676. data/spec/models/essence_date_spec.rb +29 -0
  677. data/spec/models/essence_file_spec.rb +43 -0
  678. data/spec/models/essence_html_spec.rb +18 -0
  679. data/spec/models/essence_link_spec.rb +10 -0
  680. data/spec/models/essence_picture_spec.rb +183 -0
  681. data/spec/models/essence_richtext_spec.rb +18 -0
  682. data/spec/models/essence_select_spec.rb +10 -0
  683. data/spec/models/essence_text_spec.rb +114 -0
  684. data/spec/models/language_spec.rb +123 -0
  685. data/spec/models/legacy_page_url_spec.rb +21 -0
  686. data/spec/models/message_spec.rb +55 -0
  687. data/spec/models/page_spec.rb +1896 -0
  688. data/spec/models/picture_spec.rb +330 -0
  689. data/spec/models/site_spec.rb +233 -0
  690. data/spec/models/tag_spec.rb +31 -0
  691. data/spec/routing/api_routing_spec.rb +150 -0
  692. data/spec/routing/routing_spec.rb +234 -0
  693. data/spec/spec_helper.rb +89 -0
  694. data/spec/support/ci/install_phantomjs +7 -0
  695. data/spec/support/hint_examples.rb +30 -0
  696. data/spec/support/rspec-activemodel-mocks_patch.rb +8 -0
  697. data/spec/support/test_tweaks.rb +31 -0
  698. data/spec/support/transformation_examples.rb +180 -0
  699. data/spec/tasks/helpers_spec.rb +219 -0
  700. data/spec/views/essences/essence_boolean_editor_spec.rb +33 -0
  701. data/spec/views/essences/essence_boolean_view_spec.rb +25 -0
  702. data/spec/views/essences/essence_date_view_spec.rb +39 -0
  703. data/spec/views/essences/essence_file_editor_spec.rb +61 -0
  704. data/spec/views/essences/essence_file_view_spec.rb +24 -0
  705. data/spec/views/essences/essence_html_view_spec.rb +22 -0
  706. data/spec/views/essences/essence_link_view_spec.rb +41 -0
  707. data/spec/views/essences/essence_picture_view_spec.rb +129 -0
  708. data/spec/views/essences/essence_richtext_view_spec.rb +32 -0
  709. data/spec/views/essences/essence_select_view_spec.rb +12 -0
  710. data/spec/views/essences/essence_text_view_spec.rb +52 -0
  711. data/vendor/assets/images/Jcrop.gif +0 -0
  712. data/vendor/assets/javascripts/fileupload/jquery.fileupload-process.js +175 -0
  713. data/vendor/assets/javascripts/fileupload/jquery.fileupload-validate.js +122 -0
  714. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +1467 -0
  715. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +217 -0
  716. data/vendor/assets/javascripts/jquery_plugins/jquery.Jcrop.min.js +22 -0
  717. data/vendor/assets/javascripts/jquery_plugins/jquery.floatThead.min.js +3 -0
  718. data/vendor/assets/javascripts/jquery_plugins/jquery.scrollTo.min.js +7 -0
  719. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.nestedSortable.js +435 -0
  720. data/vendor/assets/javascripts/jquery_plugins/jquery.ui.tabspaging.js +296 -0
  721. data/vendor/assets/javascripts/keymaster.js +296 -0
  722. data/vendor/assets/javascripts/requestAnimationFrame.js +31 -0
  723. data/vendor/assets/javascripts/spin.min.js +1 -0
  724. data/vendor/assets/javascripts/tinymce/langs/de.js +200 -0
  725. data/vendor/assets/javascripts/tinymce/langs/es.js +200 -0
  726. data/vendor/assets/javascripts/tinymce/langs/fr.js +200 -0
  727. data/vendor/assets/javascripts/tinymce/langs/nl.js +200 -0
  728. data/vendor/assets/javascripts/tinymce/langs/ru.js +200 -0
  729. data/vendor/assets/javascripts/tinymce/license.txt +504 -0
  730. data/vendor/assets/javascripts/tinymce/plugins/anchor/plugin.min.js +1 -0
  731. data/vendor/assets/javascripts/tinymce/plugins/autoresize/plugin.min.js +1 -0
  732. data/vendor/assets/javascripts/tinymce/plugins/charmap/plugin.min.js +1 -0
  733. data/vendor/assets/javascripts/tinymce/plugins/code/plugin.min.js +1 -0
  734. data/vendor/assets/javascripts/tinymce/plugins/directionality/plugin.min.js +1 -0
  735. data/vendor/assets/javascripts/tinymce/plugins/fullscreen/plugin.min.js +1 -0
  736. data/vendor/assets/javascripts/tinymce/plugins/hr/plugin.min.js +1 -0
  737. data/vendor/assets/javascripts/tinymce/plugins/link/plugin.min.js +1 -0
  738. data/vendor/assets/javascripts/tinymce/plugins/paste/plugin.min.js +1 -0
  739. data/vendor/assets/javascripts/tinymce/plugins/tabfocus/plugin.min.js +1 -0
  740. data/vendor/assets/javascripts/tinymce/plugins/table/plugin.min.js +1 -0
  741. data/vendor/assets/javascripts/tinymce/themes/modern/theme.min.js +1 -0
  742. data/vendor/assets/javascripts/tinymce/tinymce.min.js +13 -0
  743. data/vendor/assets/stylesheets/jquery.Jcrop.min.css +28 -0
  744. metadata +1453 -0
@@ -0,0 +1,958 @@
1
+ # encoding: UTF-8
2
+
3
+ es:
4
+
5
+ # = Alchemy Translations
6
+ # All translations used in Alchemy CMS are inside this alchemy namespace.
7
+ alchemy:
8
+
9
+ # == Translations for page_layout names
10
+ # Just use the page_layouts name like defined inside the config/alchemy/page_layouts.yml file and translate it.
11
+ #
12
+ # Example:
13
+ #
14
+ # es:
15
+ # alchemy:
16
+ # page_layout_names:
17
+ # contact: Contacto
18
+ # search: Buscar
19
+ #
20
+ page_layout_names:
21
+
22
+ # == Translations for element names
23
+ # Just use the elements name like defined inside the config/alchemy/elements.yml file and translate it.
24
+ #
25
+ # Example:
26
+ #
27
+ # es:
28
+ # alchemy:
29
+ # element_names:
30
+ # article: Article
31
+ # contactform: Contact form
32
+ #
33
+ element_names:
34
+
35
+ # == Translated names for contents in elements.
36
+ # Used for the content editor label inside the element editor view (The elements window)
37
+ #
38
+ # Tip: You can translate content names globally for all contents of this name, or specificly for an element.
39
+ # To do so, just place the content_name under the element name
40
+ #
41
+ # Example:
42
+ #
43
+ # es:
44
+ # alchemy:
45
+ # content_names:
46
+ # headline: Titular
47
+ # news_article:
48
+ # headline: Titular de noticia
49
+ # image_caption: Subtítulo
50
+ # show_caption: Subtítulo de programa
51
+ #
52
+ content_names:
53
+
54
+ # === Translations for content validations
55
+ # Used when a user did not enter (correct) values to the content field.
56
+ #
57
+ # Tip: You can define the validation messages translations different for each element and content
58
+ #
59
+ # Example:
60
+ #
61
+ # es:
62
+ # alchemy:
63
+ # content_validations:
64
+ # contactform:
65
+ # success_page:
66
+ # blank: 'Por favor elige una página para mostrar.'
67
+ # mail_to:
68
+ # blank: 'Por favor proporciona una dirección de correo donde entregar las consultas de contacto.'
69
+ #
70
+ content_validations:
71
+ errors:
72
+ blank: "%{field} no puede estar en blanco"
73
+ invalid: '%{field} tiene un formato incorrecto '
74
+ taken: '%{field} ya está en uso'
75
+
76
+ default_content_texts:
77
+ lorem: "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
78
+ corporate_lorem: "Appropriately enable sustainable growth strategies vis-a-vis holistic materials. Energistically orchestrate open-source e-tailers vis-a-vis plug-and-play best practices. Uniquely plagiarize client-centric opportunities whereas plug-and-play ideas. Distinctively reconceptualize backward-compatible partnerships vis-a-vis reliable total linkage. Interactively fabricate highly efficient networks for clicks-and-mortar content. Collaboratively reconceptualize holistic markets via 2.0 architectures."
79
+
80
+ essence_pictures:
81
+ css_classes:
82
+ left: 'A la izquierda'
83
+ right: 'A la derecha'
84
+ no_float: 'Encima'
85
+
86
+ # == Contactform translations
87
+ contactform:
88
+ labels:
89
+ salutation: 'Tratamiento'
90
+ choose: 'Por favor elige'
91
+ mr: 'Sr.'
92
+ mrs: 'Sra.'
93
+ firstname: 'Nombre'
94
+ lastname: 'Apellido'
95
+ address: 'Calle / Nº'
96
+ zip: 'Código Postal / Ciudad'
97
+ phone: 'Teléfono'
98
+ email: 'Correo'
99
+ message: 'Mensaje'
100
+ send: 'Enviar'
101
+ mandatory_fields: '* Campo obligatorio.'
102
+ # The flash message shown after successfully sending the message.
103
+ messages:
104
+ success: 'Su mensaje se ha enviado con éxito.'
105
+
106
+ # == Translated language names for translation select
107
+ translations:
108
+ de: 'DE'
109
+ en: 'EN'
110
+ nl: 'NL'
111
+ fr: 'FR'
112
+ es: 'ES'
113
+
114
+ # == User roles translations
115
+ user_roles:
116
+ registered: "Registrado"
117
+ member: "Miembro"
118
+ author: "Autor"
119
+ editor: "Editor"
120
+ admin: "Administrador"
121
+
122
+ # == Mime Types translations
123
+ # These are human readable mime types used for the document-type row in archive files.
124
+ mime_types:
125
+ audio/mp4: 'Audio MP4'
126
+ application/msword: 'Documento de Word'
127
+ application/rtf: 'Documento RTF'
128
+ audio/mpeg: 'Audio MP3'
129
+ text/plain: 'Documento de texto'
130
+ video/mp4: 'Video MP4'
131
+ video/mpeg: 'Video MPEG'
132
+ application/pdf: 'Documento PDF'
133
+ application/x-flash-video: 'Video de Flash'
134
+ video/x-flv: 'Video de Flash'
135
+ application/x-shockwave-flash: 'Video de Flash'
136
+ application/zip: 'Archivo ZIP'
137
+ application/x-rar: 'Archivo RAR'
138
+ application/vnd:
139
+ ms-excel: 'Documento Excel'
140
+ video/quicktime: 'Video de Quicktime'
141
+ image/x-psd: 'Archivo de Photoshop'
142
+ image/gif: 'Imagen GIF'
143
+ image/png: 'Imagen PNG'
144
+ image/jpeg: 'Imagen JPG'
145
+ video/x-msvideo: 'Video AVI'
146
+ video/x-ms-wmv: 'Windows Media Video'
147
+ image/tiff: 'Imagen TIFF'
148
+ 'text/x-vcard': 'vCard'
149
+ application/vcard: 'vCard'
150
+
151
+ link_target_options:
152
+ default: Misma ventana
153
+ blank: Nueva ventana / pestaña
154
+ overlay: Capa superpuesta
155
+
156
+ resource_help_texts:
157
+ site:
158
+ aliases: Por favor separa con espacios o en una nueva línea los dominios adicionales.
159
+
160
+ anchor: 'Ancla'
161
+ back: 'Atras'
162
+ create_tree_as_new_language: "Crear %{language} como nuevo árbol de idioma"
163
+ "Active Pages": "Páginas activas"
164
+ "Add global page": "Añadir página global"
165
+ "Add page link": "Añadir redirección"
166
+ "Adobe Website": "Sitio web de Adobe"
167
+ "Alchemy is open software and itself uses open software and free resources:": "Alchemy es un software abierto que utiliza software abierto y recursos libres:"
168
+ "Alchemy is up to date": 'Alchemy está actualizado'
169
+ 'An error happened': 'Ha ocurrido un error'
170
+ "Change password": "Cambiar contraseña"
171
+ "Choose page": "Elige una página"
172
+ "Cleared trash": "Papelera vacíada"
173
+ "Clear selection": "Limpiar selección"
174
+ "Forgot your password?": "¿Olvidaste la contraseña?"
175
+ "Clipboard": "Portapapeles"
176
+ "Confirm new password": "Confirmar nueva contraseña"
177
+ "Copy": "Copiar"
178
+ "Could not load Adobe Flash® Plugin!": "No se pudo cargar el plugin de Adobe Flash Player!"
179
+ "Currently locked pages": "Páginas actualmente bloqueadas"
180
+ "Default language has to be public": "El idioma por defecto tiene que ser público"
181
+ "Delete image": "Eliminar imagen"
182
+ "Do you really want to clear the clipboard?": "¿Deseas realmente vaciar el portapapeles?"
183
+ "Do you really want to clear the trash?": "¿Deseas realmente vaciar la papelera?"
184
+ "Do you really want to delete this content?": "¿Deseas realmente eliminar este contenido?"
185
+ "Drag an element over to the element window to restore it": "Arrastra un elemento a la ventana de elementos para restaurarlo"
186
+ "Edit Picturemask": "Editar máscara de la imagen"
187
+ "Edit image": "Editar imagen"
188
+ "Edit multiple pictures": "Editar multiples imágenes"
189
+ "Elements": "Elementos"
190
+ "Element trashed": "Elementos eliminados"
191
+ "Error with the Flash® Uploader!": "Error con Flash Uploader!"
192
+ "Excerpt": "Extracto"
193
+ "File uploaded succesfully": "Archivo %{name} subido correctamente"
194
+ "File successfully updated": "Archivo actualizado correctamente"
195
+ "File upload error": "Error al subir archivo: %{error}"
196
+ "File deleted successfully": "%{name} se ha eliminado"
197
+ "Filter": Filtrar
198
+ "Filter by tag": "Filtrar por etiqueta"
199
+ "Flush page cache": "Vaciar cache de páginas"
200
+ "Flush picture cache": "Vaciar cache de imagenes"
201
+ "Global shortcuts": "Comandos globales"
202
+ "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}"
205
+ "Image missing": "Imagen perdida"
206
+ "Image size": "Tamaño de las imágenes"
207
+ "Language successfully created": "Idioma creado correctamente."
208
+ "Language successfully removed": "Idioma eliminado correctamente."
209
+ "Language successfully updated": "Idioma actualizado correctamente."
210
+ "Language tree": "Árbol de idiomas"
211
+ "Layout default": "Según diseño"
212
+ "Library shortcuts": "Comandos de la librería"
213
+ "Logged in as": "Conectado como"
214
+ "Mandatory": "Campos obligatorios"
215
+ "Name": "Nombre"
216
+ "New": "Nuevo"
217
+ "New Element": "Nuevo elemento"
218
+ "New page": "Nueva página"
219
+ "No page links for this page found": "No hay redirecciones para esta página"
220
+ "New password": "Nueva contraseña"
221
+ "New Tag": "Nueva etiqueta"
222
+ "New Tag Created": "Nueva etiqueta creada"
223
+ "No": "No"
224
+ "No items in your clipboard": "Sin artículos en el portapapeles"
225
+ "No Tags found": "No se han encontrado etiquetas"
226
+ "None": "Ninguno"
227
+ "Open Link in": "Abrir enlace en"
228
+ "Page": "Página"
229
+ "Page edit shortcuts": "Comandos de edición de página"
230
+ "Page deleted": "%{name} eliminada"
231
+ "Page saved": "%{name} guardada"
232
+ "Page cache flushed": "Cache de páginas vaciada"
233
+ "Pages order saved": "Orden de las páginas guardado"
234
+ "Password": "Contraseña"
235
+ "Password reset": "Restablecer contraseña"
236
+ "Paste from clipboard": "Pegar del portapapeles"
237
+ "Picture infos": "Detalles de la imagen"
238
+ "Picture uploaded succesfully": "Imagen %{name} subida correctamente"
239
+ "Picture validation error": "Error al cargar %{name}"
240
+ "Picture renamed successfully": "Imagen renombrada correctamente de %{from} a %{to}"
241
+ "Picture deleted successfully": "Imagen %{name} eliminada correctamente"
242
+ "Pictures updated successfully": "Imágenes actualizadas correctamente"
243
+ "Picture cache flushed": "Cache de imágenes vaciada"
244
+ "Please Signup": "Por favor inicia sesión para editar tu web."
245
+ "Please choose": "Por favor selecciona"
246
+ "Please enter a new password": "Por favor introduce una nueva contraseña."
247
+ "Please enter your email address": "Por favor introduce tu dirección de email."
248
+ "Please log in": "Por favor inicia sesión."
249
+ "Please seperate the tags with commata": "* Por favor separa las etiquetas con comas."
250
+ "Properties": "Propiedades"
251
+ "Publish page": "Publicar página"
252
+ "Read the License": "Leer la Licencia"
253
+ "Redirects to": "Redirige a"
254
+ "Reload Preview": "Recargar vista previa"
255
+ "Remove item from clipboard": "Quitar elemento del portapapeles"
256
+ "Remove tag filter": "Quitar filtro de etiquetas"
257
+ "Remove this content": "Quitar este contenido"
258
+ "Reset Imagemask": "Reiniciar máscara de imagen"
259
+ "Reset password instructions": "Instrucciones para restablecer la contraseña"
260
+ "Select all": "Seleccionar todo"
261
+ "Select an content": "Seleccionar contenido"
262
+ "Select style": "Seleccionar estilo"
263
+ "Send reset instructions": "Enviar instrucciones para restablecer"
264
+ "Show Elements": "Mostrar elementos"
265
+ "Show childpages": "Mostrar páginas hijas"
266
+ "Show clipboard": "Mostrar portapapeles"
267
+ "Show picture infos": "Mostrar información de la imagen"
268
+ "Show trash": "Mostrar papelera"
269
+ "Site successfully created": "Sitio web creado correctamente."
270
+ "Site successfully removed": "Sitio web eliminado correctamente."
271
+ "Site successfully updated": "Sitio web actualizado correctamente."
272
+ "Size": "Tamaño"
273
+ "Sort pages": "Ordenar páginas"
274
+ "Successfully added content": "%{content} añadido correctamente"
275
+ "Successfully deleted content": "%{content} eliminado correctamente"
276
+ "Successfully saved content position": "Posición del contenido guardada correctamente"
277
+ "Tags": "Etiquetas"
278
+ "These pictures could not be deleted, because they were in use": "Estas imágenes no se pueden eliminar porque están en uso: %{names}"
279
+ "This page is locked": "Esta página está actualmente bloqueada por %{name}"
280
+ "Title": "Título"
281
+ "Trash": "Papelera"
282
+ "User created": "%{name} usuario creado"
283
+ "User deleted": "%{name} usuario eliminado"
284
+ "User updated": "%{name} usuario actualizado"
285
+ "Validation failed": "Fallo de validación"
286
+ "Version": "Versión"
287
+ "View File": "Ver archivo"
288
+ "Visit page": "Visitar página"
289
+ "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."
292
+ "Welcome to Alchemy": "Bienvenido a Alchemy"
293
+ "Who else is online": "Quien más está conectado"
294
+ "Yes": "Sí"
295
+ "You are not authorized": "No estas autorizado"
296
+ "You are about to edit many pictures at once": "Vas a editar %{length} imágenes a la vez"
297
+ 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
+ "Your last login was on": "Tu última conexión fue el %{time}."
301
+ "Your last updated pages": "Tus últimas páginas actualizadas"
302
+ "Your trash is empty": "La papelera está vacía"
303
+ above: "Encima"
304
+ add: "Añadir"
305
+ "add new content": "Añadir nuevo contenido"
306
+ add_image_to_element: "Añadir una imagen"
307
+ align_in_text: "Alineación de texto"
308
+ all: "Todo"
309
+ all_pictures: "Todas las imágenes"
310
+ apply: "Aplicar"
311
+ assign_file: "Asignar un archivo"
312
+ assign_file_from_archive: "Asigna un archivo de tu librería"
313
+ assign_image: "Asignar una imagen"
314
+ attachment_filename_notice: "* Por favor no uses ningún caracter especial para el nombre del archivo."
315
+ auto_play: "Reproducir video después de cargar"
316
+ big_thumbnails: "Miniaturas grandes"
317
+ browse: "examinar"
318
+ cancel: "cancelar"
319
+ cannot_delete_picture_notice: "No se puede eliminar %{name}, porque sigue en uso."
320
+ choose_element_as_target: "Por favor elige un elemento como destino"
321
+ choose_element_to_link: "Por favor elige un elemento"
322
+ choose_file_to_link: "Por favor elige un archivo para enlazar"
323
+ "clear clipboard": "vaciar portapapeles"
324
+ "clear trash": "vaciar papelera"
325
+ click_to_show_all: "Pulsa para mostrar todo de nuevo."
326
+ confirm_to_delete_file: "¿Realmente desea eliminar este archivo del servidor?"
327
+ confirm_to_delete_image: "¿Realmente desea eliminar esta imagen del servidor?"
328
+ confirm_to_delete_image_from_server: "¿Realmente desea eliminar esta imagen del servidor?"
329
+ confirm_to_delete_images_from_server: "¿Realmente desea eliminar estas imágenes del servidor?"
330
+ confirm_to_delete_page: "¿Realmente desea eliminar esta página? ¡Todos los elementos se perderán!"
331
+ content_essence_not_found: "Esencia del contenido no encontrada"
332
+ content_not_found: "Campo para el contenido no presente."
333
+ content_validations_headline: "Por favor compruebe los campos marcados abajo"
334
+ copy: "copiar"
335
+ copy_element: "Copiar este elemento"
336
+ copy_page: "Copiar página"
337
+ "Could not delete Pictures": "No se puede eliminar las imágenes"
338
+ copy_language_tree_heading: "Copiar árbol de páginas"
339
+ country_code_placeholder: 'i.e. es (opcional)'
340
+ country_code_foot_note: "Solo es necesario establecer un código de país si desea establecer cada país con su idioma."
341
+ create: "Crear"
342
+ "Create language": "Crear un nuevo idioma"
343
+ "Create site": "Crear un nuevo sitio"
344
+ create_language_tree_heading: "Crear árbol de idioma vacío"
345
+ create_page: "Crear una nueva sub-página"
346
+ currently_edited_by: "Esta página está bloqueada por"
347
+ cut_element: "Cortar este elemento."
348
+ delete_file: "Eliminar este archivo del servidor."
349
+ delete_image: "Eliminar esta imagen"
350
+ delete_language: "Eliminar este idioma"
351
+ delete_page: "Eliminar esta página"
352
+ delete_tag: 'Eliminar etiqueta'
353
+ document: "Archivo"
354
+ documents: "archivos"
355
+ download_csv: "Descargar CSV"
356
+ download_file: "Descargar archivo '%{filename}'"
357
+ do_you_really_want_to_delete_this_tag?: "¿Deseas realmente eliminar esta etiqueta?"
358
+ drag_to_sort: "Arrastra para ordenar las imágenes"
359
+ edit_file_properties: "Editar propiedades del archivo."
360
+ edit_image_properties: "Editar propiedades de la imagen."
361
+ edit_language: "Editar idioma"
362
+ edit_page: "Editar página"
363
+ edit_page_properties: "Editar propiedades de la página"
364
+ edit_tag: 'Editar etiquetas'
365
+ edit_selected_pictures: "Editar imágenes seleccionadas"
366
+ element_editor_not_found: "Error dentro de este elemento"
367
+ element_of_type: "Elemento"
368
+ element_saved: "Elemento guardado."
369
+ enter_external_link: "Por favor introduce la URL con la que quieres enlazar"
370
+ explain_cropping: "<p>Mueve el marco y cambia el tamaño para ajustar la sección de la imagen.</p><p>Pulsa en aplicar cuando estes satisfecho.</p>"
371
+ explain_publishing: "Publicar la página y eliminar la versión cacheada del servidor."
372
+ explain_sitemap_dragndrop_sorting: "Consejo: Arrastra las páginas desde el icono para ordenarlas."
373
+ 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
+ external_link_notice_1: "Por favor introduce la URL completa con http:// o un protocolo similar."
382
+ external_link_notice_2: "Para enlazar a una ruta de tu sitio web, empieza con una /."
383
+ female: "Femenino"
384
+ file: "Archivo"
385
+ file_rename_error: "Error renombrando el archivo."
386
+ files: "archivos"
387
+ from_at: "Por %{by} el %{at}"
388
+ height: "Altura"
389
+ help:
390
+ shortcuts:
391
+ "Open help window": "Abrir ventana de ayuda"
392
+ "Close current dialog": "Cerrar el diálogo actual"
393
+ "Open logout dialog": "Abrir diálogo de cierre de sesión"
394
+ "Focus search field": "Foco sobre el campo de búsqueda"
395
+ "Create a new record": "Crear un nuevo registro"
396
+ "Show page infos": "Mostrar información de la página"
397
+ "Create new element": "Crear nuevo elemento"
398
+ "Edit page properties": "Editar propiedades de la página"
399
+ "Reload the preview": "Recargar la vista previa"
400
+ "Leave the page": "Salir de la página"
401
+ "Open upload form": "Abrir formulario de subida"
402
+ "Select all pictures": "Seleccionar todas las imágenes"
403
+ hide_element_content: "Ocultar los contenidos del elemento."
404
+ dashboard: "Pizarra"
405
+ image_alt_tag: "Alt-tag"
406
+ image_caption: "Subtítulo"
407
+ image_name: "Nombre"
408
+ image_title: "Titulo-tag"
409
+ images: "imágenes"
410
+ internal_link_headline: "Escoge una página para enlazar."
411
+ 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
+ internal_link_page_anchors_explanation: "También puedes enlazar a un ancla de la página actual."
413
+ "item copied to clipboard": "%{name} ha sido copiado al portapapeles"
414
+ "item moved to clipboard": "%{name} ha sido movido al portapapeles"
415
+ "item removed from clipboard": "%{name} ha sido eliminado del portapapeles"
416
+ javascript_disabled_headline: "¡Javascript está deshabilitado!"
417
+ javascript_disabled_text: "Alchemy necesita Javascript para funcionar correctamente. Por favor habilítalo en las opciones de tu navegador."
418
+ language_code_placeholder: 'i.e. es'
419
+ language_does_not_exist: "Este árbol de idioma no existe"
420
+ language_pages_copied: "El árbol de idioma fue copiado correctamente."
421
+ last_upload_only: "Solo última subida"
422
+ left: "Izquierda"
423
+ legacy_url_info_text: "Un enlace es una redirección de una vieja URL a la URL actual de esta página. Esta redirección ocurre con un <a href='https://support.google.com/webmasters/answer/93633' target='_blank'>código de estado 301</a>."
424
+ link_image: "Enlazar esta imagen."
425
+ link_overlay_tab_label:
426
+ contactform: "Formulario de contacto"
427
+ external: "Externo"
428
+ file: "Archivo"
429
+ internal: "Interno"
430
+ link_title: "Título del enlace"
431
+ login: "iniciar sesión"
432
+ logout: "Cerrar sesión"
433
+ mail_to: "Para"
434
+ main_content: "Contenido principal"
435
+ male: "Masculino"
436
+ me: "Yo"
437
+ medium_thumbnails: "Miniaturas medianas"
438
+ meta_data: "Metadatos"
439
+ meta_description: "Meta-Descripción"
440
+ meta_keywords: "Meta-Palabras clave"
441
+ modules:
442
+ attachments: "Archivos"
443
+ dashboard: "Pizarra"
444
+ pictures: "Imágenes"
445
+ languages: "Idiomas"
446
+ layoutpages: "Páginas globales"
447
+ library: "Librería"
448
+ pages: "Páginas"
449
+ tags: "Etiquetas"
450
+ sites: "Sitios"
451
+ user_sessions: "Login"
452
+ name: "Nombre"
453
+ names: "Nombres"
454
+ navigation_name: "Nombre de navegación"
455
+ no_image_for_cropper_found: "Imagen no encontrada. Por favor guarda el elemento primero."
456
+ no: "No"
457
+ "no pages": "Sin páginas"
458
+ "no users": "Sin usuarios"
459
+ no_default_language_found: "No se encontró idioma por defecto."
460
+ no_element_given: "Ningún elemento dado."
461
+ no_files_in_archive: "No tienes ningún documento en tu archivo."
462
+ no_images_in_archive: "No tienes ninguna imagen en tu archivo."
463
+ no_more_elements_to_add: "No hay más elementos disponibles."
464
+ no_search_results: "Tu búsqueda no produjo ningún resultado."
465
+ "not a valid image": "no es una imagen válida."
466
+ "or": 'o'
467
+ or_replace_it_with_an_existing_tag: 'O reemplázala con una etiqueta existente'
468
+ "Page created": "Página: '%{name}' creada."
469
+ page_for_links:
470
+ choose_page: "Elige %{name}"
471
+ page_infos: 'Información de la página'
472
+ page_layout_changed_notice: "La página tipo ha cambiado. Los elementos no permitidos en el nuevo tipo han sido movidos a la papelera."
473
+ page_properties: "Propiedades de la página"
474
+ page_public: "publicada"
475
+ page_published: "Página publicada"
476
+ page_restricted: "restringida"
477
+ page_states:
478
+ visible:
479
+ "true": "Página visible en el menú."
480
+ "false": "Página no visible en el menú."
481
+ public:
482
+ "true": "La página está publicada."
483
+ "false": "La página no se está publicando."
484
+ locked:
485
+ "true": "La página se está editando en este momento."
486
+ "false": ""
487
+ restricted:
488
+ "true": "La página está restringida."
489
+ "false": "La página no está restringida."
490
+ page_status: "Estado"
491
+ page_title: "Título"
492
+ page_type: "Tipo"
493
+ page_visible_in_navigation: "Visible en el menú"
494
+ page_was_created: "Creada"
495
+ page_was_updated: "Actualizada"
496
+ pages:
497
+ update:
498
+ comma_seperated: "Separado por comas"
499
+ password: "Contraseña"
500
+ paste: "Pegar"
501
+ picture_gallery_editor: 'Imágenes'
502
+ picture_library:
503
+ filter:
504
+ last_upload: "desde la última subida"
505
+ recent: "que se subieron recientemente"
506
+ without_tag: "sin etiquetas"
507
+ pictures_in_page: "%{page} en %{pictures}"
508
+ place_link: "Enlazar texto"
509
+ player_version: "Versión de Flash Player"
510
+ "please enter subject and mail address": "Por favor rellene el destinatario y el asunto."
511
+ please_confirm: "Por favor confirmar"
512
+ please_wait: "Por favor espere"
513
+ position_in_text: "Posición"
514
+ preview_size: "Tamaño de vista previa"
515
+ preview_sizes:
516
+ '240': '240px (teléfono pequeño)'
517
+ '320': '320px (iPhone)'
518
+ '480': '480px (tablet pequeña)'
519
+ '768': '768px (iPad - Vertical)'
520
+ '1024': '1024px (iPad - Horizontal)'
521
+ '1280': '1280px (Escritorio)'
522
+ recently_uploaded_only: 'Sólo subido recientemente'
523
+ "regular method": "Método regular"
524
+ remove: "Eliminar"
525
+ rename_file: "Renombrar este archivo."
526
+ rename: "Renombrar"
527
+ replace: Reemplazar
528
+ 'Replaced Tag': "La etiqueta '%{old_tag}' fue reemplazada por '%{new_tag}'"
529
+ resources:
530
+ relation_select:
531
+ blank: '- nada -'
532
+ right: "Derecha"
533
+ robot_follow: "robot puede seguir enlaces."
534
+ robot_index: "permitir indexar al robot."
535
+ save: "Guardar"
536
+ "save order": "Guardar orden"
537
+ saved_link: "Enlace guardado."
538
+ search: "buscar"
539
+ search_engines: "Motores de búsqueda"
540
+ select_element: "Seleccionar elemento"
541
+ seperate_tags_with_comma: "Separar etiquetas con comas"
542
+ show_element_content: "Mostrar contenido de este elemento."
543
+ show_elements_from_page: "Mostrar todos los elementos de esta página"
544
+ show_eq: "Mostrar EQ"
545
+ show_navigation: "Mostrar en navegación"
546
+ show_page_in_sitemap: "Mostar página en mapa del sitio."
547
+ signup_mail_delivery_error: 'El correo de registro no se pudo enviar. Por favor revisa tu configuración de correo.'
548
+ small_thumbnails: "Miniaturas pequeñas"
549
+ subject: "Asunto"
550
+ successfully_added_element: "Nuevo elemento añadido correctamente."
551
+ successfully_deleted_tag: "Etiqueta eliminada correctamente"
552
+ successfully_restored_element: "Elemento restaurado correctamente."
553
+ successfully_saved_element_position: "Posición del elemento actualizada correctamente."
554
+ successfully_updated_tag: "Etiqueta actualizada correctamente"
555
+ swap_image: "Cambiar imagen"
556
+ insert_image: "Insertar imagen"
557
+ tag_list: Etiquetas
558
+ tags_get_created_if_used_the_first_time: 'Se crearán las etiquetas usadas por primera vez.'
559
+ this_picture_is_used_on_these_pages: "Esta imagen se utiliza en las siguientes páginas"
560
+ title: "Título"
561
+ to_alchemy: "Ir a Alchemy"
562
+ "trash element": "Poner el elemento en la papelera"
563
+ unknown: "desconocido"
564
+ unlink: "Eliminar enlace de esta imagen."
565
+ unlock_page: "Salir de la página"
566
+ unlocked_page: "Página %{name} desbloqueada."
567
+ upload_file: "Subir archivo(s)"
568
+ upload_image: "Subir imagen(es)"
569
+ url_name: "URL-Nombre"
570
+ visible: "visible"
571
+ want_to_create_new_language: "¿Quieres crear un árbol de idioma vacío?"
572
+ want_to_make_copy_of_existing_language: "¿Quieres copiar un árbol de idioma existente?"
573
+ "We need at least one default.": "Debe existir un idioma por defecto."
574
+ welcome_note: "Bienvenido %{name}"
575
+ welcome_back_note: "Bienvenido de nuevo %{name}"
576
+ welcome_please_identify_notice: "¡Bienvenido! Por favor identifícate."
577
+ width: "Ancho"
578
+ without_tag: "Sin etiquetas"
579
+ you_can_rename_this_tag: "Puedes renombrar esta etiqueta"
580
+ zoom_image: "Ampliar esta imagen"
581
+ "Leave Alchemy": "Salir de Alchemy"
582
+ leave: "salir"
583
+ "You are about to leave Alchemy": "Vas a salir de Alchemy"
584
+ "Do you want to": "Quieres"
585
+ "stay logged in": "permanecer conectado"
586
+ "or to completely": "o finalmente"
587
+ "Are you sure?": "¿Estás seguro?"
588
+ "Create": "Crear"
589
+ "Edit": "Editar"
590
+ "Delete": "Eliminar"
591
+ "Succesfully created": "Creado correctamente"
592
+ "Succesfully updated": "Actualizado correctamente"
593
+ "Succesfully removed": "Eliminado correctamente"
594
+ "Nothing found": "No se encontró nada."
595
+ "Or drag files over here": "O arrastra archivos sobre esta caja"
596
+ complete: 'Completado'
597
+ "Update available": 'Actualización disponible'
598
+ "Update status unavailable": 'Estado de actualización no disponible'
599
+ "Uploading": "Subiendo"
600
+
601
+ # END of Alchemy translation
602
+
603
+ # == Rails translations
604
+ # Below are Rails specific translations for date, time, number, currency, error messages and so on.
605
+ date:
606
+ formats:
607
+ default: '%d/%m/%Y'
608
+ datepicker: '%d/%m/%Y'
609
+ long: '%d de %B de %Y'
610
+ short: '%d de %b'
611
+ only_day: "%e"
612
+ day_names: [domingo, lunes, martes, miércoles, jueves, viernes, sábado]
613
+ abbr_day_names: [dom, lun, mar, mié, jue, vie, sáb]
614
+ month_names: [~, enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre]
615
+ abbr_month_names: [~, ene, feb, mar, abr, may, jun, jul, ago, sep, oct, nov, dic]
616
+ order:
617
+ - :day
618
+ - :month
619
+ - :year
620
+ time:
621
+ am: am
622
+ pm: pm
623
+ formats:
624
+ default: '%d de %B de %Y %H:%M'
625
+ short: '%d de %b %H:%M'
626
+ long: '%A, %d de %B de %Y %H:%M:%S %z'
627
+ page_status: "%d/%m/%Y %H:%M"
628
+ date: "%d/%m/%Y"
629
+ datepicker: "%d/%m/%Y"
630
+ time: "%H:%M"
631
+ support:
632
+ array:
633
+ last_word_connector: ', y '
634
+ two_words_connector: ' y '
635
+ words_connector: ', '
636
+
637
+ number:
638
+ # Used in number_with_delimiter()
639
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
640
+ format:
641
+ delimiter: .
642
+ precision: 3
643
+ separator: ','
644
+ significant: false
645
+ strip_insignificant_zeros: false
646
+
647
+ # Used in number_to_currency()
648
+ currency:
649
+ format:
650
+ delimiter: .
651
+ format: '%n %u'
652
+ precision: 2
653
+ separator: ','
654
+ significant: false
655
+ strip_insignificant_zeros: false
656
+ unit: €
657
+
658
+ # Used in number_to_percentage()
659
+ percentage:
660
+ format:
661
+ delimiter: ''
662
+
663
+ # Used in number_to_precision()
664
+ precision:
665
+ format:
666
+ delimiter: ''
667
+
668
+ # Used in number_to_human_size()
669
+ human:
670
+ format:
671
+ delimiter: ''
672
+ precision: 1
673
+ significant: true
674
+ strip_insignificant_zeros: true
675
+ decimal_units:
676
+ format: '%n %u'
677
+ units:
678
+ billion: mil millones
679
+ million: millón
680
+ quadrillion: mil billones
681
+ thousand: mil
682
+ trillion: billón
683
+ unit: ''
684
+ storage_units:
685
+ format: '%n %u'
686
+ units:
687
+ byte:
688
+ one: Byte
689
+ other: Bytes
690
+ gb: GB
691
+ kb: KB
692
+ mb: MB
693
+ tb: TB
694
+
695
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
696
+ datetime:
697
+ distance_in_words:
698
+ about_x_hours:
699
+ one: alrededor de 1 hora
700
+ other: alrededor de %{count} horas
701
+ about_x_months:
702
+ one: alrededor de 1 mes
703
+ other: alrededor de %{count} meses
704
+ about_x_years:
705
+ one: alrededor de 1 año
706
+ other: alrededor de %{count} años
707
+ almost_x_years:
708
+ one: casi 1 año
709
+ other: casi %{count} años
710
+ half_a_minute: medio minuto
711
+ less_than_x_minutes:
712
+ one: menos de 1 minuto
713
+ other: menos de %{count} minutos
714
+ less_than_x_seconds:
715
+ one: menos de 1 segundo
716
+ other: menos de %{count} segundos
717
+ over_x_years:
718
+ one: más de 1 año
719
+ other: más de %{count} años
720
+ x_days:
721
+ one: 1 día
722
+ other: '%{count} días'
723
+ x_minutes:
724
+ one: 1 minuto
725
+ other: '%{count} minutos'
726
+ x_months:
727
+ one: 1 mes
728
+ other: '%{count} meses'
729
+ x_seconds:
730
+ one: 1 segundo
731
+ other: '%{count} segundos'
732
+ prompts:
733
+ day: Día
734
+ hour: Hora
735
+ minute: Minutos
736
+ month: Mes
737
+ second: Segundos
738
+ year: Año
739
+
740
+ helpers:
741
+ select:
742
+ prompt: Por favor seleccione
743
+ submit:
744
+ create: Crear %{model}
745
+ submit: Guardar %{model}
746
+ update: Actualizar %{model}
747
+
748
+ errors: &errors
749
+ format: '%{attribute} %{message}'
750
+ template:
751
+ header: "Falló la validación"
752
+ body: 'Por favor revisa el formulario y comprueba los errores:'
753
+
754
+ messages:
755
+ accepted: debe ser aceptado
756
+ blank: no puede estar en blanco
757
+ confirmation: no coincide
758
+ empty: no puede estar vacío
759
+ equal_to: debe ser igual a %{count}
760
+ even: debe ser par
761
+ exclusion: está reservado
762
+ greater_than: debe ser mayor que %{count}
763
+ greater_than_or_equal_to: debe ser mayor que o igual a %{count}
764
+ inclusion: no está incluido en la lista
765
+ invalid: no es válido
766
+ less_than: debe ser menor que %{count}
767
+ less_than_or_equal_to: debe ser menor que o igual a %{count}
768
+ not_a_number: no es un número
769
+ not_an_integer: debe ser un entero
770
+ odd: debe ser impar
771
+ record_invalid: 'La validación falló: %{errors}'
772
+ taken: ya está en uso
773
+ too_long: es demasiado largo (%{count} caracteres máximo)
774
+ too_short: es demasiado corto (%{count} caracteres mínimo)
775
+ wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
776
+ models:
777
+ alchemy/content:
778
+ attributes:
779
+ name:
780
+ taken: 'ya está en uso en este elemento.'
781
+ essence:
782
+ validation_failed: 'La validación falló.'
783
+ alchemy/element:
784
+ attributes:
785
+ name:
786
+ blank: "^Por favor elige un elemento."
787
+ alchemy/language:
788
+ attributes:
789
+ language_code:
790
+ invalid: '^El formato del código de lenguaje no es válido. Por favor usa exactamente 2 letras minúsculas.'
791
+ taken: 'ya está en uso para este código de país.'
792
+ alchemy/page:
793
+ attributes:
794
+ name:
795
+ blank: "^Por favor introduce un nombre."
796
+ page_layout:
797
+ blank: "^Por favor elige un tipo de página."
798
+ urlname:
799
+ too_short: "^La ruta URL es demasiado corta (3 caracteres mímino)."
800
+ taken: "^Ruta URL ya en uso."
801
+ exclusion: "^Ruta URL reservada."
802
+ alchemy/picture:
803
+ attributes:
804
+ image_file:
805
+ blank: "Por favor adjunta una imagen."
806
+
807
+ activemodel:
808
+ models:
809
+ alchemy/message:
810
+ one: Mensaje
811
+ other: Mensajes
812
+
813
+ attributes:
814
+ alchemy/message:
815
+ salutation: 'Saludo'
816
+ firstname: 'Nombre'
817
+ lastname: 'Apellido'
818
+ address: 'Calle / Nº'
819
+ zip: 'Código Postal'
820
+ city: Ciudad
821
+ phone: 'Teléfono'
822
+ email: 'Correo'
823
+ message: 'Mensaje'
824
+
825
+ errors:
826
+ <<: *errors
827
+
828
+ # Translations for active record database models and error messages.
829
+ activerecord:
830
+
831
+ models:
832
+ acts_as_taggable_on/tag:
833
+ one: Etiqueta
834
+ other: Etiquetas
835
+
836
+ alchemy/attachment:
837
+ one: Archivo
838
+ other: Archivos
839
+
840
+ alchemy/element:
841
+ one: "Elemento"
842
+ other: "Elementos"
843
+
844
+ alchemy/legacy_page_url:
845
+ one: "Enlace"
846
+ other: "Enlaces"
847
+
848
+ alchemy/language:
849
+ one: "Idioma"
850
+ other: "Idiomas"
851
+
852
+ alchemy/page:
853
+ one: "Página"
854
+ other: "Páginas"
855
+
856
+ alchemy/site:
857
+ one: Sitio
858
+ other: Sitios
859
+
860
+ alchemy/picture:
861
+ one: Imagen
862
+ other: Imágenes
863
+
864
+ attributes:
865
+
866
+ acts_as_taggable_on/tag:
867
+ taggings_types: Usado por
868
+ taggings_count: Contador de uso
869
+ name: Nombre
870
+
871
+ alchemy/attachment:
872
+ file_mime_type: Tipo de archivo
873
+ created_at: "Creado por"
874
+ file_name: Nombre del archivo
875
+ name: Nombre
876
+ file_size: Tamaño del archivo
877
+ tag_list: Etiquetas
878
+
879
+ alchemy/element:
880
+ display_name: "Nombre"
881
+ name: "Nombre"
882
+ public: "visible"
883
+ tag_list: Etiquetas
884
+
885
+ alchemy/essence_file:
886
+ css_class: Estilo
887
+
888
+ alchemy/essence_picture:
889
+ caption: "Subtítulo"
890
+ title: "Título"
891
+ alt_tag: "Texto alternativo"
892
+ link: Enlace
893
+ link_class_name: "Clase CSS del enlace"
894
+ link_title: Título del enlace
895
+ css_class: Estilo
896
+ link_target: Destino del enlace
897
+ render_size: Mostrar a tamaño
898
+ crop_from: Cortar de
899
+ crop_size: Tamaño de recorte
900
+ picture_id: Bild
901
+
902
+ alchemy/language:
903
+ country_code: "Código de país"
904
+ language_code: "Código de idioma"
905
+ default: "Por defecto"
906
+ frontpage_name: "Nombre de la primera página"
907
+ name: "Nombre"
908
+ page_layout: "Tipo de la primera página"
909
+ public: "Pública"
910
+
911
+ alchemy/legacy_page_url:
912
+ urlname: "Ruta URL"
913
+
914
+ alchemy/page:
915
+ created_at: "Creado por"
916
+ language: "Idioma"
917
+ locked: "Esta página esta bloqueada por otro usuario."
918
+ locked_by: "bloqueada por"
919
+ meta_description: "Descripción"
920
+ meta_keywords: "Palabras clave"
921
+ name: "Nombre"
922
+ page_layout: "Tipo de página"
923
+ public: "pública"
924
+ restricted: "restringida"
925
+ robot_follow: "robot puede seguir enlaces"
926
+ robot_index: "permitir indexar al robot"
927
+ sitemap: "visible en mapa del sitio"
928
+ tag_list: Etiquetas
929
+ title: "Título"
930
+ updated_at: "Actualizado por"
931
+ urlname: "Ruta URL"
932
+ visible: "visible en la navegación"
933
+
934
+ alchemy/picture:
935
+ image_file_name: "Nombre del archivo"
936
+ image_file_height: "Altura"
937
+ image_file_width: "Anchura"
938
+ image_file_dimensions: "Dimensiones"
939
+ image_file_size: "Tamaño del archivo"
940
+ name: "Nombre"
941
+ tag_list: Etiquetas
942
+
943
+ alchemy/site:
944
+ name: "Nombre"
945
+ host: "Dominio primario"
946
+ public: "Público"
947
+ aliases: "Alias de dominio"
948
+ redirect_to_primary_host: "Redirigir al dominio primario"
949
+
950
+ errors:
951
+ <<: *errors
952
+
953
+ views:
954
+ pagination:
955
+ first: "Primera página"
956
+ previous_page: "Página anterior"
957
+ next_page: "Pagina siguiente"
958
+ last: "Última página"