locomotive_cms 2.0.3 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -3
  3. data/README.textile +7 -7
  4. data/app/assets/images/locomotive/icons/flags/ja.png +0 -0
  5. data/app/assets/javascripts/locomotive/aloha.js.coffee +3 -0
  6. data/app/assets/javascripts/locomotive/models/page.js.coffee +1 -1
  7. data/app/assets/javascripts/locomotive/models/site.js.coffee +16 -6
  8. data/app/assets/javascripts/locomotive/utils/aloha_settings.js.coffee +1 -1
  9. data/app/assets/javascripts/locomotive/views/content_entries/_form_view.js.coffee +5 -0
  10. data/app/assets/javascripts/locomotive/views/my_account/edit_view.js.coffee +14 -0
  11. data/app/assets/javascripts/locomotive/views/pages/_form_view.js.coffee +1 -1
  12. data/app/assets/javascripts/locomotive/views/pages/edit_view.js.coffee +2 -1
  13. data/app/assets/javascripts/tinymce/plugins/locomotive_media/langs/de.js +1 -0
  14. data/app/assets/stylesheets/locomotive.css +1 -0
  15. data/app/assets/stylesheets/locomotive/backoffice/formtastic_changes.css.scss +18 -3
  16. data/app/assets/stylesheets/locomotive/backoffice/layout.css.scss +1 -1
  17. data/app/assets/stylesheets/locomotive/backoffice/menu/main.css.scss +7 -3
  18. data/app/assets/stylesheets/locomotive/backoffice/pagination.css.scss +37 -0
  19. data/app/assets/stylesheets/locomotive/backoffice/tagit_changes.css.scss +49 -0
  20. data/app/cells/locomotive/content_locale_picker/show.html.haml +1 -1
  21. data/app/cells/locomotive/global_actions_cell.rb +8 -8
  22. data/app/cells/locomotive/main_menu/show.html.haml +2 -2
  23. data/app/cells/locomotive/main_menu_cell.rb +2 -2
  24. data/app/cells/locomotive/menu_cell.rb +6 -6
  25. data/app/cells/locomotive/partials_cell.rb +21 -0
  26. data/app/cells/locomotive/settings_menu_cell.rb +4 -4
  27. data/app/cells/locomotive/sub_menu/show.html.haml +2 -2
  28. data/app/cells/locomotive/sub_menu_cell.rb +1 -1
  29. data/app/controllers/locomotive/accounts_controller.rb +4 -4
  30. data/app/controllers/locomotive/api/accounts_controller.rb +1 -0
  31. data/app/controllers/locomotive/api/content_assets_controller.rb +1 -1
  32. data/app/controllers/locomotive/api/content_entries_controller.rb +1 -1
  33. data/app/controllers/locomotive/api/content_types_controller.rb +2 -2
  34. data/app/controllers/locomotive/api/pages_controller.rb +1 -1
  35. data/app/controllers/locomotive/api/snippets_controller.rb +1 -1
  36. data/app/controllers/locomotive/api/theme_assets_controller.rb +47 -0
  37. data/app/controllers/locomotive/api/tokens_controller.rb +2 -2
  38. data/app/controllers/locomotive/base_controller.rb +5 -2
  39. data/app/controllers/locomotive/content_assets_controller.rb +1 -1
  40. data/app/controllers/locomotive/content_entries_controller.rb +22 -9
  41. data/app/controllers/locomotive/content_types_controller.rb +6 -6
  42. data/app/controllers/locomotive/current_site_controller.rb +6 -6
  43. data/app/controllers/locomotive/installation_controller.rb +11 -3
  44. data/app/controllers/locomotive/memberships_controller.rb +6 -6
  45. data/app/controllers/locomotive/my_account_controller.rb +9 -3
  46. data/app/controllers/locomotive/pages_controller.rb +10 -6
  47. data/app/controllers/locomotive/passwords_controller.rb +1 -1
  48. data/app/controllers/locomotive/public/content_entries_controller.rb +1 -1
  49. data/app/controllers/locomotive/public/pages_controller.rb +5 -5
  50. data/app/controllers/locomotive/public/robots_controller.rb +1 -1
  51. data/app/controllers/locomotive/public/sitemaps_controller.rb +1 -1
  52. data/app/controllers/locomotive/sessions_controller.rb +1 -1
  53. data/app/controllers/locomotive/sites_controller.rb +5 -5
  54. data/app/controllers/locomotive/snippets_controller.rb +6 -6
  55. data/app/controllers/locomotive/theme_assets_controller.rb +6 -6
  56. data/app/controllers/locomotive/translations_controller.rb +1 -1
  57. data/app/helpers/locomotive/accounts_helper.rb +1 -1
  58. data/app/helpers/locomotive/base_helper.rb +13 -21
  59. data/app/helpers/locomotive/content_types_helper.rb +3 -3
  60. data/app/helpers/locomotive/custom_fields_helper.rb +5 -5
  61. data/app/helpers/locomotive/installation_helper.rb +1 -1
  62. data/app/helpers/locomotive/pages_helper.rb +5 -5
  63. data/app/helpers/locomotive/snippets_helper.rb +1 -1
  64. data/app/helpers/locomotive/theme_assets_helper.rb +1 -1
  65. data/app/helpers/locomotive/translations_helper.rb +2 -2
  66. data/app/inputs/locomotive/api_key_input.rb +40 -0
  67. data/app/inputs/locomotive/code_input.rb +5 -5
  68. data/app/inputs/locomotive/file_input.rb +6 -6
  69. data/app/inputs/locomotive/locale_input.rb +5 -5
  70. data/app/inputs/locomotive/locales_input.rb +4 -4
  71. data/app/inputs/locomotive/rte_input.rb +1 -1
  72. data/app/inputs/locomotive/small_code_input.rb +1 -1
  73. data/app/inputs/locomotive/subdomain_input.rb +1 -1
  74. data/app/mailers/locomotive/devise_mailer.rb +1 -1
  75. data/app/mailers/locomotive/notifications.rb +3 -3
  76. data/app/models/locomotive/ability.rb +10 -11
  77. data/app/models/locomotive/account.rb +61 -26
  78. data/app/models/locomotive/content_asset.rb +8 -8
  79. data/app/models/locomotive/content_entry.rb +8 -7
  80. data/app/models/locomotive/content_type.rb +12 -7
  81. data/app/models/locomotive/editable_control.rb +2 -2
  82. data/app/models/locomotive/editable_element.rb +13 -8
  83. data/app/models/locomotive/editable_file.rb +5 -3
  84. data/app/models/locomotive/editable_short_text.rb +3 -3
  85. data/app/models/locomotive/extensions/asset/types.rb +2 -2
  86. data/app/models/locomotive/extensions/content_entry/csv.rb +78 -0
  87. data/app/models/locomotive/extensions/content_type/item_template.rb +3 -3
  88. data/app/models/locomotive/extensions/content_type/sync.rb +4 -4
  89. data/app/models/locomotive/extensions/page/editable_elements.rb +1 -1
  90. data/app/models/locomotive/extensions/page/parse.rb +2 -2
  91. data/app/models/locomotive/extensions/page/render.rb +7 -1
  92. data/app/models/locomotive/extensions/page/templatized.rb +20 -15
  93. data/app/models/locomotive/extensions/page/tree.rb +4 -4
  94. data/app/models/locomotive/extensions/shared/seo.rb +3 -3
  95. data/app/models/locomotive/extensions/site/first_installation.rb +5 -2
  96. data/app/models/locomotive/extensions/site/locales.rb +9 -6
  97. data/app/models/locomotive/extensions/site/subdomain_domains.rb +8 -8
  98. data/app/models/locomotive/membership.rb +6 -6
  99. data/app/models/locomotive/page.rb +30 -23
  100. data/app/models/locomotive/site.rb +19 -15
  101. data/app/models/locomotive/snippet.rb +5 -5
  102. data/app/models/locomotive/theme_asset.rb +17 -6
  103. data/app/models/locomotive/translation.rb +21 -16
  104. data/app/presenters/locomotive/account_presenter.rb +1 -1
  105. data/app/presenters/locomotive/content_entry_presenter.rb +2 -2
  106. data/app/presenters/locomotive/content_field_presenter.rb +2 -2
  107. data/app/presenters/locomotive/content_type_presenter.rb +6 -1
  108. data/app/presenters/locomotive/theme_asset_presenter.rb +2 -2
  109. data/app/uploaders/locomotive/editable_file_uploader.rb +1 -1
  110. data/app/uploaders/locomotive/theme_asset_uploader.rb +1 -1
  111. data/app/views/locomotive/accounts/new.html.haml +6 -6
  112. data/app/views/locomotive/content_assets/_asset.html.haml +3 -3
  113. data/app/views/locomotive/content_assets/_picker.html.haml +12 -12
  114. data/app/views/locomotive/content_entries/_form.html.haml +9 -8
  115. data/app/views/locomotive/content_entries/_list.html.haml +8 -5
  116. data/app/views/locomotive/content_entries/edit.html.haml +6 -6
  117. data/app/views/locomotive/content_entries/index.html.haml +8 -6
  118. data/app/views/locomotive/content_entries/new.html.haml +5 -5
  119. data/app/views/locomotive/content_types/_form.html.haml +16 -16
  120. data/app/views/locomotive/content_types/edit.html.haml +5 -5
  121. data/app/views/locomotive/content_types/new.html.haml +3 -3
  122. data/app/views/locomotive/current_site/_form.html.haml +12 -12
  123. data/app/views/locomotive/current_site/edit.html.haml +5 -5
  124. data/app/views/locomotive/custom_fields/_form.html.haml +23 -19
  125. data/app/views/locomotive/custom_fields/_select_templates.html.haml +5 -5
  126. data/app/views/locomotive/custom_fields/types/_belongs_to.html.haml +4 -4
  127. data/app/views/locomotive/custom_fields/types/_boolean.html.haml +3 -3
  128. data/app/views/locomotive/custom_fields/types/_date.html.haml +4 -4
  129. data/app/views/locomotive/custom_fields/types/_email.html.haml +4 -0
  130. data/app/views/locomotive/custom_fields/types/_file.html.haml +3 -3
  131. data/app/views/locomotive/custom_fields/types/_float.html.haml +6 -0
  132. data/app/views/locomotive/custom_fields/types/_has_many.html.haml +10 -10
  133. data/app/views/locomotive/custom_fields/types/_integer.html.haml +5 -0
  134. data/app/views/locomotive/custom_fields/types/_many_to_many.html.haml +10 -10
  135. data/app/views/locomotive/custom_fields/types/_select.html.haml +10 -10
  136. data/app/views/locomotive/custom_fields/types/_string.html.haml +3 -3
  137. data/app/views/locomotive/custom_fields/types/_tags.html.haml +4 -0
  138. data/app/views/locomotive/custom_fields/types/_text.html.haml +4 -4
  139. data/app/views/locomotive/devise_mailer/reset_password_instructions.html.haml +1 -1
  140. data/app/views/locomotive/installation/step_1.html.haml +5 -5
  141. data/app/views/locomotive/installation/step_2.html.haml +6 -6
  142. data/app/views/locomotive/kaminari/_first_page.html.haml +2 -0
  143. data/app/views/locomotive/kaminari/_gap.html.haml +2 -0
  144. data/app/views/locomotive/kaminari/_last_page.html.haml +2 -0
  145. data/app/views/locomotive/kaminari/_next_page.html.haml +2 -0
  146. data/app/views/locomotive/kaminari/_page.html.haml +2 -0
  147. data/app/views/locomotive/kaminari/_paginator.html.haml +11 -0
  148. data/app/views/locomotive/kaminari/_prev_page.html.haml +2 -0
  149. data/app/views/locomotive/layouts/application.html.haml +2 -2
  150. data/app/views/locomotive/layouts/not_logged_in.html.haml +3 -3
  151. data/app/views/locomotive/memberships/new.html.haml +4 -4
  152. data/app/views/locomotive/my_account/edit.html.haml +14 -13
  153. data/app/views/locomotive/notifications/new_content_entry.html.haml +2 -2
  154. data/app/views/locomotive/pages/_editable_elements.html.haml +20 -20
  155. data/app/views/locomotive/pages/_form.html.haml +23 -27
  156. data/app/views/locomotive/pages/_page.html.haml +6 -6
  157. data/app/views/locomotive/pages/edit.html.haml +5 -5
  158. data/app/views/locomotive/pages/index.html.haml +2 -2
  159. data/app/views/locomotive/pages/new.html.haml +4 -4
  160. data/app/views/locomotive/passwords/edit.html.haml +3 -3
  161. data/app/views/locomotive/passwords/new.html.haml +2 -2
  162. data/app/views/locomotive/public/pages/show_toolbar.html.haml +15 -15
  163. data/app/views/locomotive/sessions/new.html.haml +4 -4
  164. data/app/views/locomotive/shared/_footer.html.haml +1 -1
  165. data/app/views/locomotive/shared/_head.html.haml +7 -7
  166. data/app/views/locomotive/shared/_header.html.haml +2 -2
  167. data/app/views/locomotive/shared/_locale_picker_link.html.haml +1 -1
  168. data/app/views/locomotive/shared/_site_picker.html.haml +2 -2
  169. data/app/views/locomotive/shared/actions/_contents.html.haml +1 -1
  170. data/app/views/locomotive/shared/menu/_contents.html.haml +5 -5
  171. data/app/views/locomotive/sites/_domains.html.haml +7 -7
  172. data/app/views/locomotive/sites/_form.html.haml +6 -1
  173. data/app/views/locomotive/sites/_memberships.html.haml +3 -3
  174. data/app/views/locomotive/sites/new.html.haml +3 -3
  175. data/app/views/locomotive/snippets/_form.html.haml +6 -6
  176. data/app/views/locomotive/snippets/_snippet.html.haml +2 -2
  177. data/app/views/locomotive/snippets/edit.html.haml +5 -5
  178. data/app/views/locomotive/snippets/new.html.haml +3 -3
  179. data/app/views/locomotive/theme_assets/_asset.html.haml +2 -2
  180. data/app/views/locomotive/theme_assets/_form.html.haml +10 -10
  181. data/app/views/locomotive/theme_assets/_list.html.haml +3 -3
  182. data/app/views/locomotive/theme_assets/_picker.html.haml +8 -8
  183. data/app/views/locomotive/theme_assets/edit.html.haml +7 -7
  184. data/app/views/locomotive/theme_assets/index.html.haml +6 -6
  185. data/app/views/locomotive/theme_assets/new.html.haml +3 -3
  186. data/app/views/locomotive/translations/_form.html.haml +3 -3
  187. data/app/views/locomotive/translations/edit.html.haml +6 -6
  188. data/app/views/locomotive/translations/index.html.haml +2 -0
  189. data/app/views/locomotive/translations/new.html.haml +2 -2
  190. data/config/initializers/csv_renderer.rb +10 -0
  191. data/config/locales/admin_ui.de.yml +1 -0
  192. data/config/locales/admin_ui.en.yml +12 -0
  193. data/config/locales/admin_ui.es.yml +1 -0
  194. data/config/locales/admin_ui.et.yml +1 -0
  195. data/config/locales/admin_ui.fr.yml +12 -0
  196. data/config/locales/admin_ui.it.yml +1 -0
  197. data/config/locales/admin_ui.ja.yml +335 -0
  198. data/config/locales/admin_ui.nb.yml +1 -0
  199. data/config/locales/admin_ui.nl.yml +1 -0
  200. data/config/locales/admin_ui.pl.yml +1 -0
  201. data/config/locales/admin_ui.pt-BR.yml +8 -0
  202. data/config/locales/admin_ui.ru.yml +1 -0
  203. data/config/locales/carrierwave.ja.yml +4 -0
  204. data/config/locales/default.de.yml +1 -1
  205. data/config/locales/default.en.yml +1 -1
  206. data/config/locales/default.es.yml +3 -0
  207. data/config/locales/default.et.yml +2 -2
  208. data/config/locales/default.fr.yml +1 -1
  209. data/config/locales/default.it.yml +3 -0
  210. data/config/locales/default.ja.yml +94 -0
  211. data/config/locales/default.nb.yml +1 -1
  212. data/config/locales/default.nl.yml +5 -0
  213. data/config/locales/default.pl.yml +2 -2
  214. data/config/locales/default.pt-BR.yml +3 -2
  215. data/config/locales/default.ru.yml +19 -16
  216. data/config/locales/devise.ja.yml +63 -0
  217. data/config/locales/flash.ja.yml +115 -0
  218. data/config/locales/formtastic.en.yml +7 -0
  219. data/config/locales/formtastic.fr.yml +9 -0
  220. data/config/locales/formtastic.ja.yml +103 -0
  221. data/config/locales/formtastic.pt-BR.yml +1 -1
  222. data/config/routes.rb +5 -2
  223. data/features/api/authentication.feature +24 -2
  224. data/features/api/authorization/pages.feature +3 -1
  225. data/features/api/entries_custom_fields.feature +2 -2
  226. data/features/backoffice/authorization/pages.feature +7 -7
  227. data/features/backoffice/content_types/email.feature +26 -0
  228. data/features/backoffice/content_types/has_many.feature +20 -0
  229. data/features/backoffice/content_types/integer.feature +26 -0
  230. data/features/backoffice/content_types/many_to_many.feature +29 -1
  231. data/features/backoffice/content_types/tags.feature +22 -0
  232. data/features/backoffice/content_types/uniqueness.feature +29 -0
  233. data/features/backoffice/contents.feature +16 -0
  234. data/features/backoffice/installation.feature +33 -0
  235. data/features/backoffice/my_account.feature +21 -0
  236. data/features/backoffice/pages.feature +21 -1
  237. data/features/backoffice/site.feature +59 -40
  238. data/features/backoffice/snippets.feature +1 -1
  239. data/features/backoffice/translations.feature +7 -1
  240. data/features/public/basic.feature +1 -1
  241. data/features/public/pages.feature +92 -0
  242. data/features/public/session.feature +40 -0
  243. data/features/public/tags.feature +45 -0
  244. data/features/step_definitions/backoffice_steps.rb +4 -0
  245. data/features/step_definitions/content_types_steps.rb +16 -3
  246. data/features/step_definitions/more_web_steps.rb +35 -4
  247. data/features/step_definitions/page_steps.rb +52 -35
  248. data/features/step_definitions/pagination_steps.rb +4 -4
  249. data/features/step_definitions/site_steps.rb +22 -10
  250. data/features/step_definitions/snippet_steps.rb +1 -1
  251. data/features/step_definitions/theme_asset_steps.rb +2 -2
  252. data/features/step_definitions/translation_steps.rb +1 -1
  253. data/features/step_definitions/web_steps.rb +1 -1
  254. data/features/support/http.rb +1 -1
  255. data/features/support/locales.rb +5 -0
  256. data/lib/generators/locomotive/install/install_generator.rb +1 -6
  257. data/lib/generators/locomotive/install/templates/carrierwave.rb +4 -4
  258. data/lib/generators/locomotive/install/templates/locomotive.rb +12 -7
  259. data/lib/locomotive.rb +4 -4
  260. data/lib/locomotive/action_controller.rb +1 -0
  261. data/lib/locomotive/action_controller/responder.rb +9 -10
  262. data/lib/locomotive/action_controller/section_helpers.rb +1 -1
  263. data/lib/locomotive/action_controller/ssl.rb +11 -0
  264. data/lib/locomotive/action_controller/url_helpers.rb +9 -5
  265. data/lib/locomotive/carrierwave/asset.rb +6 -6
  266. data/lib/locomotive/configuration.rb +28 -26
  267. data/lib/locomotive/core_ext.rb +1 -2
  268. data/lib/locomotive/custom_fields.rb +12 -6
  269. data/lib/locomotive/dependencies.rb +1 -0
  270. data/lib/locomotive/dragonfly.rb +1 -1
  271. data/lib/locomotive/engine.rb +3 -3
  272. data/lib/locomotive/formtastic.rb +1 -1
  273. data/lib/locomotive/httparty/webservice.rb +1 -1
  274. data/lib/locomotive/kaminari.rb +28 -13
  275. data/lib/locomotive/liquid.rb +1 -0
  276. data/lib/locomotive/liquid/drops/content_entry.rb +1 -1
  277. data/lib/locomotive/liquid/drops/content_types.rb +27 -2
  278. data/lib/locomotive/liquid/drops/page.rb +14 -2
  279. data/lib/locomotive/liquid/drops/proxy_collection.rb +4 -0
  280. data/lib/locomotive/liquid/drops/session_proxy.rb +16 -0
  281. data/lib/locomotive/liquid/drops/site.rb +11 -3
  282. data/lib/locomotive/liquid/drops/uploader.rb +1 -1
  283. data/lib/locomotive/liquid/filters/base.rb +1 -1
  284. data/lib/locomotive/liquid/filters/date.rb +2 -2
  285. data/lib/locomotive/liquid/filters/html.rb +12 -12
  286. data/lib/locomotive/liquid/filters/translate.rb +21 -3
  287. data/lib/locomotive/liquid/tags/consume.rb +50 -19
  288. data/lib/locomotive/liquid/tags/editable/base.rb +9 -9
  289. data/lib/locomotive/liquid/tags/editable/control.rb +1 -1
  290. data/lib/locomotive/liquid/tags/editable/file.rb +1 -1
  291. data/lib/locomotive/liquid/tags/editable/short_text.rb +1 -1
  292. data/lib/locomotive/liquid/tags/fetch_page.rb +28 -0
  293. data/lib/locomotive/liquid/tags/hybrid.rb +25 -0
  294. data/lib/locomotive/liquid/tags/inherited_block.rb +2 -2
  295. data/lib/locomotive/liquid/tags/inline_editor.rb +4 -4
  296. data/lib/locomotive/liquid/tags/javascript.rb +16 -0
  297. data/lib/locomotive/liquid/tags/link_to.rb +42 -0
  298. data/lib/locomotive/liquid/tags/locale_switcher.rb +1 -1
  299. data/lib/locomotive/liquid/tags/nav.rb +2 -2
  300. data/lib/locomotive/liquid/tags/paginate.rb +2 -2
  301. data/lib/locomotive/liquid/tags/session_assign.rb +39 -0
  302. data/lib/locomotive/liquid/tags/snippet.rb +1 -1
  303. data/lib/locomotive/liquid/tags/with_scope.rb +6 -2
  304. data/lib/locomotive/logger.rb +1 -1
  305. data/lib/locomotive/middlewares/cache.rb +1 -1
  306. data/lib/locomotive/middlewares/fonts.rb +1 -1
  307. data/lib/locomotive/middlewares/inline_editor.rb +1 -1
  308. data/lib/locomotive/middlewares/permalink.rb +1 -1
  309. data/lib/locomotive/middlewares/seo_trailing_slash.rb +1 -1
  310. data/lib/locomotive/mongoid/patches.rb +21 -21
  311. data/lib/locomotive/rails/action_view.rb +20 -4
  312. data/lib/locomotive/regexps.rb +1 -1
  313. data/lib/locomotive/render.rb +4 -2
  314. data/lib/locomotive/routing/default_constraint.rb +1 -1
  315. data/lib/locomotive/routing/site_dispatcher.rb +1 -1
  316. data/lib/locomotive/session_store.rb +7 -7
  317. data/lib/locomotive/version.rb +1 -1
  318. data/lib/tasks/development.rake +11 -9
  319. data/lib/tasks/locomotive.rake +11 -11
  320. data/mongodb/migrate/20130204072721_make_editable_elements_consistent.rb +3 -1
  321. data/mongodb/migrate/20130326201349_rename_entry_to_content_entry.rb +6 -6
  322. data/mongodb/migrate/20130511121956_generate_checksum_for_theme_assets.rb +14 -0
  323. data/mongodb/migrate/20130530162559_api_key_for_all_accounts.rb +10 -0
  324. data/spec/cells/locomotive/global_actions_spec.rb +11 -11
  325. data/spec/cells/locomotive/main_menu_cell_spec.rb +9 -9
  326. data/spec/cells/locomotive/settings_menu_cell_spec.rb +11 -11
  327. data/spec/dummy/config/environments/development.rb +1 -1
  328. data/spec/dummy/config/initializers/locomotive.rb +16 -11
  329. data/spec/dummy/config/mongoid.yml +99 -18
  330. data/spec/lib/action_view_spec.rb +19 -0
  331. data/spec/lib/core_ext_spec.rb +2 -2
  332. data/spec/lib/locomotive/configuration_spec.rb +1 -1
  333. data/spec/lib/locomotive/httparty/webservice_spec.rb +6 -6
  334. data/spec/lib/locomotive/liquid/drops/content_entry_spec.rb +1 -1
  335. data/spec/lib/locomotive/liquid/drops/current_user.rb +3 -3
  336. data/spec/lib/locomotive/liquid/drops/page_spec.rb +63 -14
  337. data/spec/lib/locomotive/liquid/drops/site_spec.rb +3 -3
  338. data/spec/lib/locomotive/liquid/filters/html_spec.rb +22 -7
  339. data/spec/lib/locomotive/liquid/filters/resize_spec.rb +3 -3
  340. data/spec/lib/locomotive/liquid/filters/translate_spec.rb +26 -12
  341. data/spec/lib/locomotive/liquid/tags/consume_spec.rb +26 -2
  342. data/spec/lib/locomotive/liquid/tags/csrf_spec.rb +3 -3
  343. data/spec/lib/locomotive/liquid/tags/editable/short_text_spec.rb +1 -1
  344. data/spec/lib/locomotive/liquid/tags/extends_spec.rb +5 -5
  345. data/spec/lib/locomotive/liquid/tags/javascript_spec.rb +18 -0
  346. data/spec/lib/locomotive/liquid/tags/locale_switcher_spec.rb +23 -13
  347. data/spec/lib/locomotive/liquid/tags/nav_spec.rb +11 -11
  348. data/spec/lib/locomotive/liquid/tags/paginate_spec.rb +13 -13
  349. data/spec/lib/locomotive/liquid/tags/seo_spec.rb +8 -8
  350. data/spec/lib/locomotive/liquid/tags/with_scope_spec.rb +8 -2
  351. data/spec/lib/locomotive/presentable_spec.rb +10 -10
  352. data/spec/lib/locomotive/render_spec.rb +14 -14
  353. data/spec/mailers/locomotive/notifications_spec.rb +3 -3
  354. data/spec/models/locomotive/ability_spec.rb +23 -9
  355. data/spec/models/locomotive/account_spec.rb +30 -8
  356. data/spec/models/locomotive/content_asset_spec.rb +1 -1
  357. data/spec/models/locomotive/content_entry_spec.rb +57 -2
  358. data/spec/models/locomotive/content_type_spec.rb +42 -41
  359. data/spec/models/locomotive/editable_control_spec.rb +5 -5
  360. data/spec/models/locomotive/editable_file_spec.rb +21 -5
  361. data/spec/models/locomotive/editable_long_text_spec.rb +3 -3
  362. data/spec/models/locomotive/editable_short_text_spec.rb +8 -8
  363. data/spec/models/locomotive/extensions/page/editable_elements_spec.rb +9 -9
  364. data/spec/models/locomotive/extensions/page/redirect_spec.rb +1 -1
  365. data/spec/models/locomotive/extensions/page/render_spec.rb +4 -8
  366. data/spec/models/locomotive/extensions/site/locales_spec.rb +2 -2
  367. data/spec/models/locomotive/membership_spec.rb +5 -5
  368. data/spec/models/locomotive/page_spec.rb +10 -1
  369. data/spec/models/locomotive/site_spec.rb +19 -19
  370. data/spec/models/locomotive/snippet_spec.rb +9 -9
  371. data/spec/models/locomotive/theme_asset_spec.rb +91 -57
  372. data/spec/requests/admin_ssl_spec.rb +25 -0
  373. data/spec/support/factories.rb +32 -27
  374. data/spec/support/locomotive.rb +2 -0
  375. data/vendor/assets/javascripts/locomotive/backbone.sync.js +1 -1
  376. data/vendor/assets/javascripts/locomotive/tag-it.min.js +16 -0
  377. data/vendor/assets/stylesheets/locomotive/jquery.tagit.css +67 -0
  378. metadata +108 -138
@@ -1,7 +1,7 @@
1
- %script{ :type => 'text/html', :id => "#{name}_list" }
1
+ %script{ type: 'text/html', id: "#{name}_list" }
2
2
 
3
3
  %h3!= title
4
4
  .inner
5
- %p.no-items{ :style => 'display: none' }!= empty_message
5
+ %p.no-items{ style: 'display: none' }!= empty_message
6
6
 
7
- %ul{ :class => name.dasherize }
7
+ %ul{ class: name.dasherize }
@@ -1,20 +1,20 @@
1
- %script{ :type => 'text/html', :id => 'theme_image_picker' }
1
+ %script{ type: 'text/html', id: 'theme_image_picker' }
2
2
 
3
3
  %h2!= t('locomotive.theme_assets.image_picker.title')
4
4
 
5
- %p.no-items{ :style => 'display: none' }!= t('locomotive.theme_assets.image_picker.no_items')
5
+ %p.no-items{ style: 'display: none' }!= t('locomotive.theme_assets.image_picker.no_items')
6
6
 
7
- %ul.list{ :style => 'display: none' }
7
+ %ul.list{ style: 'display: none' }
8
8
 
9
9
  .dialog-actions
10
- = link_to t('locomotive.buttons.close'), '#', :id => 'close-link'
10
+ = link_to t('locomotive.buttons.close'), '#', id: 'close-link'
11
11
 
12
12
  .button-wrapper.upload
13
- = form_tag theme_assets_url(:json), :class => 'quick-upload' do
14
- = file_field_tag 'theme_asset[source]', :multiple => 'multiple'
15
- = link_to t('locomotive.theme_assets.image_picker.upload'), theme_assets_url(:json), :class => 'new', :id => 'upload-link'
13
+ = form_tag theme_assets_url(:json), class: 'quick-upload' do
14
+ = file_field_tag 'theme_asset[source]', multiple: 'multiple'
15
+ = link_to t('locomotive.theme_assets.image_picker.upload'), theme_assets_url(:json), class: 'new', id: 'upload-link'
16
16
 
17
- %script{ :type => 'text/html', :id => 'theme_asset' }
17
+ %script{ type: 'text/html', id: 'theme_asset' }
18
18
 
19
19
  %li.item
20
20
  = link_to '{{local_path}}', '{{url}}'
@@ -1,21 +1,21 @@
1
- - title t('.title', :file => @theme_asset.source_filename)
1
+ - title t('.title', file: @theme_asset.source_filename)
2
2
 
3
3
  - content_for :submenu do
4
4
  = render_cell 'locomotive/settings_menu', :show
5
5
 
6
6
  - if can?(:manage, Locomotive::ThemeAsset)
7
7
  - content_for :buttons do
8
- = local_action_button t('locomotive.theme_assets.index.new'), new_theme_asset_url, :icon => 'icon-plus'
8
+ = local_action_button t('locomotive.theme_assets.index.new'), new_theme_asset_url, icon: 'icon-plus'
9
9
 
10
10
  %p.help
11
11
  - if %w(image javascript stylesheet).include?(@theme_asset.content_type.to_s)
12
- != t(".help_#{@theme_asset.content_type}", :path => @theme_asset.local_path(true), :width => @theme_asset.width, :height => @theme_asset.height)
12
+ != t(".help_#{@theme_asset.content_type}", path: @theme_asset.local_path(true), width: @theme_asset.width, height: @theme_asset.height)
13
13
 
14
- != t('.help', :url => @theme_asset.source.url)
14
+ != t('.help', url: @theme_asset.source.url)
15
15
 
16
16
 
17
- = semantic_form_for @theme_asset, :url => theme_asset_url(@theme_asset), :html => { :multipart => true, :class => 'save-with-shortcut' } do |form|
17
+ = semantic_form_for @theme_asset, url: theme_asset_url(@theme_asset), html: { multipart: true, class: 'save-with-shortcut' } do |form|
18
18
 
19
- = render 'form', :f => form
19
+ = render 'form', f: form
20
20
 
21
- = render 'locomotive/shared/form_actions', :back_url => theme_assets_url, :button_label => :update
21
+ = render 'locomotive/shared/form_actions', back_url: theme_assets_url, button_label: :update
@@ -17,12 +17,12 @@
17
17
 
18
18
  - content_for :backbone_view_data do
19
19
  :plain
20
- snippets: #{j can?(:manage, Locomotive::Snippet) ? @snippets.map { |snippet| snippet.to_presenter.as_json_for_html_view }.to_json.html_safe : 'null'},
21
- images: #{j theme_assets_to_json(@assets[:images]).html_safe},
22
- media: #{j theme_assets_to_json(@assets[:media]).html_safe},
23
- others: #{j theme_assets_to_json(@assets[:others]).html_safe},
24
- js_and_css_assets: #{j can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@js_and_css_assets).html_safe : 'null'},
25
- fonts: #{j can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@assets[:fonts]).html_safe : 'null'}
20
+ snippets: #{escape_json can?(:manage, Locomotive::Snippet) ? @snippets.map { |snippet| snippet.to_presenter.as_json_for_html_view }.to_json.html_safe : 'null'},
21
+ images: #{escape_json theme_assets_to_json(@assets[:images]).html_safe},
22
+ media: #{escape_json theme_assets_to_json(@assets[:media]).html_safe},
23
+ others: #{escape_json theme_assets_to_json(@assets[:others]).html_safe},
24
+ js_and_css_assets: #{escape_json can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@js_and_css_assets).html_safe : 'null'},
25
+ fonts: #{escape_json can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@assets[:fonts]).html_safe : 'null'}
26
26
 
27
27
  - content_for :submenu do
28
28
  = render_cell 'locomotive/settings_menu', :show
@@ -5,8 +5,8 @@
5
5
 
6
6
  %p!= t('.help')
7
7
 
8
- = semantic_form_for @theme_asset, :url => theme_assets_url, :html => { :multipart => true } do |form|
8
+ = semantic_form_for @theme_asset, url: theme_assets_url, html: { multipart: true } do |form|
9
9
 
10
- = render 'form', :f => form
10
+ = render 'form', f: form
11
11
 
12
- = render 'locomotive/shared/form_actions', :back_url => theme_assets_url, :button_label => :create
12
+ = render 'locomotive/shared/form_actions', back_url: theme_assets_url, button_label: :create
@@ -1,10 +1,10 @@
1
1
  - content_for :backbone_view_data do
2
2
  :plain
3
- translation: #{j @translation.to_json.html_safe}
3
+ translation: #{escape_json @translation.to_json.html_safe}
4
4
 
5
- = f.inputs :name => :information do
5
+ = f.inputs name: :information do
6
6
 
7
- = f.input :key, :wrapper_html => { :class => 'highlighted' }
7
+ = f.input :key, wrapper_html: { class: 'highlighted' }
8
8
 
9
9
  - current_site.locales.each do |l|
10
10
  %li.input.string
@@ -1,15 +1,15 @@
1
- - title t('.title', :key => @translation.key )
1
+ - title t('.title', key: @translation.key )
2
2
 
3
3
  - content_for :submenu do
4
4
  = render_cell 'locomotive/settings_menu', :show
5
5
 
6
6
  - content_for :buttons do
7
- = local_action_button t('locomotive.translations.index.new'), new_translation_url, :icon => 'icon-plus'
7
+ = local_action_button t('locomotive.translations.index.new'), new_translation_url, icon: 'icon-plus'
8
8
 
9
- %p!= t('.help', :key => @translation.key)
9
+ %p!= t('.help', key: @translation.key)
10
10
 
11
- = semantic_form_for @translation, :html => { :class => 'save-with-shortcut' } do |form|
11
+ = semantic_form_for @translation, html: { class: 'save-with-shortcut' } do |form|
12
12
 
13
- = render 'form', :f => form
13
+ = render 'form', f: form
14
14
 
15
- = render 'locomotive/shared/form_actions', :back_url => translations_url, :button_label => :update
15
+ = render 'locomotive/shared/form_actions', back_url: translations_url, button_label: :update
@@ -26,3 +26,5 @@
26
26
  = l translation.updated_at, format: :short
27
27
 
28
28
  = link_to_icon :trash, translation_url(translation), title: t('.remove', key: translation.key, default: ''), class: 'remove', data: { confirm: t('locomotive.messages.confirm') }, method: :delete
29
+
30
+ = paginate @translations, namespace: 'locomotive'
@@ -7,6 +7,6 @@
7
7
 
8
8
  = semantic_form_for @translation do |form|
9
9
 
10
- = render 'form', :f => form
10
+ = render 'form', f: form
11
11
 
12
- = render 'locomotive/shared/form_actions', :back_url => translations_url, :button_label => :create
12
+ = render 'locomotive/shared/form_actions', back_url: translations_url, button_label: :create
@@ -0,0 +1,10 @@
1
+ ActionController::Renderers.add :csv do |obj, options|
2
+ csv = obj.respond_to?(:to_csv) ? obj.to_csv(options) : obj
3
+
4
+ if filename = options[:filename]
5
+ send_data csv, type: Mime::CSV, disposition: "attachment; filename=#{filename}.csv"
6
+ else
7
+ self.content_type ||= Mime::CSV
8
+ self.response_body = csv
9
+ end
10
+ end
@@ -22,6 +22,7 @@ de:
22
22
  es: Spanisch
23
23
  ru: Russisch
24
24
  et: Estnisch
25
+ ja: Japanisch
25
26
 
26
27
  buttons:
27
28
  login: Einloggen
@@ -21,6 +21,7 @@ en:
21
21
  es: Spanish
22
22
  ru: Russian
23
23
  et: Estonian
24
+ ja: Japanese
24
25
 
25
26
  messages:
26
27
  confirm: Are you sure ?
@@ -74,9 +75,20 @@ en:
74
75
  title: "Hi %{name}, just to let you know that a new instance has been created on %{date} for the site <b>%{domain}</b>"
75
76
  type: "Model: %{type}"
76
77
 
78
+ pagination:
79
+ first: "&laquo;"
80
+ last: "&raquo;"
81
+ previous: "&lsaquo;"
82
+ next: "&rsaquo;"
83
+ truncate: "&hellip;"
84
+
77
85
  sites_picker:
78
86
  new: + new site
79
87
 
88
+ api_key:
89
+ none: Please click on the next button to generate the API key.
90
+ button: Regenerate
91
+
80
92
  custom_fields:
81
93
  edit:
82
94
  title: Editing custom field
@@ -171,6 +171,7 @@ es:
171
171
  es: Español
172
172
  ru: Ruso
173
173
  et: Estonio
174
+ ja: Japonés
174
175
  ask_for_name: "Por favor escriba su nuevo nombre"
175
176
 
176
177
  theme_assets:
@@ -21,6 +21,7 @@ et:
21
21
  es: Hispaania
22
22
  ru: Vene
23
23
  et: Eesti
24
+ ja: Jaapanlane
24
25
 
25
26
  messages:
26
27
  confirm: Oled kindel ?
@@ -22,6 +22,7 @@ fr:
22
22
  es: Espagnol
23
23
  ru: Russe
24
24
  et: Estonien
25
+ ja: Japonais
25
26
 
26
27
  buttons:
27
28
  login: Se connecter
@@ -74,9 +75,20 @@ fr:
74
75
  title: "Bonjour %{name}, nous voulions vous faire savoir qu'une nouvelle instance a été créée le %{date} pour le site <b>%{domain}</b>"
75
76
  type: "Modèle: %{type}"
76
77
 
78
+ pagination:
79
+ first: "&laquo;"
80
+ last: "&raquo;"
81
+ previous: "&lsaquo;"
82
+ next: "&rsaquo;"
83
+ truncate: "&hellip;"
84
+
77
85
  sites_picker:
78
86
  new: + nouveau site
79
87
 
88
+ api_key:
89
+ none: Cliquez sur le bouton suivant pour générer une clé API.
90
+ button: Re-générer
91
+
80
92
  custom_fields:
81
93
  edit:
82
94
  title: Editer champ personnalisé
@@ -171,6 +171,7 @@ it:
171
171
  es: Spagnolo
172
172
  ru: Russo
173
173
  et: Estone
174
+ ja: Giapponese
174
175
  ask_for_name: "Prego, digita il tuo nome"
175
176
 
176
177
  theme_assets:
@@ -0,0 +1,335 @@
1
+ ja:
2
+ locomotive:
3
+ buttons:
4
+ login: ログイン
5
+ send_password: 送信
6
+ change_password: 更新
7
+ new_item: 新規作成
8
+ switch_to_site: 移動
9
+ delete: 削除
10
+ close: 閉じる
11
+
12
+ locales:
13
+ en: 英語
14
+ de: ドイツ語
15
+ fr: フランス語
16
+ pl: ポーランド語
17
+ pt-BR: ブラジルポルトガル語
18
+ it: イタリア語
19
+ nl: オランダ語
20
+ nb: ノルウェー語
21
+ es: スペイン語
22
+ ru: ロシア語
23
+ et: エストニア語
24
+ ja: 日本語
25
+
26
+ messages:
27
+ confirm: 本当によろしいですか?
28
+ sending_form: 送信しました。
29
+
30
+ shared:
31
+ header:
32
+ welcome: "ようこそ %{name}さん"
33
+ see: サイトを見る
34
+ switch: サイトを切り替える
35
+ help: ヘルプ
36
+ logout: ログアウト
37
+ menu:
38
+ contents: コンテンツ
39
+ assets: アセット
40
+ settings: 設定
41
+ pages: ページ
42
+ snippets: スニペット
43
+ account: アカウント
44
+ site: サイト
45
+ theme_assets: テーマファイル
46
+ translations: 翻訳
47
+ form:
48
+ change_file: 変更
49
+ delete_file: 削除
50
+ cancel: キャンセル
51
+ form_actions:
52
+ back: 保存せずに戻る
53
+ create: 新規作成
54
+ update: 保存
55
+ send: 送信
56
+ disable_with: "処理中..."
57
+ list:
58
+ untranslated: 未翻訳
59
+ footer:
60
+ who_is_behind: "LocomotiveCMS is developed by %{development} and designed by <a href=\"http://www.sachagreif.com\">Sacha Greif</a> &mdash; <small>version</small> %{version}"
61
+
62
+ errors:
63
+ "500":
64
+ title: アプリケーションエラー
65
+ notice: サーバ側でエラーが発生しました。
66
+ link: "&rarr; アプリケーションに戻る"
67
+ "404":
68
+ title: ページが見つかりません。
69
+ notice: 要求されたページを見つけられませんでした。
70
+ link: "&rarr; アプリケーションに戻る"
71
+
72
+ notifications:
73
+ new_content_entry:
74
+ subject: "[%{domain}][%{type}] 新規エントリ"
75
+ title: "こんにちは%{name}さん、<b>%{domain}</b>にて新しいエントリが%{date}に作成されました。"
76
+ type: "モデル:%{type}"
77
+
78
+ sites_picker:
79
+ new: 新規作成
80
+
81
+ custom_fields:
82
+ edit:
83
+ title: カスタムフィールドを編集する
84
+ text_formatting:
85
+ none: None
86
+ html: HTML
87
+ types:
88
+ file:
89
+ delete_file: ファイルを削除する
90
+ has_many:
91
+ empty: リストは空です。
92
+ new_entry: エントリを新規作成する
93
+ many_to_many:
94
+ empty: リストは空です。下のセレクトボックスからエントリを追加してください。
95
+
96
+ form:
97
+ required: 必須項目
98
+ default_label: フィールド名
99
+ select_options:
100
+ ask_name: オプションラベルを入力してください。
101
+
102
+ sessions:
103
+ new:
104
+ title: ログイン
105
+ link: パスワードを忘れましたか?
106
+ email: メールアドレス
107
+ password: パスワード
108
+
109
+ passwords:
110
+ new:
111
+ title: パスワードを忘れましたか?
112
+ link: "&rarr; ログインページに戻る"
113
+ email: メールアドレス
114
+ edit:
115
+ title: パスワードを変更する。
116
+ link: "&rarr; ログインページに戻る"
117
+ password: 新しいパスワード
118
+ password_confirmation: 新しいパスワード(確認)
119
+
120
+ pages:
121
+ index:
122
+ title: ページ一覧
123
+ help: ページはツリー上に並んでいます。
124
+ no_items: "現在、ページが存在しません。<a href=\"%{url}\">こちら</a>から作成できます。"
125
+ new: 新規ページ
126
+ latest_entries: 最新ページ
127
+ new:
128
+ title: 新規ページ
129
+ help: "フォームを編集してください。(デフォルトではページは公開されません)"
130
+ page:
131
+ updated_at: 更新日時
132
+ edit:
133
+ show: 閲覧
134
+ help: "タイトルをクリックすると編集することができます。更新を保存するには保存ボタンをクリックしてください。"
135
+ ask_for_title: "新規ページのタイトルを入力してください。"
136
+ form:
137
+ change_file: 変更
138
+ delete_file: 削除
139
+ cancel: キャンセル
140
+ default_block: デフォルト
141
+ cache_strategy:
142
+ none: None
143
+ simple: Simple
144
+ hour: 1時間
145
+ day: 1日
146
+ week: 1週間
147
+ month: 1ヶ月
148
+ redirect_type:
149
+ permanent: "Permanent (301)"
150
+ temporary: "Temporary (302)"
151
+
152
+ snippets:
153
+ index:
154
+ title: スニペット一覧
155
+ help: スニペットとはフッターなどサイトの各所で使用されるHTML片です。
156
+ no_items: "現在、スニペットが存在しません。<a href=\"%{url}\">こちら</a>から作成できます。"
157
+ new: 新規スニペット
158
+ new:
159
+ title: 新規スニペット
160
+ help: フォームを編集してください。
161
+ edit:
162
+ title: スニペット編集
163
+ help: "スニペットをページで使用するためには次のリキッドコードを使用します。<span class='code'>{% include '%{slug}' %}</span>"
164
+ snippet:
165
+ updated_at: 更新日時
166
+
167
+ sites:
168
+ new:
169
+ title: 新規サイト
170
+ help: フォームを編集してください。
171
+ domains:
172
+ empty: "サイトに関連付けられたドメインは存在しません。Simply add your domains just below. <b>Do not forget to upgrade your DNS.</b>"
173
+
174
+ current_site:
175
+ edit:
176
+ new_membership: アカウント追加
177
+ help: サイト名をクリックすると編集することができます。変更を保存するには保存ボタンをクリックしてください。
178
+ ask_for_name: 新しいサイト名を入力してください。
179
+
180
+ memberships:
181
+ roles:
182
+ admin: 管理者
183
+ designer: デザイナー
184
+ author: 作者
185
+ new:
186
+ title: 新規メンバーシップ
187
+ help: 追加するアカウントのメールアドレスを入力してください。メールアドレスが存在しない場合、アカウント作成画面に移動します。
188
+
189
+ accounts:
190
+ new:
191
+ title: 新規アカウント
192
+ help: フォームを編集してください。
193
+
194
+ my_account:
195
+ edit:
196
+ help: アカウント名をクリックすると編集することができます。変更を保存するには保存ボタンをクリックしてください。
197
+ new_site: 新規サイト
198
+ ask_for_name: サイト名を入力してください。
199
+
200
+ theme_assets:
201
+ index:
202
+ title: テーマファイル一覧
203
+ help: "テーマファイルセクションはレイアウトやスニペットなどに必要となるファイルを管理する場所です。画像を管理する必要がある場合は新しいコンテンツタイプを作成してください。<br/><b>警告:</b>あなたに付与された権限によっては全て表示されないことがあります。"
204
+ quick_upload: クイックアップロード
205
+ new: 新規ファイル
206
+ snippets: スニペット
207
+ css_and_js: CSS&Javascript
208
+ fonts: フォント
209
+ images: 画像
210
+ media: メディア
211
+ no_items: 現在、ファイルがありません。
212
+ asset:
213
+ updated_at: 更新日時
214
+ new:
215
+ title: 新規ファイル
216
+ help: アップロードするファイルを選ぶかCSSやJavascriptをコピー&ペーストしてください。
217
+ edit:
218
+ title: "編集 %{file}"
219
+ help: "このアセットは次のURLから直接アクセスできます。<a href='%{url}'>%{url}</a>"
220
+ help_image: "テンプレートやスニペットで画像を使用するためには次のコードを使用します。<span class='code'>{{ '%{path}' | theme_image_tag }}</span>.<br/><b>%{width}px x %{height}px</b>.<br/>"
221
+ help_javascript: "テンプレートやスニペットでJavascriptを使用するためには次のコードを使用します。<span class='code'>{{ '%{path}' | javascript_tag }}</span>.<br/>"
222
+ help_stylesheet: "テンプレートやスニペットにCSSを適用するためには次のコードを使用します。<span class='code'>{{ '%{path}' | stylesheet_tag }}</span>.<br/>"
223
+ form:
224
+ picker_link: ファイルを挿入する
225
+ choose_file: ファイルを選択する
226
+ choose_plain_text: テキストを選択する
227
+ image_picker:
228
+ title: 画像を挿入する
229
+ no_items: 画像がありません。
230
+ upload: 画像をアップロードする
231
+
232
+ translations:
233
+ untranslated: "未翻訳ロケール:%{list}"
234
+ index:
235
+ title: 翻訳
236
+ new: 新規翻訳
237
+ no_items: "現在、翻訳がありません。新規作成するには<a href=\"%{url}\">こちら</a>をクリックしてください。"
238
+ remove: "%{key}を削除する"
239
+ new:
240
+ title: 新規翻訳
241
+ help: "スニペットは<b>translate</b>リキッドタグによって全てのロケールで同じテンプレートを共有することができます。"
242
+ edit:
243
+ title: "編集 %{key}"
244
+ help: "次のコードによって翻訳キーを使用することができます。<span class='code'>{{ '%{key}' | translate }}</span>."
245
+
246
+ content_assets:
247
+ picker:
248
+ title: メディアを挿入する
249
+ no_items: メディアがありません。
250
+ upload: メディアをアップロードする
251
+
252
+ content_types:
253
+ index:
254
+ new: 新規モデル
255
+ edit: モデル編集
256
+ new:
257
+ title: 新規モデル
258
+ help: モデルを作成します。(Projects, Peopleなど)モデルは1つ以上のフィールドを持つ必要があります。
259
+ edit:
260
+ title: モデル編集
261
+ help: モデルは1つ以上のフィールドを持つ必要があります。
262
+ show_entries: エントリ閲覧
263
+ new_entry: 新規エントリ
264
+ form:
265
+ order_by:
266
+ created_at: 作成日時
267
+ updated_at: 更新日時
268
+ position_in_list: 手動
269
+ order_direction:
270
+ asc: 昇順
271
+ desc: 降順
272
+
273
+ content_entries:
274
+ index:
275
+ title: "%{type}一覧"
276
+ edit: モデル編集
277
+ destroy: モデル削除
278
+ download: エントリダウンロード
279
+ new: 新規エントリ
280
+ category_noname: "No name"
281
+ latest_entries: 最新エントリ
282
+ updated_at: 更新日時
283
+ list:
284
+ no_items: "現在、エントリが存在しません。<a href=\"%{url}\">こちら</a>から作成してください。"
285
+ new:
286
+ title: '%{type} &mdash; 新規エントリ'
287
+ edit:
288
+ title: '%{type} &mdash; エントリ編集'
289
+ form:
290
+ edit_select_options: オプション編集
291
+ has_many:
292
+ new_entry: 新規エントリ
293
+
294
+ code_editing:
295
+ image_picker: コードに画像を挿入する。
296
+ copy_template: メインロケールからテンプレートをコピーする。
297
+
298
+ cross_domain_sessions:
299
+ new:
300
+ title: クロスドメイン認証
301
+ notice: 数秒後にサイトを移動します。
302
+
303
+ installation:
304
+ common:
305
+ title: Locomotive CMS 初期設定
306
+ next: 次へ
307
+ step_1:
308
+ title: "Step 1/2 &mdash; アカウント作成"
309
+ name: アカウント名
310
+ email: メールアドレス
311
+ password: パスワード
312
+ password_confirmation: パスワード(確認)
313
+ done: "既にアカウントが存在します:<br/><strong>%{name}</strong>, <em>%{email}</em>"
314
+ next: アカウントを作成する
315
+ step_2:
316
+ title: "Step 2/2 &mdash; サイト作成"
317
+ explanations: "作成するサイトの名前と地域をロケールを選択してください。"
318
+ default_site_locale: ロケール
319
+ default_site_locales_hints: ロケールは設定画面から追加することもできます。
320
+ next: サイトを作成する
321
+
322
+ public:
323
+ pages:
324
+ show_toolbar:
325
+ statuses:
326
+ loading: "読み込み中..."
327
+ disabled: インラインエディタは無効です。
328
+ labels:
329
+ save_changes: 変更を保存する:
330
+ editing_mode: 編集モード:
331
+ lang: 言語:
332
+ buttons:
333
+ back: バックオフィスに戻る
334
+ confirm: 確認
335
+ cancel: キャンセル