lc_alchemy_cms 3.2.0

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 (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,31 @@
1
+ // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
2
+ // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
3
+
4
+ // requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel
5
+
6
+ // MIT license
7
+
8
+ (function() {
9
+ var lastTime = 0;
10
+ var vendors = ['ms', 'moz', 'webkit', 'o'];
11
+ for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
12
+ window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
13
+ window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']
14
+ || window[vendors[x]+'CancelRequestAnimationFrame'];
15
+ }
16
+
17
+ if (!window.requestAnimationFrame)
18
+ window.requestAnimationFrame = function(callback, element) {
19
+ var currTime = new Date().getTime();
20
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
21
+ var id = window.setTimeout(function() { callback(currTime + timeToCall); },
22
+ timeToCall);
23
+ lastTime = currTime + timeToCall;
24
+ return id;
25
+ };
26
+
27
+ if (!window.cancelAnimationFrame)
28
+ window.cancelAnimationFrame = function(id) {
29
+ clearTimeout(id);
30
+ };
31
+ }());
@@ -0,0 +1 @@
1
+ !function(t,e,i){var o=["webkit","Moz","ms","O"],r={},n;function a(t,i){var o=e.createElement(t||"div"),r;for(r in i)o[r]=i[r];return o}function s(t){for(var e=1,i=arguments.length;e<i;e++)t.appendChild(arguments[e]);return t}var f=function(){var t=a("style",{type:"text/css"});s(e.getElementsByTagName("head")[0],t);return t.sheet||t.styleSheet}();function l(t,e,i,o){var a=["opacity",e,~~(t*100),i,o].join("-"),s=.01+i/o*100,l=Math.max(1-(1-t)/e*(100-s),t),p=n.substring(0,n.indexOf("Animation")).toLowerCase(),u=p&&"-"+p+"-"||"";if(!r[a]){f.insertRule("@"+u+"keyframes "+a+"{"+"0%{opacity:"+l+"}"+s+"%{opacity:"+t+"}"+(s+.01)+"%{opacity:1}"+(s+e)%100+"%{opacity:"+t+"}"+"100%{opacity:"+l+"}"+"}",f.cssRules.length);r[a]=1}return a}function p(t,e){var r=t.style,n,a;if(r[e]!==i)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(a=0;a<o.length;a++){n=o[a]+e;if(r[n]!==i)return n}}function u(t,e){for(var i in e)t.style[p(t,i)||i]=e[i];return t}function c(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var r in o)if(t[r]===i)t[r]=o[r]}return t}function d(t){var e={x:t.offsetLeft,y:t.offsetTop};while(t=t.offsetParent)e.x+=t.offsetLeft,e.y+=t.offsetTop;return e}var h={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",speed:1,trail:100,opacity:1/4,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto",position:"relative"};function m(t){if(!this.spin)return new m(t);this.opts=c(t||{},m.defaults,h)}m.defaults={};c(m.prototype,{spin:function(t){this.stop();var e=this,i=e.opts,o=e.el=u(a(0,{className:i.className}),{position:i.position,width:0,zIndex:i.zIndex}),r=i.radius+i.length+i.width,s,f;if(t){t.insertBefore(o,t.firstChild||null);f=d(t);s=d(o);u(o,{left:(i.left=="auto"?f.x-s.x+(t.offsetWidth>>1):parseInt(i.left,10)+r)+"px",top:(i.top=="auto"?f.y-s.y+(t.offsetHeight>>1):parseInt(i.top,10)+r)+"px"})}o.setAttribute("aria-role","progressbar");e.lines(o,e.opts);if(!n){var l=0,p=i.fps,c=p/i.speed,h=(1-i.opacity)/(c*i.trail/100),m=c/i.lines;(function y(){l++;for(var t=i.lines;t;t--){var r=Math.max(1-(l+t*m)%c*h,i.opacity);e.opacity(o,i.lines-t,r,i)}e.timeout=e.el&&setTimeout(y,~~(1e3/p))})()}return e},stop:function(){var t=this.el;if(t){clearTimeout(this.timeout);if(t.parentNode)t.parentNode.removeChild(t);this.el=i}return this},lines:function(t,e){var i=0,o;function r(t,o){return u(a(),{position:"absolute",width:e.length+e.width+"px",height:e.width+"px",background:t,boxShadow:o,transformOrigin:"left",transform:"rotate("+~~(360/e.lines*i+e.rotate)+"deg) translate("+e.radius+"px"+",0)",borderRadius:(e.corners*e.width>>1)+"px"})}for(;i<e.lines;i++){o=u(a(),{position:"absolute",top:1+~(e.width/2)+"px",transform:e.hwaccel?"translate3d(0,0,0)":"",opacity:e.opacity,animation:n&&l(e.opacity,e.trail,i,e.lines)+" "+1/e.speed+"s linear infinite"});if(e.shadow)s(o,u(r("#000","0 0 4px "+"#000"),{top:2+"px"}));s(t,s(o,r(e.color,"0 0 1px rgba(0,0,0,.1)")))}return t},opacity:function(t,e,i){if(e<t.childNodes.length)t.childNodes[e].style.opacity=i}});(function(){function t(t,e){return a("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',e)}var e=u(a("group"),{behavior:"url(#default#VML)"});if(!p(e,"transform")&&e.adj){f.addRule(".spin-vml","behavior:url(#default#VML)");m.prototype.lines=function(e,i){var o=i.length+i.width,r=2*o;function n(){return u(t("group",{coordsize:r+" "+r,coordorigin:-o+" "+-o}),{width:r,height:r})}var a=-(i.width+i.length)*2+"px",f=u(n(),{position:"absolute",top:a,left:a}),l;function p(e,r,a){s(f,s(u(n(),{rotation:360/i.lines*e+"deg",left:~~r}),s(u(t("roundrect",{arcsize:i.corners}),{width:o,height:i.width,left:i.radius,top:-i.width>>1,filter:a}),t("fill",{color:i.color,opacity:i.opacity}),t("stroke",{opacity:0}))))}if(i.shadow)for(l=1;l<=i.lines;l++)p(l,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(l=1;l<=i.lines;l++)p(l);return s(e,f)};m.prototype.opacity=function(t,e,i,o){var r=t.firstChild;o=o.shadow&&o.lines||0;if(r&&e+o<r.childNodes.length){r=r.childNodes[e+o];r=r&&r.firstChild;r=r&&r.firstChild;if(r)r.opacity=i}}}else n=p(e,"animation")})();if(typeof define=="function"&&define.amd)define(function(){return m});else t.Spinner=m}(window,document);
@@ -0,0 +1,200 @@
1
+ tinymce.addI18n('de',{
2
+ "Cut": "Ausschneiden",
3
+ "Heading 5": "\u00dcberschrift 5",
4
+ "Header 2": "\u00dcberschrift 2",
5
+ "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Ihr Browser unterst\u00fctzt leider keinen direkten Zugriff auf die Zwischenablage. Bitte benutzen Sie die Strg + X \/ C \/ V Tastenkombinationen.",
6
+ "Heading 4": "\u00dcberschrift 4",
7
+ "Div": "Textblock",
8
+ "Heading 2": "\u00dcberschrift 2",
9
+ "Paste": "Einf\u00fcgen",
10
+ "Close": "Schlie\u00dfen",
11
+ "Font Family": "Schriftart",
12
+ "Pre": "Vorformatierter Text",
13
+ "Align right": "Rechtsb\u00fcndig ausrichten",
14
+ "New document": "Neues Dokument",
15
+ "Blockquote": "Zitat",
16
+ "Numbered list": "Nummerierte Liste",
17
+ "Heading 1": "\u00dcberschrift 1",
18
+ "Headings": "\u00dcberschriften",
19
+ "Increase indent": "Einzug vergr\u00f6\u00dfern",
20
+ "Formats": "Formate",
21
+ "Headers": "\u00dcberschriften",
22
+ "Select all": "Alles ausw\u00e4hlen",
23
+ "Header 3": "\u00dcberschrift 3",
24
+ "Blocks": "Absatzformate",
25
+ "Undo": "R\u00fcckg\u00e4ngig",
26
+ "Strikethrough": "Durchgestrichen",
27
+ "Bullet list": "Aufz\u00e4hlung",
28
+ "Header 1": "\u00dcberschrift 1",
29
+ "Superscript": "Hochgestellt",
30
+ "Clear formatting": "Formatierung entfernen",
31
+ "Font Sizes": "Schriftgr\u00f6\u00dfe",
32
+ "Subscript": "Tiefgestellt",
33
+ "Header 6": "\u00dcberschrift 6",
34
+ "Redo": "Wiederholen",
35
+ "Paragraph": "Absatz",
36
+ "Ok": "Ok",
37
+ "Bold": "Fett",
38
+ "Code": "Quelltext",
39
+ "Italic": "Kursiv",
40
+ "Align center": "Zentriert ausrichten",
41
+ "Header 5": "\u00dcberschrift 5",
42
+ "Heading 6": "\u00dcberschrift 6",
43
+ "Heading 3": "\u00dcberschrift 3",
44
+ "Decrease indent": "Einzug verkleinern",
45
+ "Header 4": "\u00dcberschrift 4",
46
+ "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Einf\u00fcgen ist nun im einfachen Textmodus. Inhalte werden ab jetzt als unformatierter Text eingef\u00fcgt, bis Sie diese Einstellung wieder ausschalten!",
47
+ "Underline": "Unterstrichen",
48
+ "Cancel": "Abbrechen",
49
+ "Justify": "Blocksatz",
50
+ "Inline": "Zeichenformate",
51
+ "Copy": "Kopieren",
52
+ "Align left": "Linksb\u00fcndig ausrichten",
53
+ "Visual aids": "Visuelle Hilfen",
54
+ "Lower Greek": "Griechische Kleinbuchstaben",
55
+ "Square": "Quadrat",
56
+ "Default": "Standard",
57
+ "Lower Alpha": "Kleinbuchstaben",
58
+ "Circle": "Kreis",
59
+ "Disc": "Punkt",
60
+ "Upper Alpha": "Gro\u00dfbuchstaben",
61
+ "Upper Roman": "R\u00f6mische Zahlen (Gro\u00dfbuchstaben)",
62
+ "Lower Roman": "R\u00f6mische Zahlen (Kleinbuchstaben)",
63
+ "Name": "Name",
64
+ "Anchor": "Textmarke",
65
+ "You have unsaved changes are you sure you want to navigate away?": "Die \u00c4nderungen wurden noch nicht gespeichert, sind Sie sicher, dass Sie diese Seite verlassen wollen?",
66
+ "Restore last draft": "Letzten Entwurf wiederherstellen",
67
+ "Special character": "Sonderzeichen",
68
+ "Source code": "Quelltext",
69
+ "B": "B",
70
+ "R": "R",
71
+ "G": "G",
72
+ "Color": "Farbe",
73
+ "Right to left": "Von rechts nach links",
74
+ "Left to right": "Von links nach rechts",
75
+ "Emoticons": "Emoticons",
76
+ "Robots": "Robots",
77
+ "Document properties": "Dokumenteigenschaften",
78
+ "Title": "Titel",
79
+ "Keywords": "Sch\u00fcsselw\u00f6rter",
80
+ "Encoding": "Zeichenkodierung",
81
+ "Description": "Beschreibung",
82
+ "Author": "Verfasser",
83
+ "Fullscreen": "Vollbild",
84
+ "Horizontal line": "Horizontale Linie",
85
+ "Horizontal space": "Horizontaler Abstand",
86
+ "Insert\/edit image": "Bild einf\u00fcgen\/bearbeiten",
87
+ "General": "Allgemein",
88
+ "Advanced": "Erweitert",
89
+ "Source": "Quelle",
90
+ "Border": "Rahmen",
91
+ "Constrain proportions": "Seitenverh\u00e4ltnis beibehalten",
92
+ "Vertical space": "Vertikaler Abstand",
93
+ "Image description": "Bildbeschreibung",
94
+ "Style": "Stil",
95
+ "Dimensions": "Abmessungen",
96
+ "Insert image": "Bild einf\u00fcgen",
97
+ "Insert date\/time": "Datum\/Uhrzeit einf\u00fcgen ",
98
+ "Remove link": "Link entfernen",
99
+ "Url": "URL",
100
+ "Text to display": "Anzuzeigender Text",
101
+ "Anchors": "Textmarken",
102
+ "Insert link": "Link einf\u00fcgen",
103
+ "New window": "Neues Fenster",
104
+ "None": "Keine",
105
+ "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Diese Adresse scheint ein externer Link zu sein. M\u00f6chten Sie das dazu ben\u00f6tigte \"http:\/\/\" voranstellen?",
106
+ "Target": "Ziel",
107
+ "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Diese Adresse scheint eine E-Mail-Adresse zu sein. M\u00f6chten Sie das dazu ben\u00f6tigte \"mailto:\" voranstellen?",
108
+ "Insert\/edit link": "Link einf\u00fcgen\/bearbeiten",
109
+ "Insert\/edit video": "Video einf\u00fcgen\/bearbeiten",
110
+ "Poster": "Poster",
111
+ "Alternative source": "Alternative Quelle",
112
+ "Paste your embed code below:": "F\u00fcgen Sie Ihren Einbettungscode hier ein:",
113
+ "Insert video": "Video einf\u00fcgen",
114
+ "Embed": "Einbetten",
115
+ "Nonbreaking space": "Gesch\u00fctztes Leerzeichen",
116
+ "Page break": "Seitenumbruch",
117
+ "Paste as text": "Als Text einf\u00fcgen",
118
+ "Preview": "Vorschau",
119
+ "Print": "Drucken",
120
+ "Save": "Speichern",
121
+ "Could not find the specified string.": "Die Zeichenfolge wurde nicht gefunden.",
122
+ "Replace": "Ersetzen",
123
+ "Next": "Weiter",
124
+ "Whole words": "Nur ganze W\u00f6rter",
125
+ "Find and replace": "Suchen und ersetzen",
126
+ "Replace with": "Ersetzen durch",
127
+ "Find": "Suchen",
128
+ "Replace all": "Alles ersetzen",
129
+ "Match case": "Gro\u00df-\/Kleinschreibung beachten",
130
+ "Prev": "Zur\u00fcck",
131
+ "Spellcheck": "Rechtschreibpr\u00fcfung",
132
+ "Finish": "Ende",
133
+ "Ignore all": "Alles Ignorieren",
134
+ "Ignore": "Ignorieren",
135
+ "Add to Dictionary": "Zum W\u00f6rterbuch hinzuf\u00fcgen",
136
+ "Insert row before": "Neue Zeile davor einf\u00fcgen ",
137
+ "Rows": "Zeilen",
138
+ "Height": "H\u00f6he",
139
+ "Paste row after": "Zeile danach einf\u00fcgen",
140
+ "Alignment": "Ausrichtung",
141
+ "Border color": "Rahmenfarbe",
142
+ "Column group": "Spaltengruppe",
143
+ "Row": "Zeile",
144
+ "Insert column before": "Neue Spalte davor einf\u00fcgen",
145
+ "Split cell": "Zelle aufteilen",
146
+ "Cell padding": "Zelleninnenabstand",
147
+ "Cell spacing": "Zellenabstand",
148
+ "Row type": "Zeilentyp",
149
+ "Insert table": "Tabelle einf\u00fcgen",
150
+ "Body": "Inhalt",
151
+ "Caption": "Beschriftung",
152
+ "Footer": "Fu\u00dfzeile",
153
+ "Delete row": "Zeile l\u00f6schen",
154
+ "Paste row before": "Zeile davor einf\u00fcgen",
155
+ "Scope": "G\u00fcltigkeitsbereich",
156
+ "Delete table": "Tabelle l\u00f6schen",
157
+ "H Align": "Horizontale Ausrichtung",
158
+ "Top": "Oben",
159
+ "Header cell": "Kopfzelle",
160
+ "Column": "Spalte",
161
+ "Row group": "Zeilengruppe",
162
+ "Cell": "Zelle",
163
+ "Middle": "Mitte",
164
+ "Cell type": "Zellentyp",
165
+ "Copy row": "Zeile kopieren",
166
+ "Row properties": "Zeileneigenschaften",
167
+ "Table properties": "Tabelleneigenschaften",
168
+ "Bottom": "Unten",
169
+ "V Align": "Vertikale Ausrichtung",
170
+ "Header": "Kopfzeile",
171
+ "Right": "Rechtsb\u00fcndig",
172
+ "Insert column after": "Neue Spalte danach einf\u00fcgen",
173
+ "Cols": "Spalten",
174
+ "Insert row after": "Neue Zeile danach einf\u00fcgen",
175
+ "Width": "Breite",
176
+ "Cell properties": "Zelleneigenschaften",
177
+ "Left": "Linksb\u00fcndig",
178
+ "Cut row": "Zeile ausschneiden",
179
+ "Delete column": "Spalte l\u00f6schen",
180
+ "Center": "Zentriert",
181
+ "Merge cells": "Zellen verbinden",
182
+ "Insert template": "Vorlage einf\u00fcgen ",
183
+ "Templates": "Vorlagen",
184
+ "Background color": "Hintergrundfarbe",
185
+ "Custom...": "Benutzerdefiniert...",
186
+ "Custom color": "Benutzerdefinierte Farbe",
187
+ "No color": "Keine Farbe",
188
+ "Text color": "Textfarbe",
189
+ "Show blocks": " Bl\u00f6cke anzeigen",
190
+ "Show invisible characters": "Unsichtbare Zeichen anzeigen",
191
+ "Words: {0}": "W\u00f6rter: {0}",
192
+ "Insert": "Einf\u00fcgen",
193
+ "File": "Datei",
194
+ "Edit": "Bearbeiten",
195
+ "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich-Text- Area. Dr\u00fccken Sie ALT-F9 f\u00fcr das Men\u00fc. Dr\u00fccken Sie ALT-F10 f\u00fcr Symbolleiste. Dr\u00fccken Sie ALT-0 f\u00fcr Hilfe",
196
+ "Tools": "Werkzeuge",
197
+ "View": "Ansicht",
198
+ "Table": "Tabelle",
199
+ "Format": "Format"
200
+ });
@@ -0,0 +1,200 @@
1
+ tinymce.addI18n('es',{
2
+ "Cut": "Cortar",
3
+ "Heading 5": "Encabezado 5",
4
+ "Header 2": "Encabezado 2 ",
5
+ "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Tu navegador no soporta acceso directo al portapapeles. Por favor usa las teclas Crtl+X\/C\/V de tu teclado",
6
+ "Heading 4": "Encabezado 4",
7
+ "Div": "Capa",
8
+ "Heading 2": "Encabezado 2",
9
+ "Paste": "Pegar",
10
+ "Close": "Cerrar",
11
+ "Font Family": "Familia de fuentes",
12
+ "Pre": "Pre",
13
+ "Align right": "Alinear a la derecha",
14
+ "New document": "Nuevo documento",
15
+ "Blockquote": "Bloque de cita",
16
+ "Numbered list": "Lista numerada",
17
+ "Heading 1": "Encabezado 1",
18
+ "Headings": "Encabezados",
19
+ "Increase indent": "Incrementar sangr\u00eda",
20
+ "Formats": "Formatos",
21
+ "Headers": "Encabezados",
22
+ "Select all": "Seleccionar todo",
23
+ "Header 3": "Encabezado 3",
24
+ "Blocks": "Bloques",
25
+ "Undo": "Deshacer",
26
+ "Strikethrough": "Tachado",
27
+ "Bullet list": "Lista de vi\u00f1etas",
28
+ "Header 1": "Encabezado 1",
29
+ "Superscript": "Super\u00edndice",
30
+ "Clear formatting": "Limpiar formato",
31
+ "Font Sizes": "Tama\u00f1os de fuente",
32
+ "Subscript": "Sub\u00edndice",
33
+ "Header 6": "Encabezado 6",
34
+ "Redo": "Rehacer",
35
+ "Paragraph": "P\u00e1rrafo",
36
+ "Ok": "Ok",
37
+ "Bold": "Negrita",
38
+ "Code": "C\u00f3digo",
39
+ "Italic": "It\u00e1lica",
40
+ "Align center": "Alinear al centro",
41
+ "Header 5": "Encabezado 5 ",
42
+ "Heading 6": "Encabezado 6",
43
+ "Heading 3": "Encabezado 3",
44
+ "Decrease indent": "Disminuir sangr\u00eda",
45
+ "Header 4": "Encabezado 4",
46
+ "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Pegar est\u00e1 ahora en modo de texto plano. El contenido se pegar\u00e1 como texto plano hasta que desactive esta opci\u00f3n.",
47
+ "Underline": "Subrayado",
48
+ "Cancel": "Cancelar",
49
+ "Justify": "Justificar",
50
+ "Inline": "en l\u00ednea",
51
+ "Copy": "Copiar",
52
+ "Align left": "Alinear a la izquierda",
53
+ "Visual aids": "Ayudas visuales",
54
+ "Lower Greek": "Inferior Griega",
55
+ "Square": "Cuadrado",
56
+ "Default": "Por defecto",
57
+ "Lower Alpha": "Inferior Alfa",
58
+ "Circle": "C\u00edrculo",
59
+ "Disc": "Disco",
60
+ "Upper Alpha": "Superior Alfa",
61
+ "Upper Roman": "Superior Romana",
62
+ "Lower Roman": "Inferior Romana",
63
+ "Name": "Nombre",
64
+ "Anchor": "Ancla",
65
+ "You have unsaved changes are you sure you want to navigate away?": "Tiene cambios sin guardar. \u00bfEst\u00e1 seguro de que quiere salir?",
66
+ "Restore last draft": "Restaurar el \u00faltimo borrador",
67
+ "Special character": "Car\u00e1cter especial",
68
+ "Source code": "C\u00f3digo fuente",
69
+ "B": "B",
70
+ "R": "R",
71
+ "G": "G",
72
+ "Color": "Color",
73
+ "Right to left": "De derecha a izquierda",
74
+ "Left to right": "De izquierda a derecha",
75
+ "Emoticons": "Emoticonos",
76
+ "Robots": "Robots",
77
+ "Document properties": "Propiedades del documento",
78
+ "Title": "T\u00edtulo",
79
+ "Keywords": "Palabras clave",
80
+ "Encoding": "Codificaci\u00f3n",
81
+ "Description": "Descripci\u00f3n",
82
+ "Author": "Autor",
83
+ "Fullscreen": "Pantalla completa",
84
+ "Horizontal line": "L\u00ednea horizontal",
85
+ "Horizontal space": "Espacio horizontal",
86
+ "Insert\/edit image": "Insertar\/editar imagen",
87
+ "General": "General",
88
+ "Advanced": "Avanzado",
89
+ "Source": "Enlace",
90
+ "Border": "Borde",
91
+ "Constrain proportions": "Restringir proporciones",
92
+ "Vertical space": "Espacio vertical",
93
+ "Image description": "Descripci\u00f3n de la imagen",
94
+ "Style": "Estilo",
95
+ "Dimensions": "Dimensiones",
96
+ "Insert image": "Insertar imagen",
97
+ "Insert date\/time": "Insertar fecha\/hora",
98
+ "Remove link": "Quitar enlace",
99
+ "Url": "URL",
100
+ "Text to display": "Texto para mostrar",
101
+ "Anchors": "Anclas",
102
+ "Insert link": "Insertar enlace",
103
+ "New window": "Nueva ventana",
104
+ "None": "Ninguno",
105
+ "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "El enlace que has introducido no parece ser una enlace externo. Quieres a\u00f1adir el prefijo necesario http:\/\/ ?",
106
+ "Target": "Destino",
107
+ "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "El enlace que has introducido no parece ser una direcci\u00f3n de correo electr\u00f3nico. Quieres a\u00f1adir el prefijo necesario mailto: ?",
108
+ "Insert\/edit link": "Insertar\/editar enlace",
109
+ "Insert\/edit video": "Insertar\/editar video",
110
+ "Poster": "Miniatura",
111
+ "Alternative source": "Enlace alternativo",
112
+ "Paste your embed code below:": "Pega tu c\u00f3digo embebido debajo",
113
+ "Insert video": "Insertar video",
114
+ "Embed": "Incrustado",
115
+ "Nonbreaking space": "Espacio fijo",
116
+ "Page break": "Salto de p\u00e1gina",
117
+ "Paste as text": "Pegar como texto",
118
+ "Preview": "Previsualizar",
119
+ "Print": "Imprimir",
120
+ "Save": "Guardar",
121
+ "Could not find the specified string.": "No se encuentra la cadena de texto especificada",
122
+ "Replace": "Reemplazar",
123
+ "Next": "Siguiente",
124
+ "Whole words": "Palabras completas",
125
+ "Find and replace": "Buscar y reemplazar",
126
+ "Replace with": "Reemplazar con",
127
+ "Find": "Buscar",
128
+ "Replace all": "Reemplazar todo",
129
+ "Match case": "Coincidencia exacta",
130
+ "Prev": "Anterior",
131
+ "Spellcheck": "Corrector ortogr\u00e1fico",
132
+ "Finish": "Finalizar",
133
+ "Ignore all": "Ignorar todos",
134
+ "Ignore": "Ignorar",
135
+ "Add to Dictionary": "A\u00f1adir al Diccionario",
136
+ "Insert row before": "Insertar fila antes",
137
+ "Rows": "Filas",
138
+ "Height": "Alto",
139
+ "Paste row after": "Pegar la fila despu\u00e9s",
140
+ "Alignment": "Alineaci\u00f3n",
141
+ "Border color": "Color del borde",
142
+ "Column group": "Grupo de columnas",
143
+ "Row": "Fila",
144
+ "Insert column before": "Insertar columna antes",
145
+ "Split cell": "Dividir celdas",
146
+ "Cell padding": "Relleno de celda",
147
+ "Cell spacing": "Espacio entre celdas",
148
+ "Row type": "Tipo de fila",
149
+ "Insert table": "Insertar tabla",
150
+ "Body": "Cuerpo",
151
+ "Caption": "Subt\u00edtulo",
152
+ "Footer": "Pie de p\u00e1gina",
153
+ "Delete row": "Eliminar fila",
154
+ "Paste row before": "Pegar la fila antes",
155
+ "Scope": "\u00c1mbito",
156
+ "Delete table": "Eliminar tabla",
157
+ "H Align": "Alineamiento Horizontal",
158
+ "Top": "Arriba",
159
+ "Header cell": "Celda de la cebecera",
160
+ "Column": "Columna",
161
+ "Row group": "Grupo de filas",
162
+ "Cell": "Celda",
163
+ "Middle": "Centro",
164
+ "Cell type": "Tipo de celda",
165
+ "Copy row": "Copiar fila",
166
+ "Row properties": "Propiedades de la fila",
167
+ "Table properties": "Propiedades de la tabla",
168
+ "Bottom": "Abajo",
169
+ "V Align": "Alineamiento Vertical",
170
+ "Header": "Cabecera",
171
+ "Right": "Derecha",
172
+ "Insert column after": "Insertar columna despu\u00e9s",
173
+ "Cols": "Columnas",
174
+ "Insert row after": "Insertar fila despu\u00e9s ",
175
+ "Width": "Ancho",
176
+ "Cell properties": "Propiedades de la celda",
177
+ "Left": "Izquierda",
178
+ "Cut row": "Cortar fila",
179
+ "Delete column": "Eliminar columna",
180
+ "Center": "Centrado",
181
+ "Merge cells": "Combinar celdas",
182
+ "Insert template": "Insertar plantilla",
183
+ "Templates": "Plantillas",
184
+ "Background color": "Color de fondo",
185
+ "Custom...": "Personalizar...",
186
+ "Custom color": "Color personalizado",
187
+ "No color": "Sin color",
188
+ "Text color": "Color del texto",
189
+ "Show blocks": "Mostrar bloques",
190
+ "Show invisible characters": "Mostrar caracteres invisibles",
191
+ "Words: {0}": "Palabras: {0}",
192
+ "Insert": "Insertar",
193
+ "File": "Archivo",
194
+ "Edit": "Editar",
195
+ "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u00c1rea de texto enriquecido. Pulse ALT-F9 para el menu. Pulse ALT-F10 para la barra de herramientas. Pulse ALT-0 para ayuda",
196
+ "Tools": "Herramientas",
197
+ "View": "Ver",
198
+ "Table": "Tabla",
199
+ "Format": "Formato"
200
+ });
@@ -0,0 +1,200 @@
1
+ tinymce.addI18n('fr',{
2
+ "Cut": "Couper",
3
+ "Heading 5": "En-t\u00eate 5",
4
+ "Header 2": "Titre 2",
5
+ "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Votre navigateur ne supporte pas la copie directe. Merci d'utiliser les touches Ctrl+X\/C\/V.",
6
+ "Heading 4": "En-t\u00eate 4",
7
+ "Div": "Div",
8
+ "Heading 2": "En-t\u00eate 2",
9
+ "Paste": "Coller",
10
+ "Close": "Fermer",
11
+ "Font Family": "Police",
12
+ "Pre": "Pre",
13
+ "Align right": "Aligner \u00e0 droite",
14
+ "New document": "Nouveau document",
15
+ "Blockquote": "Citation",
16
+ "Numbered list": "Num\u00e9rotation",
17
+ "Heading 1": "En-t\u00eate 1",
18
+ "Headings": "En-t\u00eates",
19
+ "Increase indent": "Augmenter le retrait",
20
+ "Formats": "Formats",
21
+ "Headers": "Titres",
22
+ "Select all": "Tout s\u00e9lectionner",
23
+ "Header 3": "Titre 3",
24
+ "Blocks": "Blocs",
25
+ "Undo": "Annuler",
26
+ "Strikethrough": "Barr\u00e9",
27
+ "Bullet list": "Puces",
28
+ "Header 1": "Titre 1",
29
+ "Superscript": "Exposant",
30
+ "Clear formatting": "Effacer la mise en forme",
31
+ "Font Sizes": "Taille de police",
32
+ "Subscript": "Indice",
33
+ "Header 6": "Titre 6",
34
+ "Redo": "R\u00e9tablir",
35
+ "Paragraph": "Paragraphe",
36
+ "Ok": "Ok",
37
+ "Bold": "Gras",
38
+ "Code": "Code",
39
+ "Italic": "Italique",
40
+ "Align center": "Centrer",
41
+ "Header 5": "Titre 5",
42
+ "Heading 6": "En-t\u00eate 6",
43
+ "Heading 3": "En-t\u00eate 3",
44
+ "Decrease indent": "Diminuer le retrait",
45
+ "Header 4": "Titre 4",
46
+ "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Le presse-papiers est maintenant en mode \"texte plein\". Les contenus seront coll\u00e9s sans retenir les formatages jusqu'\u00e0 ce que vous d\u00e9sactiviez cette option.",
47
+ "Underline": "Soulign\u00e9",
48
+ "Cancel": "Annuler",
49
+ "Justify": "Justifier",
50
+ "Inline": "En ligne",
51
+ "Copy": "Copier",
52
+ "Align left": "Aligner \u00e0 gauche",
53
+ "Visual aids": "Aides visuelle",
54
+ "Lower Greek": "Grec minuscule",
55
+ "Square": "Carr\u00e9",
56
+ "Default": "Par d\u00e9faut",
57
+ "Lower Alpha": "Alpha minuscule",
58
+ "Circle": "Cercle",
59
+ "Disc": "Disque",
60
+ "Upper Alpha": "Alpha majuscule",
61
+ "Upper Roman": "Romain majuscule",
62
+ "Lower Roman": "Romain minuscule",
63
+ "Name": "Nom",
64
+ "Anchor": "Ancre",
65
+ "You have unsaved changes are you sure you want to navigate away?": "Vous avez des modifications non enregistr\u00e9es, \u00eates-vous s\u00fbr de quitter la page?",
66
+ "Restore last draft": "Restaurer le dernier brouillon",
67
+ "Special character": "Caract\u00e8res sp\u00e9ciaux",
68
+ "Source code": "Code source",
69
+ "Color": "Couleur",
70
+ "Right to left": "Droite \u00e0 gauche",
71
+ "Left to right": "Gauche \u00e0 droite",
72
+ "Emoticons": "Emotic\u00f4nes",
73
+ "Robots": "Robots",
74
+ "Document properties": "Propri\u00e9t\u00e9 du document",
75
+ "Title": "Titre",
76
+ "Keywords": "Mots-cl\u00e9s",
77
+ "Encoding": "Encodage",
78
+ "Description": "Description",
79
+ "Author": "Auteur",
80
+ "Fullscreen": "Plein \u00e9cran",
81
+ "Horizontal line": "Ligne horizontale",
82
+ "Horizontal space": "Espacement horizontal",
83
+ "B": "B",
84
+ "Insert\/edit image": "Ins\u00e9rer\/modifier une image",
85
+ "General": "G\u00e9n\u00e9ral",
86
+ "Advanced": "Avanc\u00e9",
87
+ "G": "V",
88
+ "R": "R",
89
+ "Source": "Source",
90
+ "Border": "Bordure",
91
+ "Constrain proportions": "Conserver les proportions",
92
+ "Vertical space": "Espacement vertical",
93
+ "Image description": "Description de l'image",
94
+ "Style": "Style",
95
+ "Dimensions": "Dimensions",
96
+ "Insert image": "Ins\u00e9rer une image",
97
+ "Insert date\/time": "Ins\u00e9rer date\/heure",
98
+ "Remove link": "Enlever le lien",
99
+ "Url": "Url",
100
+ "Text to display": "Texte \u00e0 afficher",
101
+ "Anchors": "Ancres",
102
+ "Insert link": "Ins\u00e9rer un lien",
103
+ "New window": "Nouvelle fen\u00eatre",
104
+ "None": "n\/a",
105
+ "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre un lien externe. Voulez-vous ajouter le pr\u00e9fixe http:\/\/ n\u00e9cessaire?",
106
+ "Target": "Cible",
107
+ "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre une adresse e-mail. Voulez-vous ajouter le pr\u00e9fixe mailto: n\u00e9cessaire?",
108
+ "Insert\/edit link": "Ins\u00e9rer\/modifier un lien",
109
+ "Insert\/edit video": "Ins\u00e9rer\/modifier une vid\u00e9o",
110
+ "Poster": "Publier",
111
+ "Alternative source": "Source alternative",
112
+ "Paste your embed code below:": "Collez votre code d'int\u00e9gration ci-dessous :",
113
+ "Insert video": "Ins\u00e9rer une vid\u00e9o",
114
+ "Embed": "Int\u00e9grer",
115
+ "Nonbreaking space": "Espace ins\u00e9cable",
116
+ "Page break": "Saut de page",
117
+ "Paste as text": "Coller comme texte",
118
+ "Preview": "Pr\u00e9visualiser",
119
+ "Print": "Imprimer",
120
+ "Save": "Enregistrer",
121
+ "Could not find the specified string.": "Impossible de trouver la cha\u00eene sp\u00e9cifi\u00e9e.",
122
+ "Replace": "Remplacer",
123
+ "Next": "Suiv",
124
+ "Whole words": "Mots entiers",
125
+ "Find and replace": "Trouver et remplacer",
126
+ "Replace with": "Remplacer par",
127
+ "Find": "Chercher",
128
+ "Replace all": "Tout remplacer",
129
+ "Match case": "Respecter la casse",
130
+ "Prev": "Pr\u00e9c ",
131
+ "Spellcheck": "V\u00e9rification orthographique",
132
+ "Finish": "Finie",
133
+ "Ignore all": "Tout ignorer",
134
+ "Ignore": "Ignorer",
135
+ "Add to Dictionary": "Ajouter au dictionnaire",
136
+ "Insert row before": "Ins\u00e9rer une ligne avant",
137
+ "Rows": "Lignes",
138
+ "Height": "Hauteur",
139
+ "Paste row after": "Coller la ligne apr\u00e8s",
140
+ "Alignment": "Alignement",
141
+ "Border color": "Couleur de la bordure",
142
+ "Column group": "Groupe de colonnes",
143
+ "Row": "Ligne",
144
+ "Insert column before": "Ins\u00e9rer une colonne avant",
145
+ "Split cell": "Diviser la cellule",
146
+ "Cell padding": "Espacement interne cellule",
147
+ "Cell spacing": "Espacement inter-cellulles",
148
+ "Row type": "Type de ligne",
149
+ "Insert table": "Ins\u00e9rer un tableau",
150
+ "Body": "Corps",
151
+ "Caption": "Titre",
152
+ "Footer": "Pied",
153
+ "Delete row": "Effacer la ligne",
154
+ "Paste row before": "Coller la ligne avant",
155
+ "Scope": "Etendue",
156
+ "Delete table": "Supprimer le tableau",
157
+ "H Align": "Alignement H",
158
+ "Top": "Haut",
159
+ "Header cell": "Cellule d'en-t\u00eate",
160
+ "Column": "Colonne",
161
+ "Row group": "Groupe de lignes",
162
+ "Cell": "Cellule",
163
+ "Middle": "Milieu",
164
+ "Cell type": "Type de cellule",
165
+ "Copy row": "Copier la ligne",
166
+ "Row properties": "Propri\u00e9t\u00e9s de la ligne",
167
+ "Table properties": "Propri\u00e9t\u00e9s du tableau",
168
+ "Bottom": "Bas",
169
+ "V Align": "Alignement V",
170
+ "Header": "En-t\u00eate",
171
+ "Right": "Droite",
172
+ "Insert column after": "Ins\u00e9rer une colonne apr\u00e8s",
173
+ "Cols": "Colonnes",
174
+ "Insert row after": "Ins\u00e9rer une ligne apr\u00e8s",
175
+ "Width": "Largeur",
176
+ "Cell properties": "Propri\u00e9t\u00e9s de la cellule",
177
+ "Left": "Gauche",
178
+ "Cut row": "Couper la ligne",
179
+ "Delete column": "Effacer la colonne",
180
+ "Center": "Centr\u00e9",
181
+ "Merge cells": "Fusionner les cellules",
182
+ "Insert template": "Ajouter un th\u00e8me",
183
+ "Templates": "Th\u00e8mes",
184
+ "Background color": "Couleur d'arri\u00e8re-plan",
185
+ "Custom...": "Personnalis\u00e9...",
186
+ "Custom color": "Couleur personnalis\u00e9e",
187
+ "No color": "Aucune couleur",
188
+ "Text color": "Couleur du texte",
189
+ "Show blocks": "Afficher les blocs",
190
+ "Show invisible characters": "Afficher les caract\u00e8res invisibles",
191
+ "Words: {0}": "Mots : {0}",
192
+ "Insert": "Ins\u00e9rer",
193
+ "File": "Fichier",
194
+ "Edit": "Editer",
195
+ "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Zone Texte Riche. Appuyer sur ALT-F9 pour le menu. Appuyer sur ALT-F10 pour la barre d'outils. Appuyer sur ALT-0 pour de l'aide.",
196
+ "Tools": "Outils",
197
+ "View": "Voir",
198
+ "Table": "Tableau",
199
+ "Format": "Format"
200
+ });