pageflow 17.0.5 → 17.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 (636) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +342 -41
  3. data/README.md +3 -5
  4. data/admins/pageflow/accounts.rb +22 -20
  5. data/admins/pageflow/entry.rb +76 -26
  6. data/admins/pageflow/entry_templates.rb +10 -9
  7. data/admins/pageflow/folder.rb +1 -1
  8. data/admins/pageflow/membership.rb +15 -15
  9. data/admins/pageflow/revisions.rb +5 -5
  10. data/admins/pageflow/site_root_entry.rb +64 -0
  11. data/admins/pageflow/sites.rb +12 -3
  12. data/admins/pageflow/translations.rb +75 -0
  13. data/admins/pageflow/user.rb +21 -35
  14. data/app/assets/images/pageflow/admin/icons/comment.svg +1 -0
  15. data/app/assets/javascripts/pageflow/admin/entries.js +30 -5
  16. data/app/assets/javascripts/pageflow/dist/ui.js +4228 -900
  17. data/app/assets/javascripts/pageflow/editor/vendor.js +0 -1
  18. data/app/assets/javascripts/pageflow/ui.js +0 -1
  19. data/app/assets/stylesheets/pageflow/admin/entries/index_table.scss +2 -1
  20. data/app/assets/stylesheets/pageflow/admin/entry_comments_indicator.scss +45 -0
  21. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +8 -0
  22. data/app/assets/stylesheets/pageflow/admin.scss +1 -0
  23. data/app/assets/stylesheets/pageflow/animations/spin.scss +9 -0
  24. data/app/assets/stylesheets/pageflow/animations.scss +1 -0
  25. data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +27 -5
  26. data/app/assets/stylesheets/pageflow/editor/base.scss +11 -1
  27. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +20 -2
  28. data/app/assets/stylesheets/pageflow/editor/edit_configuration_view.scss +5 -0
  29. data/app/assets/stylesheets/pageflow/editor/file_folders.scss +127 -0
  30. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +5 -2
  31. data/app/assets/stylesheets/pageflow/editor/file_meta_data_overlay.scss +45 -0
  32. data/app/assets/stylesheets/pageflow/editor/file_preview.scss +138 -0
  33. data/app/assets/stylesheets/pageflow/editor/file_references.scss +68 -0
  34. data/app/assets/stylesheets/pageflow/editor/file_settings_dialog.scss +1 -1
  35. data/app/assets/stylesheets/pageflow/editor/file_stage_icons.scss +17 -0
  36. data/app/assets/stylesheets/pageflow/editor/file_stages.scss +25 -32
  37. data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +31 -48
  38. data/app/assets/stylesheets/pageflow/editor/file_type_pills.scss +73 -0
  39. data/app/assets/stylesheets/pageflow/editor/files.scss +242 -50
  40. data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +161 -9
  41. data/app/assets/stylesheets/pageflow/editor/folder_breadcrumb.scss +40 -0
  42. data/app/assets/stylesheets/pageflow/editor/info_box.scss +23 -3
  43. data/app/assets/stylesheets/pageflow/editor/inputs/edit_defaults_button.scss +15 -0
  44. data/app/assets/stylesheets/pageflow/editor/inputs.scss +1 -0
  45. data/app/assets/stylesheets/pageflow/editor/list.scss +89 -37
  46. data/app/assets/stylesheets/pageflow/editor/list_search_field.scss +52 -0
  47. data/app/assets/stylesheets/pageflow/editor/manage_files.scss +9 -0
  48. data/app/assets/stylesheets/pageflow/editor/menu.scss +14 -0
  49. data/app/assets/stylesheets/pageflow/editor/move_to_folder_dialog.scss +83 -0
  50. data/app/assets/stylesheets/pageflow/editor/outline.scss +0 -13
  51. data/app/assets/stylesheets/pageflow/editor/sortable.scss +12 -0
  52. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +4 -4
  53. data/app/assets/stylesheets/pageflow/mixins/pageflow.scss +9 -5
  54. data/app/assets/stylesheets/pageflow/ui/color_picker.scss +230 -0
  55. data/app/assets/stylesheets/pageflow/ui/forms.scss +38 -4
  56. data/app/assets/stylesheets/pageflow/ui/functions.scss +12 -2
  57. data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +9 -8
  58. data/app/assets/stylesheets/pageflow/ui/input/file_name_input.scss +37 -0
  59. data/app/assets/stylesheets/pageflow/ui/input/text_area_input.scss +15 -0
  60. data/app/assets/stylesheets/pageflow/ui/overrides.scss +8 -0
  61. data/app/assets/stylesheets/pageflow/ui/properties.scss +34 -0
  62. data/app/assets/stylesheets/pageflow/ui/tabs_view.scss +8 -3
  63. data/app/assets/stylesheets/pageflow/ui.scss +4 -1
  64. data/app/controllers/concerns/pageflow/controller_delegation.rb +1 -1
  65. data/app/controllers/concerns/pageflow/edit_locking.rb +17 -10
  66. data/app/controllers/concerns/pageflow/entry_password_protection.rb +1 -0
  67. data/app/controllers/concerns/pageflow/public_https_mode.rb +2 -1
  68. data/app/controllers/concerns/pageflow/quota_verification.rb +5 -4
  69. data/app/controllers/pageflow/admin/initial_passwords_controller.rb +1 -0
  70. data/app/controllers/pageflow/application_controller.rb +19 -19
  71. data/app/controllers/pageflow/chapters_controller.rb +3 -2
  72. data/app/controllers/pageflow/edit_locks_controller.rb +3 -2
  73. data/app/controllers/pageflow/editor/encoding_confirmations_controller.rb +1 -0
  74. data/app/controllers/pageflow/editor/entries_controller.rb +3 -1
  75. data/app/controllers/pageflow/editor/entry_publications_controller.rb +1 -0
  76. data/app/controllers/pageflow/editor/file_folders_controller.rb +80 -0
  77. data/app/controllers/pageflow/editor/file_import_controller.rb +4 -3
  78. data/app/controllers/pageflow/editor/files_controller.rb +20 -10
  79. data/app/controllers/pageflow/editor/oembeds_controller.rb +21 -0
  80. data/app/controllers/pageflow/editor/widgets_controller.rb +1 -0
  81. data/app/controllers/pageflow/entries_controller.rb +85 -21
  82. data/app/controllers/pageflow/feeds_controller.rb +1 -1
  83. data/app/controllers/pageflow/files_controller.rb +1 -0
  84. data/app/controllers/pageflow/pages_controller.rb +4 -2
  85. data/app/controllers/pageflow/review/comment_thread_reads_controller.rb +30 -0
  86. data/app/controllers/pageflow/review/comment_threads_controller.rb +60 -0
  87. data/app/controllers/pageflow/review/comments_controller.rb +53 -0
  88. data/app/controllers/pageflow/revisions_controller.rb +5 -1
  89. data/app/controllers/pageflow/sitemaps_controller.rb +1 -1
  90. data/app/controllers/pageflow/storylines_controller.rb +1 -0
  91. data/app/helpers/pageflow/admin/cutoff_modes_helper.rb +12 -0
  92. data/app/helpers/pageflow/admin/entries_helper.rb +41 -1
  93. data/app/helpers/pageflow/admin/entry_translations_helper.rb +18 -0
  94. data/app/helpers/pageflow/admin/features_helper.rb +1 -1
  95. data/app/helpers/pageflow/admin/form_helper.rb +3 -3
  96. data/app/helpers/pageflow/admin/locales_helper.rb +10 -2
  97. data/app/helpers/pageflow/admin/memberships_helper.rb +32 -32
  98. data/app/helpers/pageflow/admin/revisions_helper.rb +1 -1
  99. data/app/helpers/pageflow/admin/sites_helper.rb +22 -0
  100. data/app/helpers/pageflow/admin/users_helper.rb +7 -5
  101. data/app/helpers/pageflow/admin/widgets_helper.rb +5 -5
  102. data/app/helpers/pageflow/asset_urls_helper.rb +1 -1
  103. data/app/helpers/pageflow/audio_files_helper.rb +5 -2
  104. data/app/helpers/pageflow/background_image_helper.rb +7 -6
  105. data/app/helpers/pageflow/common_entry_seed_helper.rb +7 -7
  106. data/app/helpers/pageflow/editor/config_helper.rb +3 -1
  107. data/app/helpers/pageflow/editor/files_helper.rb +1 -1
  108. data/app/helpers/pageflow/embed_code_helper.rb +3 -3
  109. data/app/helpers/pageflow/entries_helper.rb +52 -46
  110. data/app/helpers/pageflow/entry_json_seed_helper.rb +7 -6
  111. data/app/helpers/pageflow/feeds_helper.rb +2 -2
  112. data/app/helpers/pageflow/file_background_images_helper.rb +2 -2
  113. data/app/helpers/pageflow/file_thumbnails_helper.rb +4 -3
  114. data/app/helpers/pageflow/files_helper.rb +5 -4
  115. data/app/helpers/pageflow/folders_helper.rb +8 -5
  116. data/app/helpers/pageflow/help_entries_helper.rb +2 -2
  117. data/app/helpers/pageflow/hreflang_links_helper.rb +37 -0
  118. data/app/helpers/pageflow/info_box_helper.rb +7 -11
  119. data/app/helpers/pageflow/media_query_helper.rb +3 -3
  120. data/app/helpers/pageflow/navigation_bar_helper.rb +1 -1
  121. data/app/helpers/pageflow/overview_helper.rb +1 -1
  122. data/app/helpers/pageflow/page_types_helper.rb +5 -5
  123. data/app/helpers/pageflow/pages_helper.rb +29 -15
  124. data/app/helpers/pageflow/public_i18n_helper.rb +10 -9
  125. data/app/helpers/pageflow/quota_helper.rb +4 -4
  126. data/app/helpers/pageflow/render_json_helper.rb +6 -3
  127. data/app/helpers/pageflow/revision_file_helper.rb +2 -1
  128. data/app/helpers/pageflow/sites_helper.rb +3 -3
  129. data/app/helpers/pageflow/social_share_helper.rb +24 -10
  130. data/app/helpers/pageflow/social_share_links_helper.rb +12 -9
  131. data/app/helpers/pageflow/structured_data_helper.rb +5 -2
  132. data/app/helpers/pageflow/stub_page_configuration.rb +7 -3
  133. data/app/helpers/pageflow/text_direction_helper.rb +1 -1
  134. data/app/helpers/pageflow/themes_helper.rb +2 -4
  135. data/app/helpers/pageflow/video_files_helper.rb +29 -13
  136. data/app/helpers/pageflow/widgets_helper.rb +8 -6
  137. data/app/inputs/pageflow_permalink_input.rb +8 -3
  138. data/app/jobs/pageflow/application_job.rb +1 -0
  139. data/app/jobs/pageflow/entry_export_import/upload_and_publish_file_job.rb +1 -1
  140. data/app/jobs/pageflow/poll_meta_data_from_zencoder_job.rb +1 -0
  141. data/app/jobs/pageflow/poll_zencoder_job.rb +3 -2
  142. data/app/jobs/pageflow/process_image_or_text_track_job.rb +1 -0
  143. data/app/jobs/pageflow/prune_auto_snapshots_job.rb +1 -0
  144. data/app/jobs/pageflow/request_meta_data_from_zencoder_job.rb +1 -0
  145. data/app/jobs/pageflow/submit_file_to_zencoder_job.rb +1 -0
  146. data/app/mailers/pageflow/user_mailer.rb +1 -0
  147. data/app/models/concerns/pageflow/auto_generated_perma_id.rb +20 -1
  148. data/app/models/concerns/pageflow/entry_publication_states.rb +7 -3
  149. data/app/models/concerns/pageflow/feature_target.rb +8 -4
  150. data/app/models/concerns/pageflow/output_source.rb +3 -3
  151. data/app/models/concerns/pageflow/permalinkable.rb +2 -1
  152. data/app/models/concerns/pageflow/reusable_file.rb +24 -24
  153. data/app/models/concerns/pageflow/serialization_blacklist.rb +3 -5
  154. data/app/models/concerns/pageflow/suspendable.rb +5 -3
  155. data/app/models/concerns/pageflow/theme_referencer.rb +1 -1
  156. data/app/models/concerns/pageflow/translatable.rb +62 -0
  157. data/app/models/concerns/pageflow/translated_attributes.rb +101 -0
  158. data/app/models/concerns/pageflow/uploadable_file.rb +6 -6
  159. data/app/models/pageflow/account.rb +6 -5
  160. data/app/models/pageflow/account_member_query.rb +1 -1
  161. data/app/models/pageflow/account_role_query.rb +1 -1
  162. data/app/models/pageflow/application_query.rb +1 -1
  163. data/app/models/pageflow/application_record.rb +1 -1
  164. data/app/models/pageflow/audio_file.rb +4 -4
  165. data/app/models/pageflow/audio_file_url_templates.rb +1 -1
  166. data/app/models/pageflow/authentication_token.rb +2 -2
  167. data/app/models/pageflow/chapter.rb +6 -1
  168. data/app/models/pageflow/chapter_scaffold.rb +2 -4
  169. data/app/models/pageflow/cname_site_request_scope.rb +1 -1
  170. data/app/models/pageflow/comment.rb +30 -0
  171. data/app/models/pageflow/comment_thread.rb +65 -0
  172. data/app/models/pageflow/comment_thread_read.rb +22 -0
  173. data/app/models/pageflow/customized_theme.rb +9 -8
  174. data/app/models/pageflow/draft_entry.rb +49 -9
  175. data/app/models/pageflow/edit_lock.rb +19 -21
  176. data/app/models/pageflow/encoding_confirmation.rb +2 -2
  177. data/app/models/pageflow/entries_feed.rb +2 -2
  178. data/app/models/pageflow/entry.rb +46 -30
  179. data/app/models/pageflow/entry_at_revision.rb +14 -2
  180. data/app/models/pageflow/entry_comment_summary.rb +114 -0
  181. data/app/models/pageflow/entry_duplicate.rb +8 -5
  182. data/app/models/pageflow/entry_publication.rb +2 -2
  183. data/app/models/pageflow/entry_role_query.rb +4 -4
  184. data/app/models/pageflow/entry_template.rb +4 -4
  185. data/app/models/pageflow/entry_title_or_account_name_query.rb +2 -2
  186. data/app/models/pageflow/entry_translation_group.rb +42 -0
  187. data/app/models/pageflow/file_folder.rb +74 -0
  188. data/app/models/pageflow/file_reuse.rb +5 -4
  189. data/app/models/pageflow/file_usage.rb +18 -3
  190. data/app/models/pageflow/folder.rb +2 -2
  191. data/app/models/pageflow/home_button.rb +7 -7
  192. data/app/models/pageflow/image_file.rb +44 -25
  193. data/app/models/pageflow/image_file_url_templates.rb +4 -4
  194. data/app/models/pageflow/invitation_form.rb +2 -1
  195. data/app/models/pageflow/legal_info.rb +38 -0
  196. data/app/models/pageflow/managed_user_query.rb +1 -1
  197. data/app/models/pageflow/membership.rb +5 -5
  198. data/app/models/pageflow/nested_revision_component_copy.rb +263 -0
  199. data/app/models/pageflow/null_user.rb +1 -1
  200. data/app/models/pageflow/overview_button.rb +1 -1
  201. data/app/models/pageflow/page.rb +7 -3
  202. data/app/models/pageflow/permalink.rb +24 -2
  203. data/app/models/pageflow/permalink_directory.rb +7 -0
  204. data/app/models/pageflow/permalink_redirect.rb +7 -0
  205. data/app/models/pageflow/positioned_file.rb +5 -5
  206. data/app/models/pageflow/potential_entry_translations.rb +55 -0
  207. data/app/models/pageflow/potential_memberships.rb +5 -4
  208. data/app/models/pageflow/published_entry.rb +62 -11
  209. data/app/models/pageflow/revision.rb +29 -16
  210. data/app/models/pageflow/roles.rb +14 -18
  211. data/app/models/pageflow/site.rb +46 -3
  212. data/app/models/pageflow/site_root_entry_form.rb +27 -0
  213. data/app/models/pageflow/sitemaps.rb +10 -1
  214. data/app/models/pageflow/storyline.rb +5 -2
  215. data/app/models/pageflow/storyline_scaffold.rb +1 -1
  216. data/app/models/pageflow/text_track_file.rb +1 -1
  217. data/app/models/pageflow/text_track_file_url_templates.rb +1 -1
  218. data/app/models/pageflow/theme_customization_file.rb +3 -2
  219. data/app/models/pageflow/thumbnail_file_resolver.rb +1 -1
  220. data/app/models/pageflow/url_template.rb +1 -1
  221. data/app/models/pageflow/used_file.rb +13 -3
  222. data/app/models/pageflow/user_name_query.rb +2 -2
  223. data/app/models/pageflow/video_file.rb +22 -15
  224. data/app/models/pageflow/video_file_url_templates.rb +6 -4
  225. data/app/models/pageflow/widget.rb +5 -4
  226. data/app/models/pageflow/with_file_usage_extension.rb +1 -1
  227. data/app/models/pageflow/zencoder_attachment.rb +8 -8
  228. data/app/policies/pageflow/account_policy.rb +3 -1
  229. data/app/policies/pageflow/admin/admin_only_tab_policy.rb +1 -0
  230. data/app/policies/pageflow/admin/entry_tab_policy.rb +1 -0
  231. data/app/policies/pageflow/application_policy.rb +2 -0
  232. data/app/policies/pageflow/entry_policy.rb +7 -1
  233. data/app/policies/pageflow/entry_template_policy.rb +2 -1
  234. data/app/policies/pageflow/file_policy.rb +4 -7
  235. data/app/policies/pageflow/folder_policy.rb +18 -8
  236. data/app/policies/pageflow/membership_policy.rb +6 -4
  237. data/app/policies/pageflow/site_policy.rb +10 -3
  238. data/app/policies/pageflow/user_policy.rb +6 -4
  239. data/app/state_machines/pageflow/image_and_text_track_processing_state_machine.rb +3 -2
  240. data/app/state_machines/pageflow/media_encoding_state_machine.rb +5 -4
  241. data/app/views/admin/accounts/_entry_template_details.html.arb +2 -2
  242. data/app/views/admin/entries/_attributes_table.html.arb +6 -5
  243. data/app/views/admin/entries/_form.html.erb +2 -1
  244. data/app/views/admin/entries/_permalink_inputs.html.erb +9 -2
  245. data/app/views/admin/entry_templates/_form.html.erb +1 -3
  246. data/app/views/admin/site_root_entry/choose.html.erb +19 -0
  247. data/app/views/admin/sites/_fields.html.erb +14 -1
  248. data/app/views/admin/translations/_form.html.erb +31 -0
  249. data/app/views/admin/users/_attributes_table.html.arb +13 -0
  250. data/app/views/components/pageflow/admin/add_membership_button.rb +13 -12
  251. data/app/views/components/pageflow/admin/custom_scopes_renderer.rb +1 -0
  252. data/app/views/components/pageflow/admin/embed_code_field.rb +1 -0
  253. data/app/views/components/pageflow/admin/embedded_index_table.rb +9 -10
  254. data/app/views/components/pageflow/admin/entries_tab.rb +1 -0
  255. data/app/views/components/pageflow/admin/entry_publication_state_indicator.rb +6 -5
  256. data/app/views/components/pageflow/admin/entry_templates_tab.rb +2 -1
  257. data/app/views/components/pageflow/admin/entry_translations_tab.rb +102 -0
  258. data/app/views/components/pageflow/admin/entry_user_badge_list.rb +1 -0
  259. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +9 -8
  260. data/app/views/components/pageflow/admin/features_tab.rb +1 -0
  261. data/app/views/components/pageflow/admin/grouped_folder_list.rb +1 -0
  262. data/app/views/components/pageflow/admin/icon_link_to.rb +1 -0
  263. data/app/views/components/pageflow/admin/members_tab.rb +4 -3
  264. data/app/views/components/pageflow/admin/membership_role_with_tooltip.rb +3 -2
  265. data/app/views/components/pageflow/admin/revisions_tab.rb +14 -10
  266. data/app/views/components/pageflow/admin/sites_tab.rb +1 -0
  267. data/app/views/components/pageflow/admin/tabs_view.rb +1 -0
  268. data/app/views/components/pageflow/admin/timestamp.rb +6 -5
  269. data/app/views/components/pageflow/admin/user_account_badge_list.rb +2 -3
  270. data/app/views/components/pageflow/admin/user_accounts_tab.rb +1 -0
  271. data/app/views/components/pageflow/admin/user_entries_tab.rb +1 -0
  272. data/app/views/components/pageflow/admin/users_tab.rb +1 -0
  273. data/app/views/pageflow/audio_files/_audio_file.json.jbuilder +0 -1
  274. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +5 -3
  275. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +2 -1
  276. data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
  277. data/app/views/pageflow/editor/entries/seed.json.erb +1 -0
  278. data/app/views/pageflow/editor/entries/show.json.jbuilder +1 -1
  279. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +2 -2
  280. data/app/views/pageflow/editor/file_folders/_file_folder.json.jbuilder +5 -0
  281. data/app/views/pageflow/editor/file_folders/create.json.jbuilder +1 -0
  282. data/app/views/pageflow/editor/file_folders/index.json.jbuilder +3 -0
  283. data/app/views/pageflow/editor/files/_file.json.jbuilder +7 -14
  284. data/app/views/pageflow/editor/files/create.json.jbuilder +1 -1
  285. data/app/views/pageflow/editor/files/index.json.jbuilder +1 -1
  286. data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +3 -0
  287. data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
  288. data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +4 -3
  289. data/app/views/pageflow/entries/share_menu/_bluesky_link.html.erb +8 -0
  290. data/app/views/pageflow/entries/share_menu/_threads_link.html.erb +8 -0
  291. data/app/views/pageflow/files/_file.json.jbuilder +5 -3
  292. data/app/views/pageflow/image_files/_image_file.json.jbuilder +0 -1
  293. data/app/views/pageflow/review/comment_threads/_comment_thread.json.jbuilder +20 -0
  294. data/app/views/pageflow/review/comment_threads/create.json.jbuilder +2 -0
  295. data/app/views/pageflow/review/comment_threads/index.json.jbuilder +13 -0
  296. data/app/views/pageflow/review/comments/_comment.json.jbuilder +13 -0
  297. data/app/views/pageflow/review/comments/create.json.jbuilder +1 -0
  298. data/app/views/pageflow/sitemaps/index.xml.builder +9 -1
  299. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  300. data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
  301. data/app/views/pageflow/structured_data/_entry.json.jbuilder +2 -3
  302. data/app/views/pageflow/video_files/_video_file.json.jbuilder +0 -1
  303. data/config/initializers/active_admin_patches.rb +3 -6
  304. data/config/initializers/admin_resource_tabs.rb +3 -0
  305. data/config/initializers/paperclip.rb +1 -0
  306. data/config/initializers/symmetric_encryption.rb +1 -1
  307. data/config/initializers/zencoder.rb +24 -13
  308. data/config/locales/de.yml +256 -12
  309. data/config/locales/en.yml +253 -15
  310. data/config/routes.rb +29 -13
  311. data/config/spring.rb +2 -1
  312. data/db/migrate/20140418225525_setup_schema.rb +2 -2
  313. data/db/migrate/20190306161431_copy_file_attributes_of_failed_uploads.rb +2 -2
  314. data/db/migrate/20190820152900_drop_accounts_themes.rb +2 -1
  315. data/db/migrate/20191202145757_create_pageflow_scrolled_sections.rb +11 -11
  316. data/db/migrate/20191202150657_create_pageflow_scrolled_chapters.rb +1 -1
  317. data/db/migrate/20191202154723_create_pageflow_scrolled_content_elements.rb +9 -9
  318. data/db/migrate/20191219143450_add_position_to_content_elements.rb +2 -1
  319. data/db/migrate/20200117133200_change_revision_appearance_option_default_and_null.rb +2 -1
  320. data/db/migrate/20200122115400_create_pageflow_entry_templates.rb +25 -25
  321. data/db/migrate/20200206134400_convert_legacy_scrolled_content_element_types.rb +3 -3
  322. data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +2 -2
  323. data/db/migrate/20230120092923_create_other_files.rb +2 -1
  324. data/db/migrate/20230419083307_create_pageflow_entry_translation_group.rb +9 -0
  325. data/db/migrate/20240612110434_add_cutoff_mode_name_to_sites.rb +5 -0
  326. data/db/migrate/20240918084059_create_pageflow_permalink_redirects.rb +14 -0
  327. data/db/migrate/20250508172234_ensure_scrolled_entries_have_main_storyline.rb +14 -0
  328. data/db/migrate/20250617090048_add_custom404_entry_to_sites.rb +5 -0
  329. data/db/migrate/20250617100000_add_perma_id_counter_to_entries.rb +28 -0
  330. data/db/migrate/20250722174123_add_perma_id_to_chapters.rb +10 -0
  331. data/db/migrate/20250725080603_add_perma_id_indexes_to_revision_components.rb +13 -0
  332. data/db/migrate/20250726000000_add_display_name_to_file_usages.rb +5 -0
  333. data/db/migrate/20251015000000_add_structured_data_type_name_to_revisions.rb +5 -0
  334. data/db/migrate/20251029142849_convert_legacy_social_embeds_to_unified_social_embed.rb +38 -0
  335. data/db/migrate/20251119083347_fix_main_storyline_positions.rb +16 -0
  336. data/db/migrate/20251119083348_ensure_scrolled_entries_have_excursion_storyline.rb +15 -0
  337. data/db/migrate/20260303000000_add_layout_version_to_revisions.rb +6 -0
  338. data/db/migrate/20260323000000_create_comment_threads_and_comments.rb +30 -0
  339. data/db/migrate/20260414000000_add_subject_range_to_comment_threads.rb +5 -0
  340. data/db/migrate/20260415000000_add_section_perma_id_to_comment_threads.rb +5 -0
  341. data/db/migrate/20260727000000_add_quote_to_comments.rb +5 -0
  342. data/db/migrate/20260728000000_create_file_folders.rb +17 -0
  343. data/db/migrate/20260805000000_add_attribute_translations_to_sites.rb +5 -0
  344. data/db/migrate/20260806000000_add_edited_at_to_comments.rb +5 -0
  345. data/db/migrate/20260810000000_create_pageflow_scrolled_lottie_files.rb +24 -0
  346. data/db/migrate/20260817000000_create_comment_thread_reads.rb +16 -0
  347. data/db/migrate/20260819000000_add_unread_comments_since_at_to_users.rb +18 -0
  348. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +12599 -5398
  349. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +1275 -4560
  350. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +20204 -22
  351. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +18657 -19
  352. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -0
  353. data/entry_types/paged/app/helpers/pageflow_paged/page_background_asset_helper.rb +1 -1
  354. data/entry_types/paged/app/helpers/pageflow_paged/third_party_embed_consent_helper.rb +7 -7
  355. data/entry_types/paged/app/views/pageflow_paged/editor/entries/_seed.json.jbuilder +1 -0
  356. data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
  357. data/entry_types/paged/lib/pageflow_paged/plugin.rb +4 -0
  358. data/entry_types/paged/lib/pageflow_paged/react/page_type.rb +1 -1
  359. data/entry_types/paged/lib/pageflow_paged/react/widget_type.rb +3 -3
  360. data/entry_types/paged/lib/pageflow_paged.rb +1 -1
  361. data/entry_types/scrolled/app/assets/stylesheets/pageflow_scrolled/ui.scss +2 -0
  362. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +5 -3
  363. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +35 -5
  364. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +4 -5
  365. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +23 -2
  366. data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +3 -3
  367. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +8 -5
  368. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +7 -3
  369. data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +72 -10
  370. data/entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb +28 -13
  371. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +41 -12
  372. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +23 -25
  373. data/entry_types/scrolled/app/helpers/pageflow_scrolled/sprockets_helper.rb +16 -0
  374. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +189 -3
  375. data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +15 -14
  376. data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +61 -7
  377. data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file.rb +6 -0
  378. data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file_url_templates.rb +16 -0
  379. data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +12 -1
  380. data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +20 -1
  381. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -0
  382. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +2 -2
  383. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +15 -12
  384. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +45 -17
  385. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry_translations.json.jbuilder +14 -0
  386. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +34 -5
  387. data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +1 -1
  388. data/entry_types/scrolled/app/views/pageflow_scrolled/storylines/_storyline.json.jbuilder +7 -0
  389. data/entry_types/scrolled/config/configuration_schemas/pageflow-scrolled.json +414 -0
  390. data/entry_types/scrolled/config/locales/de.yml +1094 -78
  391. data/entry_types/scrolled/config/locales/en.yml +1083 -78
  392. data/entry_types/scrolled/config/routes.rb +18 -8
  393. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +11 -11
  394. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantDesktop.svg +56 -0
  395. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantMobile.svg +22 -0
  396. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +26 -11
  397. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +27 -8
  398. data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +2 -2
  399. data/entry_types/scrolled/lib/pageflow_scrolled/additional_theme_assets.rb +27 -0
  400. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +67 -10
  401. data/entry_types/scrolled/lib/pageflow_scrolled/configuration_schemas.rb +91 -0
  402. data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +1 -1
  403. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +2 -1
  404. data/entry_types/scrolled/lib/pageflow_scrolled/entry_file_reference_locations.rb +71 -0
  405. data/entry_types/scrolled/lib/pageflow_scrolled/entry_structured_data_types/faq_page.rb +58 -0
  406. data/entry_types/scrolled/lib/pageflow_scrolled/file_reference_locations.rb +69 -0
  407. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +222 -19
  408. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +2 -4
  409. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +76 -54
  410. data/entry_types/scrolled/lib/pageflow_scrolled/theme_options_default_scale.rb +35 -0
  411. data/entry_types/scrolled/lib/pageflow_scrolled.rb +14 -1
  412. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +24 -5
  413. data/entry_types/scrolled/package/config/configurationSchemas.js +70 -0
  414. data/entry_types/scrolled/package/config/rollup/configurationSchemas.js +19 -0
  415. data/entry_types/scrolled/package/config/webpack.js +94 -0
  416. data/entry_types/scrolled/package/contentElements/hotspots-frontend.css +1 -0
  417. data/entry_types/scrolled/package/contentElements/hotspots-frontend.js +1795 -0
  418. data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.css +1 -0
  419. data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.js +219 -0
  420. data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.css +1 -0
  421. data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.js +244 -0
  422. data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.css +1 -0
  423. data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.js +823 -0
  424. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.css +1 -0
  425. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.js +109 -0
  426. data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.css +1 -0
  427. data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.js +277 -0
  428. data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.css +1 -0
  429. data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.js +244 -0
  430. data/entry_types/scrolled/package/contentElements-editor.js +3155 -583
  431. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  432. data/entry_types/scrolled/package/contentElements-frontend.js +3375 -1585
  433. data/entry_types/scrolled/package/editor.css +1 -0
  434. data/entry_types/scrolled/package/editor.js +8452 -2867
  435. data/entry_types/scrolled/package/entryState.js +1600 -0
  436. data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-20c600de.js +1979 -0
  437. data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-58189220.js +2538 -0
  438. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-4ec6b2de.js → PhonePlatformContext-035a99fa.js} +9 -15
  439. data/entry_types/scrolled/package/frontend/PhonePlatformContext-9da43797.js +33 -0
  440. data/entry_types/scrolled/package/frontend/Placeholder.module-bf0966b4.js +5267 -0
  441. data/entry_types/scrolled/package/frontend/Placeholder.module-d22a9335.js +4180 -0
  442. data/entry_types/scrolled/package/frontend/ThemeIcon-ab834849.js +754 -0
  443. data/entry_types/scrolled/package/frontend/ThemeIcon-f6cb3a8f.js +773 -0
  444. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-30fd1124.js +39 -0
  445. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-61c25224.js +72 -0
  446. data/entry_types/scrolled/package/frontend/Viewer-1074fd59.js +147 -0
  447. data/entry_types/scrolled/package/frontend/Viewer-1482ca34.js +480 -0
  448. data/entry_types/scrolled/package/frontend/Viewer-70504231.js +210 -0
  449. data/entry_types/scrolled/package/frontend/{Viewer-1bb5597c.js → Viewer-cc8d4072.js} +100 -135
  450. data/entry_types/scrolled/package/frontend/Wavesurfer-656e3c36.js +302 -0
  451. data/entry_types/scrolled/package/frontend/Wavesurfer-b753b838.js +385 -0
  452. data/entry_types/scrolled/package/frontend/commenting.css +1 -0
  453. data/entry_types/scrolled/package/frontend/extensions-167ae143.js +1455 -0
  454. data/entry_types/scrolled/package/frontend/extensions-2318f92b.js +5918 -0
  455. data/entry_types/scrolled/package/frontend/extensions-a461fd13.js +4890 -0
  456. data/entry_types/scrolled/package/frontend/extensions-c98269fd.js +1982 -0
  457. data/entry_types/scrolled/package/frontend/i18n-493cd2a6.js +93 -0
  458. data/entry_types/scrolled/package/frontend/i18n-e06cac14.js +100 -0
  459. data/entry_types/scrolled/package/frontend/{index-11f32f10.js → index-2e5546f7.js} +39 -54
  460. data/entry_types/scrolled/package/frontend/index-de2b418d.js +130 -0
  461. data/entry_types/scrolled/package/frontend/index.css +1 -1
  462. data/entry_types/scrolled/package/frontend/index.js +1976 -1367
  463. data/entry_types/scrolled/package/frontend/inlineEditing.css +1 -0
  464. data/entry_types/scrolled/package/frontend/useContentElementEditorState-a084912e.js +25 -0
  465. data/entry_types/scrolled/package/frontend/useDelayedBoolean-a387d85b.js +24 -0
  466. data/entry_types/scrolled/package/frontend/usePhonePlatform-4ecb96d4.js +8 -0
  467. data/entry_types/scrolled/package/frontend/usePhonePlatform-ce9ff08d.js +8 -0
  468. data/entry_types/scrolled/package/frontend-server.js +20 -210
  469. data/entry_types/scrolled/package/package.json +22 -12
  470. data/entry_types/scrolled/package/review.css +1 -0
  471. data/entry_types/scrolled/package/review.js +3306 -0
  472. data/entry_types/scrolled/package/testHelpers.js +952 -239
  473. data/entry_types/scrolled/package/values/widgets.module.css +18 -0
  474. data/entry_types/scrolled/package/widgets/consentBar.css +1 -1
  475. data/entry_types/scrolled/package/widgets/consentBar.js +275 -315
  476. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  477. data/entry_types/scrolled/package/widgets/defaultNavigation.js +961 -432
  478. data/entry_types/scrolled/package/widgets/excursionSheet.css +1 -0
  479. data/entry_types/scrolled/package/widgets/excursionSheet.js +225 -0
  480. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -1
  481. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +62 -32
  482. data/entry_types/scrolled/package/widgets/iconScrollIndicator.css +1 -0
  483. data/entry_types/scrolled/package/widgets/iconScrollIndicator.js +67 -0
  484. data/entry_types/scrolled/package/widgets/mainStorylineSheet.css +1 -0
  485. data/entry_types/scrolled/package/widgets/mainStorylineSheet.js +100 -0
  486. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -1
  487. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +48 -26
  488. data/entry_types/scrolled/package/widgets-server.js +2 -0
  489. data/entry_types/scrolled/spec/factories/chapters.rb +14 -1
  490. data/entry_types/scrolled/spec/factories/content_elements.rb +1 -1
  491. data/entry_types/scrolled/spec/factories/lottie_files.rb +29 -0
  492. data/entry_types/scrolled/spec/fixtures/animation.lottie +0 -0
  493. data/entry_types/scrolled/spec/fixtures/font.woff +0 -0
  494. data/entry_types/scrolled/spec/fixtures/font.woff2 +0 -0
  495. data/lib/generators/pageflow/active_admin_initializer/active_admin_initializer_generator.rb +5 -3
  496. data/lib/generators/pageflow/assets/assets_generator.rb +7 -5
  497. data/lib/generators/pageflow/cancan/cancan_generator.rb +2 -1
  498. data/lib/generators/pageflow/cancan/templates/ability.rb +1 -1
  499. data/lib/generators/pageflow/error_pages/error_pages_generator.rb +2 -1
  500. data/lib/generators/pageflow/initializer/initializer_generator.rb +3 -2
  501. data/lib/generators/pageflow/install/install_generator.rb +2 -2
  502. data/lib/generators/pageflow/procfile/procfile_generator.rb +2 -1
  503. data/lib/generators/pageflow/resque/resque_generator.rb +4 -4
  504. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  505. data/lib/generators/pageflow/routes/routes_generator.rb +4 -2
  506. data/lib/generators/pageflow/seeds/seeds_generator.rb +3 -2
  507. data/lib/generators/pageflow/seeds/templates/seeds.rb +6 -6
  508. data/lib/generators/pageflow/theme/theme_generator.rb +2 -1
  509. data/lib/generators/pageflow/user/user_generator.rb +2 -1
  510. data/lib/pageflow/ability_mixin.rb +25 -15
  511. data/lib/pageflow/active_admin_patches/views/attributes_table.rb +1 -0
  512. data/lib/pageflow/active_admin_patches/views/pages/base.rb +3 -2
  513. data/lib/pageflow/active_admin_patches/views/table_for.rb +1 -0
  514. data/lib/pageflow/additional_headers.rb +27 -0
  515. data/lib/pageflow/admin/attributes_table_rows.rb +3 -3
  516. data/lib/pageflow/admin/tabs.rb +1 -1
  517. data/lib/pageflow/built_in_file_type.rb +1 -1
  518. data/lib/pageflow/built_in_page_types_plugin.rb +1 -1
  519. data/lib/pageflow/built_in_widget_type.rb +2 -2
  520. data/lib/pageflow/built_in_widget_types_plugin.rb +2 -1
  521. data/lib/pageflow/configuration.rb +183 -18
  522. data/lib/pageflow/cutoff_modes.rb +39 -0
  523. data/lib/pageflow/deprecation.rb +19 -0
  524. data/lib/pageflow/editor_controller.rb +6 -10
  525. data/lib/pageflow/engine.rb +5 -6
  526. data/lib/pageflow/entries_controller_env_helper.rb +32 -2
  527. data/lib/pageflow/entry_export_import/attachment_files.rb +1 -1
  528. data/lib/pageflow/entry_export_import/entry_serialization.rb +9 -8
  529. data/lib/pageflow/entry_export_import/file_mappings.rb +1 -0
  530. data/lib/pageflow/entry_export_import/page_type_versions.rb +2 -2
  531. data/lib/pageflow/entry_export_import/revision_serialization/import.rb +11 -1
  532. data/lib/pageflow/entry_export_import/revision_serialization.rb +3 -0
  533. data/lib/pageflow/entry_export_import.rb +3 -3
  534. data/lib/pageflow/entry_structured_data_types.rb +43 -0
  535. data/lib/pageflow/entry_type_configuration.rb +1 -0
  536. data/lib/pageflow/entry_types.rb +2 -2
  537. data/lib/pageflow/feature.rb +1 -1
  538. data/lib/pageflow/features.rb +4 -6
  539. data/lib/pageflow/file_importers.rb +4 -4
  540. data/lib/pageflow/file_type.rb +5 -5
  541. data/lib/pageflow/file_types.rb +4 -4
  542. data/lib/pageflow/global_config_api.rb +5 -6
  543. data/lib/pageflow/help_entries.rb +7 -7
  544. data/lib/pageflow/help_entry.rb +1 -1
  545. data/lib/pageflow/hooks.rb +1 -1
  546. data/lib/pageflow/nested_revision_component.rb +9 -27
  547. data/lib/pageflow/news_item_api.rb +1 -1
  548. data/lib/pageflow/oembed_providers.rb +42 -0
  549. data/lib/pageflow/page_type.rb +2 -3
  550. data/lib/pageflow/page_types.rb +3 -3
  551. data/lib/pageflow/paperclip_interpolations/support.rb +1 -1
  552. data/lib/pageflow/paperclip_processors/vtt.rb +1 -0
  553. data/lib/pageflow/paperclip_processors/webp.rb +2 -2
  554. data/lib/pageflow/partial_editor_fragment_renderer.rb +2 -2
  555. data/lib/pageflow/plugin.rb +1 -2
  556. data/lib/pageflow/primary_domain_entry_redirect.rb +6 -0
  557. data/lib/pageflow/quota.rb +9 -5
  558. data/lib/pageflow/quotas.rb +1 -1
  559. data/lib/pageflow/rails_version.rb +14 -2
  560. data/lib/pageflow/react.rb +1 -1
  561. data/lib/pageflow/revision_component.rb +8 -40
  562. data/lib/pageflow/revision_components.rb +16 -6
  563. data/lib/pageflow/seeds.rb +12 -16
  564. data/lib/pageflow/theme.rb +1 -1
  565. data/lib/pageflow/theme_customizations.rb +10 -10
  566. data/lib/pageflow/themes.rb +44 -3
  567. data/lib/pageflow/user_mixin.rb +18 -6
  568. data/lib/pageflow/version.rb +1 -1
  569. data/lib/pageflow/widget_type.rb +4 -4
  570. data/lib/pageflow/widget_types.rb +9 -9
  571. data/lib/pageflow/zencoder_api.rb +32 -42
  572. data/lib/pageflow/zencoder_audio_output_definition.rb +14 -13
  573. data/lib/pageflow/zencoder_meta_data_output_definition.rb +3 -2
  574. data/lib/pageflow/zencoder_output_definition.rb +16 -14
  575. data/lib/pageflow/zencoder_video_output_definition.rb +140 -88
  576. data/lib/pageflow.rb +8 -2
  577. data/lib/tasks/pageflow_tasks.rake +1 -1
  578. data/package/config/eslint-rules/documented-in-toc.js +125 -0
  579. data/package/config/jest/index.js +0 -1
  580. data/package/config/webpack.js +0 -1
  581. data/package/config/webpack5.js +0 -1
  582. data/package/editor.js +4880 -2313
  583. data/package/frontend.js +710 -1223
  584. data/package/package.json +3 -1
  585. data/package/review.js +384 -0
  586. data/package/testHelpers.js +257 -243
  587. data/package/ui.js +1487 -813
  588. data/package/vendor/stubs/wysihtml5.js +2 -0
  589. data/spec/factories/accounts.rb +37 -22
  590. data/spec/factories/audio_files.rb +2 -2
  591. data/spec/factories/authentication_tokens.rb +4 -4
  592. data/spec/factories/chapters.rb +4 -4
  593. data/spec/factories/comment_thread_reads.rb +10 -0
  594. data/spec/factories/comment_threads.rb +10 -0
  595. data/spec/factories/comments.rb +9 -0
  596. data/spec/factories/draft_entries.rb +14 -6
  597. data/spec/factories/edit_locks.rb +1 -1
  598. data/spec/factories/entries.rb +28 -19
  599. data/spec/factories/entry_translation_groups.rb +6 -0
  600. data/spec/factories/file_folders.rb +8 -0
  601. data/spec/factories/file_usages.rb +2 -1
  602. data/spec/factories/folders.rb +1 -1
  603. data/spec/factories/image_files.rb +2 -2
  604. data/spec/factories/pages.rb +3 -3
  605. data/spec/factories/published_entries.rb +28 -8
  606. data/spec/factories/revisions.rb +1 -1
  607. data/spec/factories/sites.rb +6 -0
  608. data/spec/factories/test_multi_attachment_files.rb +1 -1
  609. data/spec/factories/text_track_files.rb +1 -1
  610. data/spec/factories/uploadable_files.rb +1 -1
  611. data/spec/factories/users.rb +6 -6
  612. data/spec/factories/video_files.rb +2 -2
  613. data/spec/factories/widgets.rb +1 -1
  614. data/spec/fixtures/7x15_rotated.jpg +0 -0
  615. data/vendor/assets/javascripts/wysihtml-toolbar.js +19288 -0
  616. metadata +266 -92
  617. data/app/assets/stylesheets/pageflow/editor/select_button.scss +0 -51
  618. data/config/initializers/revision_components.rb +0 -5
  619. data/config/locales/twitter_to_x.de.yml +0 -6
  620. data/config/locales/twitter_to_x.en.yml +0 -6
  621. data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +0 -55
  622. data/entry_types/scrolled/config/locales/twitter_to_x.de.yml +0 -12
  623. data/entry_types/scrolled/config/locales/twitter_to_x.en.yml +0 -12
  624. data/entry_types/scrolled/config/locales/vr_image_projection.de.yml +0 -24
  625. data/entry_types/scrolled/config/locales/vr_image_projection.en.yml +0 -24
  626. data/entry_types/scrolled/package/frontend/EditableInlineText.module-ebd22921.js +0 -5497
  627. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-b79159cc.js +0 -107
  628. data/entry_types/scrolled/package/frontend/Viewer-1ecf3375.js +0 -154
  629. data/entry_types/scrolled/package/frontend/Wavesurfer-7d9cf1b7.js +0 -333
  630. data/entry_types/scrolled/package/frontend/arrowRight-62998af9.js +0 -77
  631. data/entry_types/scrolled/package/frontend/components-024a9893.js +0 -2853
  632. data/entry_types/scrolled/package/frontend/createSuper-d0f30da3.js +0 -115
  633. data/entry_types/scrolled/package/frontend/i18n-ce13a8bf.js +0 -1129
  634. data/entry_types/scrolled/package/frontend/useContentElementEditorState-4f4c3cf6.js +0 -52
  635. data/lib/generators/pageflow/resque/templates/resque_enqueue_after_commit_patch.rb +0 -25
  636. data/package/vendor/jquery.minicolors.js +0 -1108
@@ -1,7 +1,11 @@
1
1
  de:
2
2
  pageflow:
3
+ commenting:
4
+ feature_name: Kommentare
3
5
  datawrapper_chart_embed_opt_in:
4
6
  feature_name: Opt-in für Datawrapper Embeds
7
+ image_srcset:
8
+ feature_name: Responsive Bild-Srcset
5
9
  defaultNavigation:
6
10
  widget_type_name: Standard Navigation
7
11
  editor:
@@ -14,6 +18,10 @@ de:
14
18
  name:
15
19
  one: Bild
16
20
  other: Bilder
21
+ lottie_files:
22
+ name:
23
+ one: Lottie-Animation
24
+ other: Lottie-Animationen
17
25
  other_files:
18
26
  name:
19
27
  one: Andere
@@ -22,6 +30,9 @@ de:
22
30
  name:
23
31
  one: Video
24
32
  other: Videos
33
+ files:
34
+ tabs:
35
+ lottie_files: Lottie
25
36
  widgets:
26
37
  attributes:
27
38
  defaultNavigation:
@@ -33,29 +44,102 @@ de:
33
44
  sparen, wird die Navigation im Phone-Layout beim
34
45
  Scrollen dennoch immer ausgeblendet.
35
46
  label: Im Desktop-Layout fixieren
47
+ firstBackdropBelowNavigation:
48
+ inline_help: |
49
+ Positioniert das Hintergrundbild der ersten Sektion
50
+ unterhalb der Navigationsleiste statt dahinter.
51
+ inline_help_disabled: |
52
+ Positioniert das Hintergrundbild der ersten Sektion
53
+ unterhalb der Navigationsleiste statt dahinter. Nur
54
+ verfügbar, wenn die Navigation fixiert ist.
55
+ label: Hintergrund unterhalb beginnen
36
56
  hideSharingButton:
37
57
  label: Share-Button ausblenden
38
58
  hideToggleMuteButton:
39
59
  label: "'Ton aktivieren'-Button ausblenden"
40
- frontend_v2:
41
- feature_name: Frontend v2
60
+ accentColor:
61
+ label: "Akzentfarbe"
62
+ iconScrollIndicator:
63
+ animation:
64
+ label: Animation
65
+ values:
66
+ none: Keine
67
+ smallBounce: Subtil
68
+ largeBounce: Deutlich
69
+ alignment:
70
+ label: Ausrichtung
71
+ values:
72
+ centerContent: Zentriert zum Inhalt
73
+ centerViewport: Zentriert zum Viewport
74
+ size:
75
+ label: Größe
76
+ values:
77
+ large: Groß
78
+ small: Klein
42
79
  hls_instead_of_dash:
43
80
  feature_name: HLS statt DASH für Videos verwenden
44
81
  iconInlineFileRights:
45
82
  widget_type_name: Copyright-Icons
46
83
  iframe_embed_content_element:
47
84
  feature_name: iframe-Embed Inhaltselement
85
+ legacy_social_embed_content_elements:
86
+ feature_name: Legacy Twitter und TikTok Inhaltselemente
87
+ lottie_animation_content_element:
88
+ feature_name: Lottie-Animation-Inhaltselement
48
89
  scrolled_entry_fragment_caching:
49
90
  feature_name: Pageflow-Next-Fragment-Caching
91
+ social_embed_content_element:
92
+ feature_name: Social Embed Inhaltselement
50
93
  textInlineFileRights:
51
94
  widget_type_name: Text am Element
52
95
  ui:
53
96
  configuration_editor:
54
97
  tabs:
55
98
  defaultNavigation: Standard Navigation
99
+ iconScrollIndicator: Icon Scroll-Indikator
56
100
  widgets:
57
101
  roles:
58
102
  inlineFileRights: Inline-Datei-Rechte
103
+ scrollIndicator: Scroll-Indikator
104
+ backdrop_content_elements:
105
+ feature_name: "Inhaltselemente als Backdrop"
106
+ backdrop_size:
107
+ feature_name: Hintergrundgröße-Option
108
+ custom_palette_colors:
109
+ feature_name: "Freie Palettenfarben"
110
+ entry_types:
111
+ scrolled:
112
+ editor:
113
+ entry_metadata_configuration_attributes:
114
+ darkWidgets:
115
+ label: "Dunkle Theme-Variante verwenden"
116
+ files:
117
+ attributes:
118
+ image_files:
119
+ projection:
120
+ cell_text:
121
+ blank: "(Kein)"
122
+ equirectangular_mono: Equirectangular (Mono)
123
+ equirectangular_stereo: Equirectangular (Stereo)
124
+ column_header: Projektion
125
+ inline_help: Lege fest, ob es sich um ein mono- oder stereoskopisches 360°-Bild handelt. Diese können als Posterbild für 360°-Videos verwendet werden.
126
+ label: 360° Projektion
127
+ values:
128
+ equirectangular_mono: Equirectangular (Mono)
129
+ equirectangular_stereo: Equirectangular (Stereo)
130
+ filters:
131
+ image_files:
132
+ with_projection:
133
+ blank_slate: Gebe in den Datei-Einstellungen eines Bildes eine Projektion an, um es als 360° Bild zu markieren.
134
+ name: 360° Bilder
135
+ icon_scroll_indicator:
136
+ feature_name: Icon Scroll-Indikator
137
+ iconScrollIndicator:
138
+ widget_type_name: Icon unten am Viewport-Rand
139
+ excursion_sheets:
140
+ feature_name: "Exkurs-Sheet-Widgets"
141
+ file_rights_from_references:
142
+ feature_name: "Nachweise nur für verwendete Dateien"
59
143
  pageflow_scrolled:
60
144
  editor:
61
145
  backdrop_effects:
@@ -75,6 +159,12 @@ de:
75
159
  label: Scroll-Parallax
76
160
  sepia:
77
161
  label: Sepia
162
+ frame:
163
+ label: 'Rahmen'
164
+ crop:
165
+ label: Zuschneiden
166
+ rounded:
167
+ label: Runde Ecken
78
168
  blank_entry:
79
169
  create_chapter: Klicke jetzt auf <em>Neues Kapitel</em>, um ein erstes Kapitel zu erstellen.
80
170
  create_content_element: Über die <em>Plus-Buttons</em> in der Vorschau kannst du Elemente hinzufügen.
@@ -89,12 +179,17 @@ de:
89
179
  add_section: Neuer Abschnitt
90
180
  drag_hint: Ziehen, um das Kapitel zu verschieben
91
181
  save_error: Beim Speichern des Kapitels ist ein Fehler aufgetreten.
182
+ chapter: Kapitel
183
+ excursion: Exkurs
184
+ unnamed: Unbenannt
185
+ hidden_in_navigation: In der Navigationsleiste ausgeblendet
92
186
  common_content_element_attributes:
93
187
  caption:
94
188
  inline_help: Die Beschriftung des Elements wird direkt unterhalb des Elements angezeigt.
95
189
  label: Beschriftung
96
190
  palette_color:
97
191
  blank: "(Automatisch)"
192
+ custom: Benutzerdefiniert
98
193
  position:
99
194
  inline_help: |-
100
195
  Mit dieser Einstellung kannst du die Position des Elements
@@ -115,12 +210,17 @@ de:
115
210
  Position, um das Element vollständig betrachten zu
116
211
  können. Kleineren Elementen kann so mehr Gewicht
117
212
  verliehen werden.
213
+ backdrop: ''
118
214
  sticky: |-
119
215
  Beim Scrollen begleitend neben dem Text
120
- stehenbleiben. In der Mobil-Darstellung werden Sticky
121
- Elemente automatisch im Text verankert. Sticky-Elemente
216
+ stehenbleiben. In der Mobil-Darstellung werden Elemente
217
+ automatisch im Text verankert. Sticky-Elemente
122
218
  funktionieren besonders gut bei Desktop-Darstellung in
123
219
  Kombination mit langen Textpassagen.
220
+ side: |-
221
+ In einer zweiten Spalte neben dem Text positionieren. In
222
+ der Mobil-Darstellung werden Elemente automatisch im
223
+ Text verankert.
124
224
  label: Position
125
225
  values:
126
226
  full: Volle Breite
@@ -128,8 +228,10 @@ de:
128
228
  left: Links eingerückt
129
229
  right: Rechts eingerückt
130
230
  standAlone: Stand-Alone
131
- sticky: Sticky
132
231
  wide: Breit
232
+ backdrop: 'Als Hintergrund'
233
+ sticky: Neben dem Text (Sticky)
234
+ side: Neben dem Text
133
235
  typographyVariant:
134
236
  blank: "(Standard)"
135
237
  label: Variante
@@ -142,6 +244,29 @@ de:
142
244
  anzupassen. Breitere Elemente unterbrechen den Textfluss
143
245
  und stehen prominent für sich alleine.
144
246
  label: Breite
247
+ alignment:
248
+ label: Ausrichtung
249
+ inline_help: |-
250
+ Richte schmale Elemente links, rechts oder zentriert zur Textbreite aus.
251
+ values:
252
+ center: Zentriert
253
+ left: Links
254
+ right: Rechts
255
+ captionVariant:
256
+ label: Beschriftungsvariante
257
+ inline_help: Ändere die Darstellung der Beschriftung unterhalb des Element.
258
+ inline_help_disabled: Füge eine Beschriftung unterhalb des Elements hinzu, um zwischen Varianten zu wählen.
259
+ blank: "(Standard)"
260
+ styles:
261
+ label: "Stile"
262
+ fullWidthInPhoneLayout:
263
+ label: "Volle Breite im Phone-Layout"
264
+ inline_help: |-
265
+ Ermöglicht dem Element, auf kleineren Bildschirmen die
266
+ volle Breite des Viewports einzunehmen, um den verfügbaren
267
+ Platz optimal zu nutzen.
268
+ typographySize:
269
+ label: "Schriftgröße"
145
270
  content_element_categories:
146
271
  basic:
147
272
  name: Basic
@@ -149,21 +274,26 @@ de:
149
274
  name: Daten und Diagramme
150
275
  interactive:
151
276
  name: Interaktiv
152
- links:
153
- name: Verweise
154
277
  media:
155
278
  name: Media
279
+ tilesAndLinks:
280
+ name: Verweise und Kacheln
156
281
  content_elements:
157
282
  counter:
158
283
  attributes:
159
284
  countingSpeed:
160
285
  inline_help: Lege fest, wie schnell die Zählanimation ablaufen soll.
161
- label: Zählanimation
286
+ label: Zählgeschwindigkeit
162
287
  values:
163
288
  fast: Schnell
164
289
  medium: Mittel
165
- none: "(Keine)"
166
290
  slow: Langsam
291
+ countingAnimation:
292
+ label: Zählanimation
293
+ values:
294
+ none: "(Keine)"
295
+ plain: Einfach
296
+ wheel: Zählwerk
167
297
  decimalPlaces:
168
298
  inline_help: Bestimme, wie wieviele Nachkommastellen gezeigt werden sollen.
169
299
  label: Nachkommastellen
@@ -178,21 +308,32 @@ de:
178
308
  fadeInScaleUp: Einblenden und vergrößern
179
309
  none: "(Keine)"
180
310
  numberColor:
181
- label: Farbe
311
+ label: Farbe Zahl
312
+ unitColor:
313
+ label: Farbe Einheit
314
+ descriptionColor:
315
+ label: Farbe Beschreibung
182
316
  startValue:
183
317
  inline_help: Bei diesem Wert beginnt die Zählanimation.
184
318
  label: Startwert
319
+ startAnimationTrigger:
320
+ inline_help: Lege fest, wann die Animation starten soll.
321
+ label: Animation starten
322
+ values:
323
+ onActivate: Bei Erreichen der Viewport-Mitte
324
+ onVisible: Sobald das Element sichtbar wird
185
325
  targetValue:
186
326
  inline_help: Zahlenwert, der angezeigt werden soll. Die Zählanimation endet bei diesem Wert.
187
327
  label: Zielwert
188
- textSize:
189
- inline_help: Bestimme die Textgröße der Zahl.
190
- label: Schriftgröße
191
- values:
192
- large: Groß
193
- medium: Mittel
194
- small: Klein
195
- verySmall: Sehr klein
328
+ numberSize:
329
+ inline_help: Bestimme die Schriftgröße der Zahl.
330
+ label: Schriftgröße Zahl
331
+ unitSize:
332
+ inline_help: Relative Größe der Einheit basierend auf der Schriftgröße der Zahl.
333
+ label: Schriftgröße Einheit
334
+ descriptionSize:
335
+ inline_help: Bestimme die Schriftgröße der Beschreibung.
336
+ label: Schriftgröße Beschreibung
196
337
  unit:
197
338
  inline_help: Text der vor oder hinter der Zahl gezeigt werden soll.
198
339
  label: Einheit
@@ -202,6 +343,17 @@ de:
202
343
  values:
203
344
  leading: Vor dem Betrag ($100)
204
345
  trailing: Nach dem Betrag (100%)
346
+ textAlign:
347
+ label: Textausrichtung
348
+ blank: "(Automatisch)"
349
+ values:
350
+ left: Links
351
+ center: Mitte
352
+ centerRagged: Zentriert
353
+ right: Rechts
354
+ thousandsSeparators:
355
+ label: "Tausendertrennzeichen anzeigen"
356
+ inline_help: "Zum Beispiel 1.000, wenn Deutsch als Sprache für den Beitrag eingestellt ist."
205
357
  description: Animierte Metriken
206
358
  name: Counter
207
359
  tabs:
@@ -226,30 +378,114 @@ de:
226
378
  externalLinkList:
227
379
  add: Hinzufügen
228
380
  attributes:
229
- description:
230
- inline_help: Link-Beschreibung für die Darstellung im Beitrag.
231
- label: Beschreibung
232
- open_in_new_tab:
233
- label: In neuem Tab öffnen
234
381
  thumbnail:
235
382
  inline_help: Dem Link zugeordnertes Bild für die Darstellung im Beitrag.
236
383
  label: Miniaturansicht
237
- title:
238
- inline_help: Link-Überschrift für die Darstellung im Beitrag.
239
- label: Titel
240
- url:
241
- inline_help: Absolute URL (inklusive http:// oder https://) des Links.
242
- label: URL
384
+ enableScroller:
385
+ label: "Layout-Verhalten"
386
+ values:
387
+ never: "In mehrere Zeilen umbrechen"
388
+ always: "Horizontal scrollen"
389
+ thumbnailAspectRatio:
390
+ label: "Thumbnail Seitenverhältnis"
391
+ inline_help: |-
392
+ Bestimme die Proportion der Thumbnails. Wird der Text
393
+ neben dem Bild gezeigt, kann längerer Text dazu
394
+ führen, dass ein hochformatigeres Seitenverähltnis
395
+ gewählt wird, damit das Thumbnail die gesamte Höhe des
396
+ Links überdeckt.
397
+ textPosition:
398
+ label: "Beschriftung"
399
+ inline_help: |-
400
+ Anordnung von Bild und Text innerhalb von Links.
401
+ values:
402
+ below: "Unter dem Bild"
403
+ right: "Rechts neben dem Bild"
404
+ overlay: "Auf dem Bild"
405
+ none: "Keine"
406
+ overlayOpacity:
407
+ label: Abblendung
408
+ inline_help: |-
409
+ Intensität des Farbverlaufs, der hinter den Text
410
+ gelegt wird, um den Kontrast auf unruhigen
411
+ Hintergründen zu verbessern.
412
+ thumbnailSize:
413
+ label: "Thumbnail-Breite"
414
+ inline_help: |-
415
+ Anteil der Thumbnail-Breite im Verhältnis zur
416
+ Gesamtbreite des Links.
417
+ values:
418
+ small: "Klein"
419
+ medium: "Mittel"
420
+ large: "Groß"
421
+ thumbnailFit:
422
+ label: "Thumbnail-Anpassung"
423
+ inline_help: |-
424
+ Wenn das Seitenverhältnis des Bildes nicht mit dem
425
+ ausgewählten Seitenverhältnis der Miniatur übereinstimmt,
426
+ kann entweder das Bild vergrößert werden, um die Karte
427
+ vollständig auszufüllen, oder das Bild wird so angepasst,
428
+ dass es vollständig innerhalb der Karte sichtbar bleibt.
429
+ values:
430
+ cover: Füllen
431
+ contain: Einpassen
432
+ linkWidth:
433
+ label: "Link-Breite"
434
+ inline_help: |-
435
+ Wähle eine schmalere Breite, um mehr Links
436
+ nebeneinander anzuordnen.
437
+ linkAlignment:
438
+ label: "Link-Ausrichtung"
439
+ inline_help: |-
440
+ Bestimmt die Ausrichtung in Zeilen, die nicht
441
+ vollständig mit Links gefüllt sind.
442
+ values:
443
+ spaceEvenly: Gleichmäßig verteilt
444
+ left: Links
445
+ right: Rechts
446
+ center: Mittig
447
+ textSize:
448
+ label: "Schriftgröße"
449
+ inline_help: |
450
+ Legt die Schriftgröße für Titel und Beschreibung der Links fest.
451
+ values:
452
+ small: Klein
453
+ medium: Mittel
454
+ large: Groß
455
+ textAlign:
456
+ label: Textausrichtung
457
+ inline_help: Ausrichtung des Texts innerhalb der Links.
458
+ values:
459
+ left: Links
460
+ center: Zentriert
461
+ right: Rechts
462
+ displayButtons:
463
+ label: "Buttons anzeigen"
464
+ inline_help: |-
465
+ Zeige Buttons an, um die Links zu öffnen.
466
+ inline_help_disabled: |-
467
+ Da die Flip-Animation per Klick ausgelöst wird, können
468
+ Links nur als Buttons angeboten werden.
469
+ thumbnailBackgroundColor:
470
+ label: Thumbnail-Hintergrundfarbe
471
+ inline_help: |-
472
+ Sichtbar wenn "Einpassen" als Thumbnail-Anpassung
473
+ ausgewählt wurde sowie für Thumbnail-Bilder mit
474
+ transparenten Bereichen.
475
+ backfaces:
476
+ label: Kartenrückseiten
477
+ inline_help: |-
478
+ Karten mit einer Flip-Animation drehen und weitere
479
+ Inhalte auf der Rückseite der Karte anbieten.
243
480
  back: Zurück
244
- confirm_delete: Soll das Element wirklich gelöscht werden?
245
- confirm_delete_link: Soll der Link wirklich gelöscht werden?
246
- description: Sammlung von Verweisen zu Webseiten außerhalb des Beitrags
247
- destroy: Löschen
248
- name: Externe Verweise
249
- outline: Gliederung
481
+ confirm_destroy: Soll der Teaser wirklich gelöscht werden?
482
+ destroy: Teaser löschen
483
+ description: Liste von Kacheln mit Bild und Beschriftung
484
+ items: Einträge
485
+ name: Teaser-Liste
250
486
  tabs:
251
- edit_link: Link bearbeiten
252
- general: Externe Verweise
487
+ general: Teaser-Liste
488
+ edit_link: Teaser
253
489
  heading:
254
490
  attributes:
255
491
  children:
@@ -344,11 +580,19 @@ de:
344
580
  title:
345
581
  inline_help: Dieser Titel wird von Screenreadern verwendet, um das iframe als Ganzes zu beschreiben.
346
582
  label: Titel
583
+ autoResize:
584
+ label: Dynamische Höhenanpassungen
585
+ inline_help: Höhe automatisch an den Inhalt des Elements anpassen.
347
586
  description: Einbindung einer extern gehosteten Website
348
587
  help_texts:
349
588
  missingConsentVendor: |-
350
589
  Für den Anbieter der angegeben URL stehen keine
351
590
  Datenschutzangaben zur Verfügung.
591
+ autoResize: |-
592
+ Diese Option erfordert die Integration eines
593
+ Skripts in die eingebettete Seite. Weitere
594
+ Informationen findest du in diesem <a target="_blank" rel="noopener noreferrer"
595
+ href="https://pageflow.freshdesk.com/de/support/solutions/articles/11000130710-wie-passe-ich-die-gr%C3%B6%C3%9Fe-von-iframe-embeds-automatisch-an-den-inhalt-an-">Hilfeartikel</a>.
352
596
  name: iframe-Embed
353
597
  tabs:
354
598
  general: iframe-Embed
@@ -362,6 +606,15 @@ de:
362
606
  angezeigt.
363
607
  inline_help_disabled: Steht nicht zur Verfügung, wenn Position "Volle Breite" ausgewählt wurde.
364
608
  label: Vollbildmodus auf Desktop erlauben
609
+ displayPeeks:
610
+ label: "Anrisse benachbarter Bilder zeigen"
611
+ inline_help: "Teile der benachbarten Bilder als Hinweis auf weitere Inhalte anzeigen."
612
+ displayPaginationIndicator:
613
+ label: "Paginierung anzeigen"
614
+ inline_help: |-
615
+ Zeigt die aktuelle Bildposition und die Gesamtzahl der
616
+ Bilder an, um die Navigation durch die Galerie zu
617
+ erleichtern.
365
618
  description: Eine Serie von Bildern zum Durchblättern
366
619
  items:
367
620
  add: Hinzufügen
@@ -369,6 +622,24 @@ de:
369
622
  name: Bildergalerie
370
623
  tabs:
371
624
  general: Bildergalerie
625
+ edit_item:
626
+ back: Zurück
627
+ confirm_destroy: Soll der Bildergalerie-Eintrag wirklich gelöscht werden?
628
+ destroy: Eintrag löschen
629
+ attributes:
630
+ image:
631
+ label: Bild
632
+ portraitImage:
633
+ inline_help: |-
634
+ Wird verwendet, wenn der Browser-Viewport höher als
635
+ breit ist - zum Beispiel auf Smartphones oder
636
+ Tablets in Portrait-Ausrichtung. Kann als
637
+ Alternative zu einem querformatigen Bild
638
+ konfiguriert werden, das ansonsten zu klein
639
+ dargestellt würde.
640
+ label: Bild (Hochkant)
641
+ tabs:
642
+ item: Bildergalerie-Eintrag
372
643
  inlineAudio:
373
644
  attributes:
374
645
  atmoDuringPlayback:
@@ -378,8 +649,14 @@ de:
378
649
  mute: Ausblenden
379
650
  play: Weiterspielen
380
651
  turnDown: Leiser weiterspielen
652
+ autoplay:
653
+ inline_help: Automatisch abspielen, wenn das Element in den sichtbaren Bereich gescrollt wird.
654
+ label: Autoplay
381
655
  id:
382
656
  label: Audio
657
+ invertPlayButton:
658
+ inline_help: Dunklen Play-Button statt des standardmäßig weißen verwenden.
659
+ label: Play-Button invertieren
383
660
  playerControlVariant:
384
661
  inline_help: Wähle den Stil der Player-Steuerelemente.
385
662
  label: Player Controls
@@ -390,13 +667,21 @@ de:
390
667
  waveformLines: Waveform (Linien)
391
668
  posterId:
392
669
  label: Poster
670
+ remainingWaveformColor:
671
+ auto: (Automatisch)
672
+ inline_help: Farbe des noch nicht abgespielten Bereichs der Waveform.
673
+ label: Verbleibende Waveform
393
674
  waveformColor:
394
675
  inline_help: Farbe des Bereichs der Waveform, der den bereits abgespielten Teil der Audio-Datei repräsentiert.
395
- label: Waveform Farbe
676
+ label: Abgespielte Waveform
677
+ waveformCursorColor:
678
+ auto: (Automatisch)
679
+ inline_help: Farbe des Cursors, der die aktuelle Wiedergabeposition markiert.
680
+ label: Waveform Cursor
396
681
  description: Wiedergabe einer Audiodatei mit Steuerelementen
397
- name: Inline-Audio
682
+ name: Audio
398
683
  tabs:
399
- general: Inline-Audio
684
+ general: Audio
400
685
  inlineBeforeAfter:
401
686
  attributes:
402
687
  after_id:
@@ -433,9 +718,9 @@ de:
433
718
  inline_help: Wird gezeigt, wenn der Browser-Viewport höher als breit ist - zum Beispiel auf Smartphones oder Tablets in Portrait-Ausrichtung. Kann als Alternative zu einem querformatigen Bild konfiguriert werden, das ansonsten zu klein dargestellt würde.
434
719
  label: Bild (Hochkant)
435
720
  description: Einbindung von Bildern
436
- name: Inline-Bild
721
+ name: Bild
437
722
  tabs:
438
- general: Inline-Bild
723
+ general: Bild
439
724
  inlineVideo:
440
725
  attributes:
441
726
  atmoDuringPlayback:
@@ -445,17 +730,22 @@ de:
445
730
  mute: Ausblenden
446
731
  play: Weiterspielen
447
732
  turnDown: Leiser weiterspielen
733
+ enableFullscreen:
734
+ inline_help: Button anzeigen, um das Video im Vollbildmodus zu öffnen.
735
+ inline_help_disabled: Steht nicht zur Verfügung bei Hintergrund-Position oder Endlosschleife.
736
+ label: Vollbildmodus erlauben
448
737
  hideControlBar:
449
738
  inline_help: Für kurze Videos, bei denen der Benutzer nicht an bestimmte Stellen springen will.
450
- inline_help_disabled: Für Videos mit Wiedergabe-Modus "Loop" sind die Controls immer ausgeblendet.
739
+ inline_help_disabled: Für Videos mit Wiedergabe-Modus "Loop" oder kreisförmigem Zuschnitt sind die Controls immer ausgeblendet.
451
740
  label: Controls ausblenden
452
741
  id:
453
742
  label: Video
454
743
  playbackMode:
455
- inline_help_html: Bestimme, wie das Video gestartet wird:<ul><li><strong>Manuell:</strong> Durch einen Klick des Benutzers.</li><li><strong>Automatisch:</strong> Wenn es die Mitte des Browser-Viewports erreicht.</li><li><strong>Loop:</strong> In Endlosschleife sobald es sichtbar wird.</li></ul>
744
+ inline_help_html: Bestimme, wie das Video gestartet wird:<ul><li><strong>Manuell:</strong> Durch einen Klick des Benutzers.</li><li><strong>Automatisch:</strong> Wenn es die Mitte des Browser-Viewports erreicht.</li><li><strong>Automatisch falls Stummschaltung aufgehoben:</strong> Wenn es die Mitte des Viewports erreicht, aber nur wenn der Ton des Beitrags bereits aktiviert wurde, z.B. über das Lautsprecher-Icon in der Navigationsleiste.</li><li><strong>Loop:</strong> In Endlosschleife sobald es sichtbar wird.</li></ul>
456
745
  label: Wiedergabe-Modus
457
746
  values:
458
747
  autoplay: Automatisch
748
+ autoplayIfUnmuted: Automatisch falls Stummschaltung aufgehoben
459
749
  loop: Loop
460
750
  manual: Manuell
461
751
  portraitId:
@@ -481,14 +771,48 @@ de:
481
771
  inline_help_html: Browser erlauben standardmäßig das Abspielen von Videos mit Ton nur nach einer Benutzer-Interaktion. Um Videos dennoch automatisch abspielen zu können, sind Beiträge zu Beginn stummgeschaltet.<br /><br />Die Stummschaltung kann z.B. über das Lautsprecher-Icon in der Navigationsleiste oder ein im Beitrag platziertes "Audio-Hinweis"-Element aufgehoben werden.
482
772
  label: Stummschaltung des Beitrags
483
773
  description: Wiedergabe einer Videodatei mit Steuerelementen
484
- name: Inline-Video
774
+ name: Video
485
775
  tabs:
486
- general: Inline-Video
776
+ general: Video
777
+ lottieAnimation:
778
+ attributes:
779
+ id:
780
+ label: Animation
781
+ playbackMode:
782
+ inline_help_html: Bestimmt, wie die Animation abgespielt wird:<ul><li><strong>Endlosschleife:</strong> Immer wieder, solange sie sichtbar ist.</li><li><strong>Einmal abspielen:</strong> Einmal von Anfang bis Ende. Über die Einstellung „Animation starten“ kann gewählt werden, wann die Wiedergabe beginnt.</li><li><strong>Scrollposition:</strong> Bild für Bild beim Scrollen. Über die Einstellung „Scroll-Bereich“ kann gewählt werden, wann das Scrollen der Seite die Animation antreibt.</li></ul>
783
+ label: Wiedergabe-Modus
784
+ values:
785
+ loop: Endlosschleife
786
+ playOnce: Einmal abspielen
787
+ scroll: Scrollposition
788
+ scrollRange:
789
+ inline_help_html: Bestimmt, wann das Scrollen der Seite die Animation antreibt:<ul><li><strong>Während sichtbar:</strong> Von dem Moment, in dem das Element in den Viewport scrollt, bis es ihn wieder vollständig verlassen hat.</li><li><strong>Während vollständig sichtbar:</strong> Solange das Element vollständig im Viewport ist.</li><li><strong>Beim Passieren der Viewport-Mitte:</strong> Das Scrollen der Seite treibt die Animation an, während das Element die vertikale Mitte des Viewports passiert. Verfügbar für alle Elemente außer solchen mit Position „Neben dem Text (Sticky)“ oder „Stand-Alone“.</li><li><strong>Während eingerastet:</strong> Das Scrollen der Seite treibt die Animation an, solange das Element stehenbleibt. Bleibt das Element nicht stehen - in der Mobil-Darstellung, in der solche Elemente im Text verankert werden, oder wenn nicht genug Text daneben steht -, treibt das Scrollen die Animation stattdessen beim Passieren der Viewport-Mitte an. Verfügbar für Elemente mit Position „Neben dem Text (Sticky)“ oder „Stand-Alone“.</li><li><strong>Beim Hereinscrollen:</strong> Solange das Element in den Viewport scrollt.</li></ul>
790
+ label: Scroll-Bereich
791
+ values:
792
+ contain: Während vollständig sichtbar
793
+ cover: Während sichtbar
794
+ entry: Beim Hereinscrollen
795
+ inFocus: Beim Passieren der Viewport-Mitte
796
+ inFocusWhenPinned: Während eingerastet
797
+ startAnimationTrigger:
798
+ inline_help_html: Bestimmt, wann die Animation zu spielen beginnt:<ul><li><strong>Bei Erreichen der Viewport-Mitte:</strong> Sobald das Element die vertikale Mitte des Viewports erreicht.</li><li><strong>Sobald das Element sichtbar wird:</strong> Sobald das Element in den Viewport scrollt.</li></ul>Die Animation spielt dann bis zu ihrem Ende. Sie pausiert nur, solange das Element außerhalb des Viewports ist.
799
+ label: Animation starten
800
+ values:
801
+ onActivate: Bei Erreichen der Viewport-Mitte
802
+ onVisible: Sobald das Element sichtbar wird
803
+ description: Eine als dotLottie-Datei exportierte Animation einbinden
804
+ name: Lottie-Animation
805
+ tabs:
806
+ general: Lottie-Animation
487
807
  question:
488
808
  attributes:
489
809
  expandByDefault:
490
810
  inline_help: Anwort zu Beginn anzeigen.
491
811
  label: Standardmäßig aufklappen
812
+ color:
813
+ label: "Farbe (Frage)"
814
+ answerColor:
815
+ label: "Farbe (Antwort)"
492
816
  description: Aufklappen, um Antwort anzuzeigen
493
817
  name: Frage/Anwort
494
818
  tabs:
@@ -513,10 +837,20 @@ de:
513
837
  name: Audio-Hinweis
514
838
  tabs:
515
839
  general: Audio-Hinweis
840
+ attributes:
841
+ mutedText:
842
+ label: "'Ton aktivieren' Text"
843
+ unmutedText:
844
+ label: "'Ton aktiviert' Text"
516
845
  textBlock:
517
846
  attributes:
518
847
  color:
519
848
  label: Farbe
849
+ textAlign:
850
+ label: "Textausrichtung"
851
+ values:
852
+ ragged: "Flattersatz"
853
+ justify: "Blocksatz"
520
854
  description: Text mit Listen, Zitaten und Zwischenüberschriften
521
855
  help_texts:
522
856
  shortcuts: |
@@ -548,12 +882,37 @@ de:
548
882
  name: Text-Block
549
883
  tabs:
550
884
  general: Text-Block
885
+ socialEmbed:
886
+ attributes:
887
+ provider:
888
+ label: Anbieter
889
+ values:
890
+ x: X
891
+ instagram: Instagram
892
+ bluesky: Bluesky
893
+ tiktok: TikTok
894
+ url:
895
+ label: Post-URL
896
+ hideConversation:
897
+ label: Konversation ausblenden
898
+ hideMedia:
899
+ label: Medien ausblenden
900
+ description: Bettet Posts von X, Instagram, Bluesky oder TikTok ein
901
+ name: Social Media Post
902
+ tabs:
903
+ general: Social Embed
551
904
  twitterEmbed:
552
905
  attributes:
553
906
  hideConversation:
554
907
  label: Konversation ausblenden
555
908
  hideMedia:
556
909
  label: Medien ausblenden
910
+ url:
911
+ label: Post-URL
912
+ description: Bettet Inhalte von X ein
913
+ name: X Post
914
+ tabs:
915
+ general: X Embed
557
916
  videoEmbed:
558
917
  attributes:
559
918
  aspectRatio:
@@ -592,23 +951,278 @@ de:
592
951
  label: Initialer Gierungswinkel
593
952
  initialYaw:
594
953
  label: Initialer Neigungswinkel
954
+ aspectRatio:
955
+ blank: "(Automatisch)"
956
+ inline_help: Bestimmt die Form des VR-Panorama-Viewports. Automatisch verwendet optimierte Verhältnisse basierend auf der Elementbreite.
957
+ label: Seitenverhältnis
958
+ values:
959
+ narrow: Querformat (4:3)
960
+ portrait: Hochformat (9:16)
961
+ square: Quadrat (1:1)
962
+ wide: Querformat (16:9)
963
+ portraitAspectRatio:
964
+ blank: "(Standard)"
965
+ inline_help: Wird angezeigt, wenn das Browser-Viewport höher als breit ist, beispielsweise auf Telefonen oder Tablets im Hochformat. Kann verwendet werden, um ein anderes Seitenverhältnis bereitzustellen, das für die mobile Ansicht optimiert ist.
966
+ label: Seitenverhältnis (Hochkant)
967
+ values:
968
+ narrow: Querformat (4:3)
969
+ portrait: Hochformat (9:16)
970
+ square: Quadrat (1:1)
971
+ wide: Querformat (16:9)
595
972
  description: Interaktives Panorama aus Bild mit rektangularer Projektion
596
973
  name: 360°-Bild
974
+ hotspots:
975
+ edit_area:
976
+ back: Zurück
977
+ confirm_destroy: Soll der Hotspot-Bereich wirklich gelöscht werden?
978
+ destroy: Hotspot-Bereich löschen
979
+ tabs:
980
+ area: Hotspot-Bereich
981
+ portrait: Hochkant
982
+ attributes:
983
+ tooltipPosition:
984
+ label: Tooltip-Ausrichtung
985
+ inline_help: Verhindere, dass der Tooltip genau die Teile des Bildes überdeckt, die er beschriften soll.
986
+ values:
987
+ below: Unterhalb
988
+ above: Oberhalb
989
+ tooltipReference:
990
+ label: Tooltip-Position
991
+ inline_help: Tooltip am Indikator-Punkt oder außerhalb des Hotspot-Bereichs zeigen.
992
+ values:
993
+ indicator: Am Indikator
994
+ area: Am Hotspot-Bereich
995
+ tooltipMaxWidth:
996
+ label: Tooltip-Maximalbreite
997
+ inline_help: Bestimme, wie breit der Tooltip dargestellt wird.
998
+ values:
999
+ medium: "Mittel"
1000
+ veryNarrow: Sehr schmal
1001
+ narrow: Schmal
1002
+ wide: Breit
1003
+ tooltipTextAlign:
1004
+ label: Textausrichtung in Tooltip
1005
+ inline_help: Ausrichtung des Texts innerhalb des Tooltips.
1006
+ values:
1007
+ left: Links
1008
+ center: Zentriert
1009
+ right: Rechts
1010
+ color:
1011
+ inline_help: Wird für den Indikator-Punkt verwendet.
1012
+ label: Farbe
1013
+ activeImage:
1014
+ label: Aktives Bild
1015
+ inline_help: |-
1016
+ Alternatives Bild zeigen, sobald der Hotspot-Bereich
1017
+ aktiv ist. Verwende ein Bild, in dem der
1018
+ Hotspot-Bereich optisch hervorgehoben ist.
1019
+ tooltipImage:
1020
+ label: Bild in Tooltip
1021
+ inline_help: Zeige im Bild innerhalb des Tooltips an.
1022
+ area:
1023
+ label: Bereich
1024
+ inline_help: Ändere Größe und Position des Hotspot-Bereichs.
1025
+ zoom:
1026
+ label: Zoom
1027
+ inline_help: Bestimme, wie sehr das Bild herangezoomt werden soll, wenn der Bereich aktiv ist.
1028
+ portraitTooltipPosition:
1029
+ label: Tooltip-Position (Hochkant)
1030
+ inline_help: Verhindere, dass der Tooltip genau die Teile des Bildes überdeckt, die er beschriften soll.
1031
+ values:
1032
+ below: Unterhalb
1033
+ above: Oberhalb
1034
+ portraitTooltipReference:
1035
+ label: Tooltip-Position (Hochkant)
1036
+ inline_help: Tooltip am Indikator-Punkt oder außerhalb des Hotspot-Bereichs zeigen.
1037
+ values:
1038
+ indicator: Am Indikator
1039
+ area: Am Hotspot-Bereich
1040
+ portraitTooltipMaxWidth:
1041
+ label: Tooltip-Maximalbreite (Hochkant)
1042
+ inline_help: Bestimme, wie breit der Tooltip dargestellt wird.
1043
+ values:
1044
+ medium: "Mittel"
1045
+ narrow: Schmal
1046
+ veryNarrow: Sehr schmal
1047
+ wide: Breit
1048
+ portraitColor:
1049
+ label: Farbe (Hochkant)
1050
+ inline_help: Wird für den Indikator-Punkt verwendet.
1051
+ portraitActiveImage:
1052
+ label: Aktives Bild (Hochkant)
1053
+ inline_help: |-
1054
+ Alternatives Bild zeigen, sobald der Hotspot-Bereich
1055
+ aktiv ist. Verwende ein Bild, in dem der Hotspot-Bereich
1056
+ optisch hervorgehoben ist.
1057
+ portraitArea:
1058
+ label: Bereich (Hochkant)
1059
+ inline_help: Verändere Größe und Position des Hotspot-Bereichs.
1060
+ portraitZoom:
1061
+ label: Zoom (Hochkant)
1062
+ inline_help: Bestimme, wie sehr das Hochkant-Bild herangezoomt werden soll, wenn der Bereich ausgewählt ist.
1063
+ edit_area_dialog:
1064
+ header: Bereichsumriss und Indikatorposition
1065
+ tabs:
1066
+ default: Standard-Bild
1067
+ portrait: Hochkant-Bild
1068
+ modes:
1069
+ rect: Rechteck
1070
+ polygon: Polygon
1071
+ centerIndicator: Indikator zentrieren
1072
+ hotspots_image: Hotspotbild
1073
+ double_click_to_delete: Doppelklick, um Punkt zu entfernen
1074
+ indicator_title: Ziehen um Indikator zu positionieren
1075
+ save: Speichern
1076
+ cancel: Abbrechen
1077
+ areas:
1078
+ add: Hinzufügen
1079
+ label: Bereiche
1080
+ confirm_delete: Soll der Bereich wirklich gelöscht werden?
1081
+ area_input:
1082
+ edit: Umriss und Indikatorposition bearbeiten
1083
+ attributes:
1084
+ image:
1085
+ label: Bild
1086
+ inline_help: Bild, auf dem Hotspot-Bereiche platziert werden sollen.
1087
+ portraitImage:
1088
+ inline_help: Wird verwendet, wenn der Browser-Viewport höher als breit ist - zum Beispiel auf Smartphones oder Tablets in Portrait-Ausrichtung. Kann als Alternative zu einem querformatigen Bild konfiguriert werden, das ansonsten zu klein dargestellt würde.
1089
+ label: Bild (Hochkant)
1090
+ enablePanZoom:
1091
+ label: Pan & Zoom
1092
+ inline_help_html: |-
1093
+ Passt den Bildausschnitt animiert an, um beim
1094
+ Auswählen eines Hotspots näher heranzuzoomen und
1095
+ Details besser sichtbar zu machen.<br/><br/>Falls auf
1096
+ dem Desktop alle Details auch ohne Zoom gut zu
1097
+ erkennen sind, kann der Effekt optional nur für den
1098
+ Hochkant-Modus aktiviert werden.
1099
+ values:
1100
+ phonePlatform: Im Phone-Layout
1101
+ always: Immer
1102
+ never: Nie
1103
+ enableFullscreen:
1104
+ label: Vollbildmodus erlauben
1105
+ inline_help: Button anzeigen, um das Element bildschirmfüllend zu öffnen.
1106
+ invertTooltips:
1107
+ label: Tooltip-Farben invertieren
1108
+ inline_help: Dunkle Tooltips mit hellem Text verwenden.
1109
+ description: Bild mit anklickbaren Bereichen
1110
+ name: Hotspots
1111
+ tabs:
1112
+ general: Hotspots
1113
+ infoTable:
1114
+ description: Zweispaltige Tabelle mit Name/Wert-Paaren.
1115
+ name: Info-Tabelle
1116
+ tabs:
1117
+ general: Info-Tabelle
1118
+ attributes:
1119
+ labelColumnAlign:
1120
+ label: "Text-Ausrichtung (Erste Spalte)"
1121
+ values:
1122
+ auto: "(Automatisch)"
1123
+ left: Linksbündig
1124
+ center: Zentriert
1125
+ right: Rechtsbündig
1126
+ valueColumnAlign:
1127
+ label: "Text-Ausrichtung (Zweite Spalte)"
1128
+ values:
1129
+ auto: "(Automatisch)"
1130
+ left: Linksbündig
1131
+ center: Zentriert
1132
+ right: Rechtsbündig
1133
+ labelColor:
1134
+ label: "Text-Farbe (Erste Spalte)"
1135
+ valueColor:
1136
+ label: "Text-Farbe (Zweite Spalte)"
1137
+ singleColumnInPhoneLayout:
1138
+ label: "Einspaltig im Phone-Layout"
1139
+ inline_help: "Ordnet Tabellenzeilen vertikal auf dem Handy an, um zu schmale Spalten zu verhindern. Besonders hilfreich für Tabellen mit langen Texten oder breiten Inhalten."
1140
+ singleColumnAlign:
1141
+ label: "Text-Ausrichtung (Einspaltig)"
1142
+ values:
1143
+ auto: "(Automatisch)"
1144
+ left: Linksbündig
1145
+ center: Zentriert
1146
+ right: Rechtsbündig
1147
+ help_texts:
1148
+ shortcuts: |-
1149
+ <dl class="shortcuts">
1150
+ <dt>
1151
+ <span class="shortcut">
1152
+ <kbd>Enter</kbd>
1153
+ </span>
1154
+ <span class="inline_help">
1155
+ Füge eine neue Tabellenzeile hinzu.
1156
+ </span>
1157
+ </dt>
1158
+ <dd>
1159
+ Tabellenzeile einfügen
1160
+ </dd>
1161
+ <dt>
1162
+ <span class="shortcut">
1163
+ <kbd>Shift</kbd> + <kbd>Enter</kbd>
1164
+ </span>
1165
+ <span class="inline_help">
1166
+ Füge eine neue Zeile innerhalb einer Tabellenzelle ein.
1167
+ </span>
1168
+ </dt>
1169
+ <dd>
1170
+ Zeilenumbruch einfügen
1171
+ </dd>
1172
+ <dt>
1173
+ <span class="shortcut">
1174
+ <kbd>Alt</kbd> + <kbd>Enter</kbd>
1175
+ </span>
1176
+ <span class="inline_help">
1177
+ Füge potentielle Zeilenumbruchspunkte in lange Worte ein,
1178
+ um Silbentrennung zu ermöglichen.
1179
+ </span>
1180
+ </dt>
1181
+ <dd>
1182
+ Bedingten Trennstrich einfügen
1183
+ </dd>
1184
+ </dl>
1185
+ tikTokEmbed:
1186
+ attributes:
1187
+ url:
1188
+ label: TikTok-URL
1189
+ description: Bettet Inhalte von TikTok ein
1190
+ name: TikTok
1191
+ tabs:
1192
+ general: TikTok-Embed
597
1193
  edit_chapter:
598
1194
  attributes:
599
1195
  summary:
600
- inline_help: Zusammenfassung des Kapitels für die Darstellung in der Navigationsleiste. Nur Kapitel die sowohl Titel als auch Zusammenfassung gesetzt haben werden als Menüpunkt zur Navigation hinzugefügt.
601
1196
  label: Zusammenfassung
1197
+ inline_help: Zusammenfassung des Kapitels für die Darstellung in der Navigationsleiste.
602
1198
  title:
603
- inline_help: Wird in der Editor-Übersicht und der Navigationsleiste des Beitrags angezeigt. Nur Kapitel die sowohl Titel als auch Zusammenfassung gesetzt haben werden als Menüpunkt zur Navigation hinzugefügt.
604
1199
  label: Titel
605
- confirm_destroy: |-
606
- Kapitel einschließlich ALLER enthaltener Abschnitte wirklich löschen?
1200
+ inline_help_html: |-
1201
+ Der Titel des Kapitels erscheint in der
1202
+ Navigationsleiste. Er wird außerdem verwendet, um den
1203
+ Teil der Webadresse zu erstellen, der es ermöglicht,
1204
+ direkt zu diesem Kapitel zu springen.<br><br>
607
1205
 
608
- Dieser Schritt kann nicht rückgängig gemacht werden.
1206
+ Zum Beispiel: Wenn dein Kapitel 'Unsere Mission' heißt,
1207
+ kann man über eine Webadresse der Form
1208
+ yourwebsite.com/story#unsere-mission direkt zu diesem
1209
+ Kapitel springen.
1210
+ hideInNavigation:
1211
+ label: In der Navigationsleiste ausblenden
1212
+ inline_help: |-
1213
+ Kapitel kann als Link-Ziel verwendet werden, erscheint
1214
+ allerdings nicht in der Navigationsleiste.
1215
+ returnButtonLabel:
1216
+ label: Text für Zurück-Button
1217
+ sheetWidth:
1218
+ label: Overlay-Breite
1219
+ values:
1220
+ full: Volle Breite
1221
+ inset: Mit seitlichem Abstand
609
1222
  save_error: Beim Speichern des Kapitels ist ein Fehler aufgetreten.
610
1223
  tabs:
611
1224
  chapter: Kapitel
1225
+ excursion: Exkurs
612
1226
  edit_motif_area:
613
1227
  blank_slate: Kein Bereich markiert.
614
1228
  cancel: Abbrechen
@@ -617,15 +1231,41 @@ de:
617
1231
  hint: Ziehe ein Rechteck, um den wichtigsten Bereich des Bildes zu markieren.
618
1232
  reset: Zurücksetzen
619
1233
  save: Speichern
1234
+ chapter_menu_items:
1235
+ copy_permalink: Permalink kopieren
1236
+ move_to_main: In Kapitel umwandeln
1237
+ move_to_excursions: In Exkurs umwandeln
1238
+ destroy_chapter_menu_item:
1239
+ confirm_destroy: |-
1240
+ Kapitel inklusive ALLER Abschnitte wirklich löschen?
1241
+
1242
+ Diese Aktion kann nicht rückgängig gemacht werden.
1243
+ destroy: Kapitel löschen
1244
+ destroy_content_element_menu_item:
1245
+ confirm_destroy: Element wirklich löschen?
1246
+ destroy: Element löschen
1247
+ selection_label: Auswahl löschen
1248
+ duplicate_content_element_menu_item:
1249
+ label: Element duplizieren
1250
+ selection_label: Auswahl duplizieren
1251
+ content_element_menu_items:
1252
+ move: Element verschieben...
1253
+ move_selection: Auswahl verschieben...
1254
+ destroy_section_menu_item:
1255
+ confirm_destroy: Abschnitt inklusive aller Elemente wirklich löschen?
1256
+ destroy: Abschnitt löschen
620
1257
  edit_section:
1258
+ hidden_info: Dieser Abschnitt ist außerhalb des Editors ausgeblendet.
1259
+ motif_area_info_text: Markiere den wichtigsten Teil des Hintergrunds, der beim Erreichen des Abschnitts sichtbar und nicht von anderen Elementen überdeckt sein soll.
621
1260
  attributes:
622
1261
  appearance:
623
- inline_help: Diese Einstellung legt fest wie die scrollenden Vordergrund-Ebene vom Hintergrund abgehoben werden soll. Bei der Einstellung "Karte" wird der Vordergrund mit einer Fläche mit abgerundeten Ecken hinterlegt, bei "Schatten" mit einem hellen oder dunklen Farbverlauf.
1262
+ inline_help: Legt fest, wie der Vordergrund vom Hintergrund abgehoben wird. "Schatten" fügt einen Farbverlauf hinter dem Text hinzu. "Karte" platziert den Inhalt auf einer abgerundeten Fläche. "Split" bedeckt die halbe Viewport-Breite mit einem Overlay für den Inhalt.
624
1263
  label: Abblendung
625
1264
  values:
626
1265
  cards: Karte
627
1266
  shadow: Schatten
628
1267
  transparent: Keine
1268
+ split: Split
629
1269
  atmoAudioFileId:
630
1270
  inline_help: Wähle eine Audio-Datei, die im Hintergrund abgespielt werden soll. Wenn diese Atmo auch in nachfolgenden Abschnitten nahtlos weiterspielen soll, wähle für diese Abschnitte die selbe Atmo aus.
631
1271
  label: Atmo-Audio
@@ -643,6 +1283,7 @@ de:
643
1283
  color: Farbe
644
1284
  image: Bild
645
1285
  video: Video
1286
+ contentElement: Interaktives Element
646
1287
  backdropVideo:
647
1288
  label: Hintergrund-Video
648
1289
  backdropVideoMobile:
@@ -650,15 +1291,13 @@ de:
650
1291
  label: Hintergrund-Video (Hochkant)
651
1292
  dynamicShadowOpacity:
652
1293
  inline_help: Intensität der Abblendung, die - gesteuert durch die Scrollposition - hinter dem Text eingeblendet wird, sobald sich Motivbereich und Inhalt des Abschnitts zu überschneiden beginnen, um einen ausreichnenden Kontrast zu gewährleisten. Beachte, dass diese Abblendung nur sichtbar ist, wenn Motivbereich und Inhalt nicht nebeneinander dargestellt werden können. Wechsle am besten in die Phone-Vorschau, wenn du den eingestellten Wert veränderst.
653
- inline_help_disabled: Aktiviere "Motivbereich freilegen" weiter oben, um diese Einstellung zu verwenden.
1294
+ inline_help_disabled: Setze den oberen Innenabstand in den Abstandseinstellungen des Abschnitts auf "Automatisch anpassen", um diese Einstellung zu verwenden.
654
1295
  label: Dynamische Abblendung
655
- exposeMotifArea:
656
- inline_help: Sicherstellen, dass der markierte Motivbereich des Hintergrunds beim Erreichen des Abschnitts sichtbar ist und nicht von anderen Elementen überlagert wird. Wenn Motivbereich und Inhalt des Abschnitts nicht nebeneiner dargestellt werden können, wird zusätzlicher Freiraum am Anfang des Abschnitts eingefügt und der Inhalt nach unten verschoben.
657
- inline_help_disabled: Wähle "Motivbereich markieren" im Drei-Punkte-Menü des Hintergrund-Bilds/Videos weiter oben, um diese Funktion zu verwenden. du kannst damit sicherzustellen, dass wichtige Teile des Hintegrunds nicht von anderen Elementen überdeckt werden.
658
- label: Motivbereich freilegen
659
1296
  fullHeight:
660
1297
  inline_help: Aktiviere diese Einstellung, wenn der Hintergrund des Abschnitts (z.B. Bild, Farbfläche oder Hintergrundvideo) so groß angezeigt werden soll, dass das gesamte Browserfenster (der sogenannte Viewport) gefüllt ist. Wenn du mit kurzen Abschnitten arbeiten möchtest, musst du diese Option deaktivieren. Dann nimmt der Abschnitt und sein Hintergrund vertikal nur so viel Platz ein, wie für den Inhalt des Abschnitts unbedingt nötig ist. Es können dann mehrere Abschnitte mit verschiedenen Hintergründen gleichzeitig auf dem Bildschirm des Nutzers sichtbar sein. Um einen Überblendeffekt zwischen den Hintergründen zweier Abschnitte verwenden zu können, muss diese Option für beide Abschnitte aktiviert sein.
661
1298
  label: Volle Viewport-Höhe
1299
+ inline_help_disabled: |-
1300
+ Interaktive Hintergrund-Elemente nutzen immer die volle Viewport-Höhe
662
1301
  invert:
663
1302
  label: Textfarben invertieren
664
1303
  layout:
@@ -677,7 +1316,34 @@ de:
677
1316
  values:
678
1317
  narrow: Schmal
679
1318
  wide: Breit
680
- edit_motif_area: Motivbereich markieren...
1319
+ backdropContentElement:
1320
+ label: Element
1321
+ backdropSize:
1322
+ label: Hintergrund-Skalierung
1323
+ values:
1324
+ coverViewport: Viewport überdecken
1325
+ coverSection: Abschnitt überdecken
1326
+ cardSurfaceColor:
1327
+ inline_help: Hintergrundfarbe der Karte. Verwende eine teiltransparente Farbe, um den Hintergrund durchscheinen zu lassen und Hintergrundunschärfe zu aktivieren.
1328
+ label: Kartenhintergrundfarbe
1329
+ auto: "(Automatisch)"
1330
+ auto_color: "Automatische Farbe"
1331
+ shadowColor:
1332
+ inline_help: Farbe der Verläufe, die die Lesbarkeit des Inhalts vor dem Hintergrund verbessern.
1333
+ label: Schattenfarbe
1334
+ auto: "(Automatisch)"
1335
+ auto_color: "Automatische Farbe"
1336
+ splitOverlayColor:
1337
+ inline_help: Farbe des Overlays hinter dem Inhalt.
1338
+ label: Overlay-Farbe
1339
+ auto: "(Automatisch)"
1340
+ auto_color: "Automatische Farbe"
1341
+ overlayBackdropBlur:
1342
+ inline_help: Stärke der Unschärfe, die auf den Hintergrund hinter dem Overlay angewendet wird.
1343
+ label: Hintergrundunschärfe
1344
+ inline_help_disabled: Nur verfügbar, wenn die Overlay-Farbe Transparenz hat.
1345
+ sectionPaddings:
1346
+ label: Innenabstände oben/unten
681
1347
  tabs:
682
1348
  section: Abschnitt
683
1349
  edit_section_transition:
@@ -709,6 +1375,8 @@ de:
709
1375
  entry_outline:
710
1376
  add_chapter: Neues Kapitel
711
1377
  header: Gliederung
1378
+ finish_reorder_chapters: Umsortieren beenden
1379
+ reorder_chapters: "Kapitel umsortieren..."
712
1380
  inline_file_rights_menu_item:
713
1381
  label: Rechteangabe an dieser Stelle ausblenden
714
1382
  insert_content_element:
@@ -716,10 +1384,9 @@ de:
716
1384
  header: Element einfügen
717
1385
  no_options: Keine Optionen verfügbar
718
1386
  section_item:
1387
+ cutoff: Paywall Grenze
719
1388
  drag_hint: Ziehen, um den Abschnitt zu verschieben
720
- duplicate: Duplizieren
721
- insert_section_above: Abschnitt oberhalb einfügen
722
- insert_section_below: Abschnitt unterhalb einfügen
1389
+ hidden: Nur im Editor sichtbar
723
1390
  save_error: Beim Speichern des Abschnitts ist ein Fehler aufgetreten.
724
1391
  transitions:
725
1392
  beforeAfter: Statische Hintergründe
@@ -728,6 +1395,24 @@ de:
728
1395
  reveal: Freilegen
729
1396
  scroll: Aus-/Einscrollen
730
1397
  scrollOver: Überlagern
1398
+ section_menu_items:
1399
+ copy_permalink: Permalink kopieren
1400
+ duplicate: Abschnitt duplizieren
1401
+ hide: Außerhalb des Editors ausblenden
1402
+ insert_section_above: Abschnitt oberhalb einfügen
1403
+ insert_section_below: Abschnitt unterhalb einfügen
1404
+ move: Abschnitt verschieben...
1405
+ reset_cutoff: Paywall Grenze entfernen
1406
+ set_cutoff: Paywall Grenze oberhalb setzen
1407
+ show: Außerhalb des Editors einblenden
1408
+ section_padding_visualization:
1409
+ intersecting_auto: "Darstellung des dynamischen Abstands, der sich an die Größe des Motivbereichs anpasst, um Überlappungen von Text und Motiv zu vermeiden"
1410
+ intersecting_manual: "Darstellung des manuell definierten Abstands, der bei Änderung der Fenstergröße konstant bleibt"
1411
+ side_by_side: "Darstellung des oberen Abstands, wenn der Inhalt neben dem Motivbereich Platz findet"
1412
+ top_padding: "Darstellung des oberen Abstands"
1413
+ bottom_padding: "Darstellung des unteren Abstands"
1414
+ section_paddings_input:
1415
+ motif: Motiv
731
1416
  select_link_destination:
732
1417
  cancel: Abbrechen
733
1418
  create: Erstellen
@@ -739,10 +1424,262 @@ de:
739
1424
  select_file: Biete eine Datei zum Download an
740
1425
  select_file_description: Lasse Leser eine Datei herunterladen, wenn sie auf den Link klicken.
741
1426
  select_in_sidebar: Datei auswählen
1427
+ selection_label: Datei zum Herunterladen
1428
+ select_move_destination:
1429
+ cancel: Abbrechen
1430
+ header_insertPosition: Abschnitt verschieben
1431
+ header_sectionPart: Element verschieben
1432
+ hint: Wähle die Position aus, an die verschoben werden soll.
1433
+ selectable_storyline_item:
1434
+ blank_slate: Keine Kapitel
1435
+ blank_slate_excursions: Keine Exkurse
742
1436
  selectable_chapter_item:
743
1437
  title: Kapitel auswählen
1438
+ insert_here: Hierhin verschieben
744
1439
  selectable_section_item:
745
1440
  title: Abschnitt auswählen
1441
+ insert_here: Hierhin verschieben
1442
+ insert_at_beginning: An den Anfang
1443
+ insert_at_end: Ans Ende
1444
+ edit_motif_area_menu_item: Motivbereich markieren...
1445
+ edit_motif_area_input:
1446
+ select: Motivbereich auswählen
1447
+ edit: Motivbereich bearbeiten
1448
+ warn: Noch kein Motivbereich ausgewählt
1449
+ ignore_image: Für dieses Bild ignorieren
1450
+ ignore_video: Für dieses Video ignorieren
1451
+ backdrop_content_element_input:
1452
+ add: Neues Element
1453
+ unset: Nicht mehr als Hintergrund verwenden
1454
+ scales:
1455
+ sectionPaddingTop:
1456
+ none: "-"
1457
+ xxxs: XXXS
1458
+ xxs: XXS
1459
+ xs: XS
1460
+ sm: S
1461
+ md: M
1462
+ lg: L
1463
+ xl: XL
1464
+ xxl: XXL
1465
+ xxxl: XXXL
1466
+ sectionPaddingBottom:
1467
+ none: "-"
1468
+ xxxs: XXXS
1469
+ xxs: XXS
1470
+ xs: XS
1471
+ sm: S
1472
+ md: M
1473
+ lg: L
1474
+ xl: XL
1475
+ xxl: XXL
1476
+ xxxl: XXXL
1477
+ contentElementBoxBorderRadius:
1478
+ none: Keine
1479
+ contentElementMargin:
1480
+ xxs: XXS
1481
+ xs: XS
1482
+ sm: S
1483
+ md: M
1484
+ lg: L
1485
+ xl: XL
1486
+ xxl: XXL
1487
+ contentElementBoxShadow:
1488
+ sm: S
1489
+ md: M
1490
+ lg: L
1491
+ xl: XL
1492
+ content_element_text_inline_file_rights_attributes:
1493
+ showTextInlineFileRightsBackdrop:
1494
+ label: "Abblendung hinter Rechteangabe"
1495
+ inline_help: "Lesbarkeit des Texts auf unruhigen Hintergründen sicherstellen."
1496
+ inline_help_disabled: "Steht nur zur Verfügung, wenn Rechteangaben am Element angezeigt werden."
1497
+ common:
1498
+ default_suffix: " (Standard)"
1499
+ storylines_tabs:
1500
+ main: Gliederung
1501
+ excursions: Exkurse
1502
+ storyline_item:
1503
+ reorder_chapters: Die Kapitel wurden zusammengeklappt, um das Umsortieren zu erleichtern.
1504
+ done: Fertig
1505
+ add_chapter: Neues Kapitel
1506
+ add_excursion: Neuer Exkurs
1507
+ excursion_blank_slate: |-
1508
+ <p>
1509
+ <strong>Exkurse</strong> bieten zusätzliche Inhalte abseits des
1510
+ Hauptpfads. Sie öffnen sich in einer <strong>separaten
1511
+ Ebene</strong> und der Leser kehrt automatisch zur
1512
+ ursprünglichen Position zurück.
1513
+ </p>
1514
+ <p>
1515
+ Lege deinen ersten Exkurs an und <strong>verlinke
1516
+ ihn</strong> aus deinem Beitrag, um ihn für Leser zugänglich
1517
+ zu machen.
1518
+ </p>
1519
+ <a target="_blank" rel="noopener noreferrer"
1520
+ href="https://pageflow.freshdesk.com/de/support/solutions/articles/11000134532-was-sind-exkurse-und-wie-nutze-ich-sie-fr-vertiefende-inhalte">Mehr über Exkurse erfahren</a>
1521
+ aspect_ratios:
1522
+ narrow: Landscape (4:3)
1523
+ portrait: Portrait (3:4)
1524
+ square: Quadratisch (1:1)
1525
+ wide: Landscape (16:9)
1526
+ original: Original
1527
+ content_element_style_list_input:
1528
+ add: "Stil hinzufügen..."
1529
+ remove: "Stil entfernen"
1530
+ marginTop: "Abstand oben"
1531
+ marginBottom: "Abstand unten"
1532
+ boxShadow: "Schatten"
1533
+ outlineColor: "Umrandung"
1534
+ image_modifier_list_input:
1535
+ add: "Stil hinzufügen..."
1536
+ remove: "Stil entfernen"
1537
+ crop_types:
1538
+ circle: Kreis
1539
+ edit_section_paddings:
1540
+ tabs:
1541
+ sectionPaddings: Innenabstände
1542
+ portrait: Hochkant
1543
+
1544
+ side_by_side_info: 'Wenn Motiv und Inhalt nebeneinander passen:'
1545
+ attributes:
1546
+ topPaddingVisualization:
1547
+ label: Abstand oben
1548
+ exposeMotifArea:
1549
+ label: Abstand oben
1550
+ values:
1551
+ 'true': Automatisch anpassen, um ein Motiv im Hintergrund freizustellen
1552
+ 'false': Manuell festlegen
1553
+ sideBySideVisualization:
1554
+ label: Nebeneinander
1555
+ paddingTop:
1556
+ label: Abstand oben
1557
+ bottomPaddingVisualization:
1558
+ label: Abstand unten
1559
+ paddingBottom:
1560
+ label: Abstand unten
1561
+ samePortraitPaddings:
1562
+ label: Gleiche Innenabstände wie bei Querformat verwenden
1563
+ portraitExposeMotifArea:
1564
+ label: Abstand oben
1565
+ portraitPaddingTop:
1566
+ label: Abstand oben (Hochkant)
1567
+ portraitPaddingBottom:
1568
+ label: Abstand unten (Hochkant)
1569
+ remainingVerticalSpace:
1570
+ label: Verbleibender vertikaler Raum
1571
+ inline_help: Bestimmt, wo der Inhalt positioniert wird, wenn er nicht die gesamte Höhe des Abschnitts ausfüllt.
1572
+ inline_help_disabled: Nur verfügbar, wenn "Volle Viewport-Höhe" in den Abschnittseinstellungen aktiviert ist.
1573
+ values:
1574
+ around: Um den Inhalt
1575
+ above: Über dem Inhalt
1576
+ below: Unter dem Inhalt
1577
+ edit_defaults:
1578
+ back: Erscheinungsbild
1579
+ sections_info: Änderungen an diesen Einstellungen haben keine Auswirkungen auf existierende Abschnitte.
1580
+ content_elements_info: |-
1581
+ Änderungen an diesen Einstellungen haben keine Auswirkungen auf existierende Elemente.
1582
+ Einstellungen können später für einzelne Elemente überschrieben werden.
1583
+ all_elements: Alle Elemente
1584
+ tabs:
1585
+ sections: Neue Abschnitte
1586
+ content_elements: Neue Elemente
1587
+ attributes:
1588
+ defaultSectionLayout:
1589
+ label: Vordergrund-Positionierung
1590
+ inline_help: |-
1591
+ Standardposition der scrollenden Vordergrund-Ebene
1592
+ neuer Abschnitte in Desktop-Darstellung.
1593
+ values:
1594
+ center: Mitte
1595
+ centerRagged: Zentriert
1596
+ left: Links
1597
+ right: Rechts
1598
+ defaultSectionAppearance:
1599
+ label: Abblendung
1600
+ inline_help: Standard-Erscheinung neuer Abschnitte.
1601
+ values:
1602
+ cards: Karte
1603
+ shadow: Schatten
1604
+ transparent: Keine
1605
+ topPaddingVisualization:
1606
+ label: Abstand oben
1607
+ defaultSectionPaddingTop:
1608
+ label: Abstand oben
1609
+ inline_help: Standardabstand oberhalb des Inhalts neuer Abschnitte.
1610
+ bottomPaddingVisualization:
1611
+ label: Abstand unten
1612
+ defaultSectionPaddingBottom:
1613
+ label: Abstand unten
1614
+ inline_help: Standardabstand unterhalb des Inhalts neuer Abschnitte.
1615
+ defaultContentElementFullWidthInPhoneLayout:
1616
+ label: Volle Breite im Phone-Layout
1617
+ inline_help: |-
1618
+ Standardmäßig Elemente auf kleineren Bildschirmen
1619
+ die gesamte Breite des Viewports nutzen lassen.
1620
+ defaultCaptionVariant:
1621
+ label: Beschriftungsvariante
1622
+ inline_help: Standard-Darstellung der Beschriftungen neuer Elemente.
1623
+ defaultFileRightsDisplay:
1624
+ label: Rechteanzeige hochgeladener Dateien
1625
+ inline_help: |-
1626
+ Lege fest, ob die Rechteangabe neu hochgeladener Dateien in
1627
+ der zusammenfassenden Liste in der Info-Box angezeigt werden
1628
+ soll oder unmittelbar an der Stelle im Beitrag, wo die Datei
1629
+ verwendet wird.
1630
+ values:
1631
+ credits: In der Info-Box
1632
+ inline: Am verwendenden Element
1633
+ typography_sizes:
1634
+ xxxl: Riesig
1635
+ xxl: Extra groß
1636
+ xl: Sehr groß
1637
+ lg: Groß
1638
+ md: Mittel
1639
+ sm: Klein
1640
+ xs: Sehr klein
1641
+ xxs: Extra klein
1642
+ xxxs: Winzig
1643
+ short:
1644
+ xxxl: XXXL
1645
+ xxl: XXL
1646
+ xl: XL
1647
+ lg: L
1648
+ md: M
1649
+ sm: S
1650
+ xs: XS
1651
+ xxs: XXS
1652
+ xxxs: XXXS
1653
+ link_button_variant_attributes:
1654
+ linkButtonVariant:
1655
+ label: Button-Variante
1656
+ blank: "(Standard)"
1657
+ main_menu:
1658
+ comments: Kommentare
1659
+ comments_view:
1660
+ activity: Letzte Aktivität
1661
+ always_show_comments: Kommentare immer anzeigen
1662
+ display_options: Kommentaranzeige
1663
+ filter:
1664
+ all: Alle Themen
1665
+ unresolved: Ungelöste Themen
1666
+ new_thread: Neues Thema
1667
+ section: Abschnitt
1668
+ tabs:
1669
+ comments: Alle
1670
+ selection: Für Auswahl
1671
+ comment_activity_view:
1672
+ back: Kommentare
1673
+ tabs:
1674
+ activity: Letzte Aktivität
1675
+ new_thread_view:
1676
+ back: Kommentare
1677
+ tabs:
1678
+ newComment: Neues Thema
1679
+ configuration_places:
1680
+ entry: "Einstellungen"
1681
+ label: "%{chapter} - %{subject}"
1682
+ section: "Abschnitt %{number}"
746
1683
  help_entries:
747
1684
  content_elements:
748
1685
  menu_item: Inhaltselemente
@@ -818,10 +1755,11 @@ de:
818
1755
  rechts neben dem Text dargestellt werden kann, so wird
819
1756
  kein zusätzlicher Abstand oberhalb des Texts eingefügt.
820
1757
 
821
- Deaktiviere die Option **Motivbereich freilegen**, falls
822
- der Bildauschnitt zwar passend zum Motivbereich gewählt
823
- werden soll, der Inhalt des Abschnitts das Motiv aber
824
- überlagern darf.
1758
+ Wähle in den Abstandseinstellungen des Abschnitts beim
1759
+ oberen Innenabstand die Option **Manuell festlegen**,
1760
+ falls der Bildauschnitt zwar passend zum Motivbereich
1761
+ gewählt werden soll, der Inhalt des Abschnitts das Motiv
1762
+ aber überlagern darf.
825
1763
 
826
1764
  Der Motivbereich kann über den Menüpunkt **Bildmotiv
827
1765
  markieren** der **Hintergrund-Bild**- und **Hintergrund
@@ -1010,24 +1948,27 @@ de:
1010
1948
  aktiviert wurde.
1011
1949
  inline_editing:
1012
1950
  add_caption: Beschriftung hinzufügen
1951
+ add_comment: Kommentar hinzufügen
1013
1952
  add_content_element: Neues Element hinzufügen
1014
1953
  cancel: Abbrechen
1015
1954
  drag_content_element: Ziehen, um Element zu verschieben
1955
+ padding_suppressed_before_full_width: Abstand unterdrückt vor vollbreitem Element
1956
+ padding_suppressed_after_full_width: Abstand unterdrückt nach vollbreitem Element
1016
1957
  edit_section_transition_after: Übergangseffekt bearbeiten
1017
1958
  edit_section_transition_before: Übergangseffekt bearbeiten
1018
- external_links:
1019
- open_in_new_tab: Seite in neuem Tab ansehen
1020
- open_in_new_tab_message: Öffnen im selben Tab ist im Editor deaktiviert.
1959
+ flip_card: Karte wenden
1021
1960
  formats:
1022
1961
  block_quote: Blockzitat
1023
- bold: Fett
1024
1962
  bulleted_list: Auflistung
1025
1963
  heading: Überschrift
1026
- italic: Kursiv
1027
1964
  ordered_list: Aufzählung
1028
1965
  paragraph: Absatz
1029
- strikethrough: Durchgestrichen
1030
- underline: Unterstrichen
1966
+ bold: Fett (Strg+B)
1967
+ italic: Kursiv (Strg+I)
1968
+ strikethrough: Durchgestrichen (Strg+Umschalten+S)
1969
+ underline: Unterstrichen (Strg+U)
1970
+ sub: Tiefgestellt (Strg+;)
1971
+ sup: Hochgestellt (Strg+,)
1031
1972
  insert_content_element:
1032
1973
  after: Neues Element unterhalb einfügen
1033
1974
  before: Neues Element oberhalb einfügen
@@ -1036,9 +1977,12 @@ de:
1036
1977
  chapter_number: Kapitel %{number}
1037
1978
  deleted_chapter: Gelöschtes Kapitel
1038
1979
  deleted_file: Gelöschte Datei
1980
+ excursion_with_title: "Exkurs: %{title}"
1039
1981
  opens_in_new_tab: Öffnet in neuem Tab
1040
1982
  opens_in_same_tab: Öffnet außerhalb des Editors im selben Tab
1983
+ untitled_excursion: Unbenannter Exkurs
1041
1984
  visit_chapter: Gehe zu Kapitel
1985
+ visit_excursion: Gehe zu Exkurs
1042
1986
  visit_section: Gehe zu Abschnitt
1043
1987
  remove_link: Link entfernen
1044
1988
  select_content_element: Element auswählen
@@ -1054,9 +1998,81 @@ de:
1054
1998
  type_text: Text eingeben
1055
1999
  type_title: Titel
1056
2000
  url_placeholder: URL eingeben oder einfügen
1057
- public:
1058
- third_party_consent:
1059
- opt_in_prompt:
1060
- twitter: Ich bin damit einverstanden, dass Inhalte von Twitter angezeigt werden.
1061
- twitter:
1062
- default_title: Tweet
2001
+ select_backdrop_content_element: Hintergrund bearbeiten
2002
+ back_to_section: Zurück zum Abschnitt
2003
+ select_link_destination: "Link-Ziel auswählen"
2004
+ change_link_destination: "Link-Ziel ändern"
2005
+ remove_link: "Link entfernen"
2006
+ edit_section_padding_top: Oberen Abstand bearbeiten
2007
+ edit_section_padding_bottom: Unteren Abstand bearbeiten
2008
+ content_element_margin_top: Oberer Außenabstand
2009
+ content_element_margin_bottom: Unterer Außenabstand
2010
+ expose_motif_area: Motiv freilegen
2011
+ review:
2012
+ add_comment: Kommentar hinzufügen
2013
+ cancel_add_comment: Abbrechen
2014
+ hide_comments: Kommentare ausblenden
2015
+ show_comments: Kommentare einblenden
2016
+ show_comments_with_unread:
2017
+ one: Kommentare einblenden (1 Thema mit neuer Aktivität)
2018
+ other: Kommentare einblenden (%{count} Themen mit neuer Aktivität)
2019
+ comment_toolbar: Kommentare
2020
+ filter:
2021
+ label: Kommentare filtern
2022
+ unresolved: Ungelöst
2023
+ all: Alle
2024
+ previous_comment: Vorheriger Kommentar
2025
+ next_comment: Nächster Kommentar
2026
+ comment_count:
2027
+ zero: Keine Kommentare
2028
+ one: 1 Kommentar
2029
+ other: '%{count} Kommentare'
2030
+ unread_count:
2031
+ one: 1 ungelesen
2032
+ other: '%{count} ungelesen'
2033
+ unread_reply_count:
2034
+ one: 1 ungelesen
2035
+ other: '%{count} ungelesen'
2036
+ unread_replies: Ungelesene Antworten
2037
+ select_content_element: Zum Kommentieren auswählen
2038
+ select_section: Abschnitt zum Kommentieren auswählen
2039
+ select_text_to_comment: Text zum Kommentieren auswählen
2040
+ new_topic: Neues Thema
2041
+ add_comment_placeholder: Kommentar hinzufügen...
2042
+ reply_placeholder: Antworten...
2043
+ cancel: Abbrechen
2044
+ save: Speichern
2045
+ send: Senden
2046
+ enter_for_new_line: Enter für neue Zeile
2047
+ comment_actions: Kommentaraktionen
2048
+ edit_comment: Bearbeiten
2049
+ edited: Bearbeitet %{date}
2050
+ resolve: Als gelöst markieren
2051
+ unresolve: Als ungelöst markieren
2052
+ resolution: Als gelöst markiert
2053
+ resolution_by: Als gelöst markiert von
2054
+ thread_actions: Aktionen für Thema
2055
+ resolved_count:
2056
+ one: 1 erledigt
2057
+ other: '%{count} erledigt'
2058
+ reply_count:
2059
+ one: 1 Antwort
2060
+ other: '%{count} Antworten'
2061
+ earlier_reply_count:
2062
+ one: 1 weitere Antwort
2063
+ other: '%{count} weitere Antworten'
2064
+ no_threads_yet: Noch keine Kommentare
2065
+ refers_to_deleted_element: Bezieht sich auf ein gelöschtes Element
2066
+ activity:
2067
+ toggle: Letzte Aktivität
2068
+ summary:
2069
+ topic: Thema begonnen
2070
+ reply_count:
2071
+ one: 1 Antwort
2072
+ other: '%{count} Antworten'
2073
+ resolution: als gelöst markiert
2074
+ and: ' und '
2075
+ today: Heute
2076
+ yesterday: Gestern
2077
+ no_activity_yet: Noch keine Aktivität
2078
+ show_more: Mehr anzeigen