locomotive_cms 2.0.0.rc7 → 2.0.0.rc8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. data/Gemfile +6 -4
  2. data/README.textile +4 -3
  3. data/app/assets/images/locomotive/icons/flags/{no.png → nb.png} +0 -0
  4. data/app/assets/javascripts/aloha/plugins/custom/locomotive_media/lib/locomotive_media-plugin.js +1 -1
  5. data/app/assets/javascripts/locomotive/utils/core_ext.js +2 -0
  6. data/app/assets/javascripts/locomotive/views/application_view.js.coffee +7 -0
  7. data/app/assets/javascripts/locomotive/views/content_assets/picker_view.js.coffee +4 -1
  8. data/app/assets/javascripts/locomotive/views/content_entries/_form_view.js.coffee +4 -2
  9. data/app/assets/javascripts/locomotive/views/content_entries/_popup_form_view.js.coffee +8 -3
  10. data/app/assets/javascripts/locomotive/views/content_types/_form_view.js.coffee +0 -2
  11. data/app/assets/javascripts/locomotive/views/content_types/custom_field_entry_view.js.coffee +9 -2
  12. data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +10 -11
  13. data/app/assets/javascripts/locomotive/views/inline_editor/application_view.js.coffee +9 -0
  14. data/app/assets/javascripts/locomotive/views/pages/_form_view.js.coffee +3 -3
  15. data/app/assets/javascripts/locomotive/views/shared/asset_picker_view.js.coffee +11 -18
  16. data/app/assets/javascripts/locomotive/views/shared/fields/many_to_many_view.js.coffee +0 -4
  17. data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +2 -1
  18. data/app/assets/javascripts/locomotive/views/snippets/_form_view.js.coffee +3 -1
  19. data/app/assets/javascripts/locomotive/views/theme_assets/_form_view.js.coffee +4 -4
  20. data/app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee +10 -2
  21. data/app/assets/javascripts/tinymce/plugins/locomotive_media/editor_plugin.js +4 -1
  22. data/app/assets/stylesheets/locomotive/backoffice/codemirror_changes.css.scss +1 -0
  23. data/app/assets/stylesheets/locomotive/backoffice/datepicker.css.scss +1 -1
  24. data/app/assets/stylesheets/locomotive/backoffice/dialog_changes.css.scss +9 -3
  25. data/app/assets/stylesheets/locomotive/backoffice/formtastic_changes.css.scss +3 -1
  26. data/app/cells/locomotive/global_actions_cell.rb +1 -1
  27. data/app/controllers/locomotive/api/base_controller.rb +7 -4
  28. data/app/controllers/locomotive/api/content_assets_controller.rb +13 -0
  29. data/app/controllers/locomotive/api/content_types_controller.rb +14 -1
  30. data/app/controllers/locomotive/api/current_site_controller.rb +3 -1
  31. data/app/controllers/locomotive/api/memberships_controller.rb +49 -0
  32. data/app/controllers/locomotive/api/pages_controller.rb +14 -1
  33. data/app/controllers/locomotive/api/sites_controller.rb +44 -0
  34. data/app/controllers/locomotive/api/snippets_controller.rb +14 -1
  35. data/app/controllers/locomotive/api/theme_assets_controller.rb +13 -0
  36. data/app/controllers/locomotive/public/content_entries_controller.rb +7 -3
  37. data/app/helpers/locomotive/content_types_helper.rb +4 -0
  38. data/app/helpers/locomotive/custom_fields_helper.rb +1 -1
  39. data/app/models/locomotive/ability.rb +2 -0
  40. data/app/models/locomotive/content_entry.rb +4 -2
  41. data/app/models/locomotive/content_type.rb +7 -0
  42. data/app/models/locomotive/extensions/content_type/default_values.rb +1 -1
  43. data/app/models/locomotive/extensions/page/redirect.rb +1 -1
  44. data/app/models/locomotive/extensions/page/tree.rb +14 -1
  45. data/app/models/locomotive/site.rb +5 -1
  46. data/app/models/locomotive/theme_asset.rb +1 -1
  47. data/app/presenters/locomotive/membership_presenter.rb +7 -2
  48. data/app/presenters/locomotive/site_presenter.rb +5 -0
  49. data/app/views/locomotive/content_assets/_picker.html.haml +3 -3
  50. data/app/views/locomotive/content_entries/_form.html.haml +1 -1
  51. data/app/views/locomotive/content_types/_form.html.haml +2 -2
  52. data/app/views/locomotive/current_site/_form.html.haml +1 -1
  53. data/app/views/locomotive/custom_fields/types/_many_to_many.html.haml +5 -5
  54. data/app/views/locomotive/my_account/edit.html.haml +1 -1
  55. data/app/views/locomotive/pages/_form.html.haml +1 -1
  56. data/app/views/locomotive/public/pages/show_toolbar.html.haml +2 -2
  57. data/app/views/locomotive/public/sitemaps/show.xml.builder +2 -2
  58. data/app/views/locomotive/shared/_form_actions.html.haml +1 -1
  59. data/app/views/locomotive/shared/_head.html.haml +2 -2
  60. data/app/views/locomotive/snippets/_form.html.haml +1 -1
  61. data/app/views/locomotive/theme_assets/_form.html.haml +1 -1
  62. data/app/views/locomotive/theme_assets/index.html.haml +5 -5
  63. data/config/locales/admin_ui.de.yml +37 -31
  64. data/config/locales/admin_ui.en.yml +1 -1
  65. data/config/locales/admin_ui.es.yml +2 -1
  66. data/config/locales/admin_ui.fr.yml +1 -1
  67. data/config/locales/admin_ui.it.yml +2 -1
  68. data/config/locales/{admin_ui.no.yml → admin_ui.nb.yml} +72 -55
  69. data/config/locales/admin_ui.nl.yml +2 -1
  70. data/config/locales/admin_ui.pt-BR.yml +2 -1
  71. data/config/locales/admin_ui.ru.yml +1 -1
  72. data/config/locales/{carrierwave.no.yml → carrierwave.nb.yml} +1 -1
  73. data/config/locales/default.de.yml +13 -3
  74. data/config/locales/default.en.yml +5 -0
  75. data/config/locales/default.fr.yml +4 -0
  76. data/config/locales/{default.no.yml → default.nb.yml} +43 -1
  77. data/config/locales/{devise.no.yml → devise.nb.yml} +9 -9
  78. data/config/locales/{flash.no.yml → flash.nb.yml} +1 -1
  79. data/config/locales/{formtastic.no.yml → formtastic.nb.yml} +21 -17
  80. data/config/routes.rb +4 -0
  81. data/lib/generators/locomotive/install/templates/locomotive.rb +9 -2
  82. data/lib/locomotive.rb +1 -0
  83. data/lib/locomotive/configuration.rb +4 -3
  84. data/lib/locomotive/custom_fields.rb +2 -0
  85. data/lib/locomotive/liquid/drops/page.rb +1 -1
  86. data/lib/locomotive/liquid/tags/csrf.rb +40 -0
  87. data/lib/locomotive/liquid/tags/extends.rb +3 -9
  88. data/lib/locomotive/liquid/tags/nav.rb +8 -8
  89. data/lib/locomotive/mongoid/patches.rb +54 -9
  90. data/lib/locomotive/rails.rb +1 -0
  91. data/lib/locomotive/rails/action_view.rb +9 -0
  92. data/lib/locomotive/render.rb +4 -4
  93. data/lib/locomotive/version.rb +1 -1
  94. data/vendor/assets/javascripts/locomotive/backbone.modelbinding.js +13 -4
  95. metadata +259 -95
@@ -44,7 +44,7 @@ module Locomotive
44
44
 
45
45
  def options_for_content_type
46
46
  current_site.content_types.map do |c|
47
- c != @content_type ? [c.name, c.klass_with_custom_fields(:entries).to_s] : nil
47
+ [c.name, c.klass_with_custom_fields(:entries).to_s]
48
48
  end.compact
49
49
  end
50
50
 
@@ -37,6 +37,8 @@ module Locomotive
37
37
  can :touch, Site do |site|
38
38
  site == @site
39
39
  end
40
+
41
+ can :read, ContentType
40
42
  end
41
43
 
42
44
  def setup_designer_permissions!
@@ -45,9 +45,11 @@ module Locomotive
45
45
  self.send((type || self.content_type).label_field_name.to_sym)
46
46
  end
47
47
 
48
- value.respond_to?(:to_label) ? value.to_label : value
48
+ value.respond_to?(:to_label) ? value.to_label : value.to_s
49
49
  end
50
50
 
51
+ alias :to_label :_label
52
+
51
53
  def translated?
52
54
  if self.respond_to?(:"#{self._label_field_name}_translations")
53
55
  self.send(:"#{self._label_field_name}_translations").key?(::Mongoid::Fields::I18n.locale.to_s) #rescue false
@@ -86,7 +88,7 @@ module Locomotive
86
88
  end
87
89
 
88
90
  def as_json(options = {})
89
- self.to_presenter.as_json
91
+ self.to_presenter(options).as_json
90
92
  end
91
93
 
92
94
  protected
@@ -84,6 +84,13 @@ module Locomotive
84
84
  self.class.class_name_to_content_type(class_name, self.site)
85
85
  end
86
86
 
87
+ def label_field_id=(value)
88
+ # update the label_field_name if the label_field_id is changed
89
+ new_label_field_name = self.entries_custom_fields.where(:_id => value).first.try(:name)
90
+ self.label_field_name = new_label_field_name
91
+ super(value)
92
+ end
93
+
87
94
  def label_field_name=(value)
88
95
  # mandatory if we allow the API to set the label field name without an id of the field
89
96
  @new_label_field_name = value unless value.blank?
@@ -27,7 +27,7 @@ module Locomotive
27
27
 
28
28
  def set_label_field
29
29
  if @new_label_field_name.present?
30
- self.label_field_id = self.entries_custom_fields.detect { |f| f.name == @new_label_field_name.underscore }._id
30
+ self.label_field_id = self.entries_custom_fields.detect { |f| f.name == @new_label_field_name.underscore }.try(:_id)
31
31
  end
32
32
 
33
33
  # unknown label_field_name, get the first one instead
@@ -9,7 +9,7 @@ module Locomotive
9
9
 
10
10
  ## fields ##
11
11
  field :redirect, :type => Boolean, :default => false
12
- field :redirect_url, :type => String
12
+ field :redirect_url, :type => String, :localize => true
13
13
 
14
14
  ## validations ##
15
15
  validates_presence_of :redirect_url, :if => :redirect
@@ -19,11 +19,14 @@ module Locomotive
19
19
  ## indexes ##
20
20
  index :position
21
21
  index [[:depth, Mongo::ASCENDING], [:position, Mongo::ASCENDING]]
22
+
23
+ alias_method_chain :rearrange, :identity_map
24
+ alias_method_chain :rearrange_children, :identity_map
22
25
  end
23
26
 
24
27
  module ClassMethods
25
28
 
26
- # Returns the pages tree from the site with the most minimal amount of queries.
29
+ # Returns the tree of pages from the site with the most minimal amount of queries.
27
30
  # This method should only be used for read-only purpose since
28
31
  # the mongodb returns the minimal set of required attributes to build
29
32
  # the tree.
@@ -101,6 +104,16 @@ module Locomotive
101
104
 
102
105
  protected
103
106
 
107
+ def rearrange_with_identity_map
108
+ ::Mongoid::IdentityMap.clear
109
+ rearrange_without_identity_map
110
+ end
111
+
112
+ def rearrange_children_with_identity_map
113
+ self.children.reset
114
+ rearrange_children_without_identity_map
115
+ end
116
+
104
117
  def persist_depth
105
118
  self.attributes['depth'] = self.depth
106
119
  self.depth_will_change!
@@ -54,8 +54,12 @@ module Locomotive
54
54
  Locomotive::Liquid::Drops::Site.new(self)
55
55
  end
56
56
 
57
+ def to_presenter(options = {})
58
+ Locomotive::SitePresenter.new(self, options)
59
+ end
60
+
57
61
  def as_json(options = {})
58
- Locomotive::SitePresenter.new(self, options).as_json
62
+ self.to_presenter(options).as_json
59
63
  end
60
64
 
61
65
  protected
@@ -145,7 +145,7 @@ module Locomotive
145
145
  def escape_shortcut_urls(text)
146
146
  return if text.blank?
147
147
 
148
- text.gsub(/[("'](\/(stylesheets|javascripts|images|media)\/(([^;.]+)\/)*([a-z_\-0-9]+)\.[a-z]{2,3})[)"']/) do |path|
148
+ text.gsub(/[("'](\/(stylesheets|javascripts|images|media)\/(([^;.]+)\/)*([a-zA-Z_\-0-9]+)\.[a-z]{2,3})[)"']/) do |path|
149
149
 
150
150
  sanitized_path = path.gsub(/[("')]/, '').gsub(/^\//, '')
151
151
 
@@ -1,7 +1,7 @@
1
1
  module Locomotive
2
2
  class MembershipPresenter < BasePresenter
3
3
 
4
- delegate :role, :to => :source
4
+ delegate :role, :account_id, :to => :source
5
5
 
6
6
  def name
7
7
  self.source.account.name
@@ -26,8 +26,13 @@ module Locomotive
26
26
  end
27
27
 
28
28
  def included_methods
29
- super + %w(name email role role_name can_update grant_admin)
29
+ super + %w(account_id name email role role_name can_update grant_admin)
30
30
  end
31
31
 
32
+ # def light_as_json
33
+ # methods = included_methods.clone - %w(name email)
34
+ # self.as_json(methods)
35
+ # end
36
+
32
37
  end
33
38
  end
@@ -15,5 +15,10 @@ module Locomotive
15
15
  super + %w(name locales domain_name subdomain domains robots_txt seo_title meta_keywords meta_description domains_without_subdomain memberships)
16
16
  end
17
17
 
18
+ def as_json_for_html_view
19
+ methods = included_methods.clone - %w(memberships)
20
+ self.as_json(methods)
21
+ end
22
+
18
23
  end
19
24
  end
@@ -11,9 +11,9 @@
11
11
  = link_to t('locomotive.buttons.close'), '#', :id => 'close-link'
12
12
 
13
13
  .button-wrapper.upload
14
- = form_tag theme_assets_url(:json), :class => 'quick-upload' do
15
- = file_field_tag 'theme_asset[source]', :multiple => 'multiple'
16
- = link_to t('locomotive.theme_assets.image_picker.upload'), theme_assets_url(:json), :class => 'new', :id => 'upload-link'
14
+ = form_tag content_assets_url(:json), :class => 'quick-upload' do
15
+ = file_field_tag 'content_asset[source]', :multiple => 'multiple'
16
+ = link_to t('locomotive.content_assets.image_picker.upload'), content_assets_url(:json), :class => 'new', :id => 'upload-link'
17
17
 
18
18
  %script{ :type => 'text/html', :id => 'content_asset' }
19
19
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  - content_for :backbone_view_data do
5
5
  :plain
6
- content_entry: #{@content_entry.to_json}
6
+ content_entry: #{j @content_entry.to_json.html_safe}
7
7
 
8
8
  = f.inputs :name => :attributes do
9
9
  - @content_type.ordered_entries_custom_fields.each_with_index do |field, index|
@@ -3,8 +3,8 @@
3
3
 
4
4
  - content_for :backbone_view_data do
5
5
  :plain
6
- content_type: #{@content_type.persisted? ? @content_type.to_json : 'null'},
7
- inverse_of_list: #{options_for_content_type_inverse_of.to_json}
6
+ content_type: #{j @content_type.persisted? ? @content_type.to_json.html_safe : 'null'},
7
+ inverse_of_list: #{j options_for_content_type_inverse_of.to_json.html_safe}
8
8
 
9
9
  = f.inputs :name => :information do
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  - content_for :backbone_view_data do
6
6
  :plain
7
- site: #{@site.to_json(:current_account => current_locomotive_account, :current_site => current_site)},
7
+ site: #{j @site.to_json(:current_account => current_locomotive_account, :current_site => current_site).html_safe},
8
8
  errors: #{@site.errors.to_json}
9
9
 
10
10
  = f.inputs :name => :information do
@@ -1,10 +1,10 @@
1
1
  - if field.ui_enabled?
2
2
  - target_content_type = Locomotive::ContentType.class_name_to_content_type(field.class_name, current_site)
3
3
 
4
- = f.input name.to_sym,
5
- :label => field.label,
6
- :hint => field.hint,
7
- :as => :'Locomotive::Empty',
4
+ = f.input name.to_sym,
5
+ :label => field.label,
6
+ :hint => field.hint,
7
+ :as => :'Locomotive::Empty',
8
8
  :wrapper_html => { :id => "content_entry_#{name}_input", :class => 'empty relationship input' }
9
9
 
10
10
  - content_for :head do
@@ -38,4 +38,4 @@
38
38
 
39
39
  - content_for :backbone_view_data do
40
40
  :plain
41
- , all_#{name}_entries: #{target_content_type.list_or_group_entries.to_json}
41
+ , all_#{name}_entries: #{j target_content_type.list_or_group_entries.to_json(:depth => 1).html_safe}
@@ -2,7 +2,7 @@
2
2
 
3
3
  - content_for :backbone_view_data do
4
4
  :plain
5
- account: #{@account.to_json}
5
+ account: #{j @account.to_json.html_safe}
6
6
 
7
7
  - content_for :submenu do
8
8
  = render_cell 'locomotive/settings_menu', :show
@@ -5,7 +5,7 @@
5
5
 
6
6
  - content_for :backbone_view_data do
7
7
  :plain
8
- page: #{@page.to_presenter.as_json_for_html_view.to_json}
8
+ page: #{j @page.to_presenter.as_json_for_html_view.to_json.html_safe}
9
9
 
10
10
  - if can?(:manage, @page)
11
11
 
@@ -20,8 +20,8 @@
20
20
  window.content_locale = '#{::Mongoid::Fields::I18n.locale}';
21
21
 
22
22
  Locomotive.mounted_on = '#{Locomotive.mounted_on}';
23
- Locomotive.current_site = new Locomotive.Models.Site(#{current_site.to_json});
24
- Locomotive.current_account = new Locomotive.Models.Account(#{current_locomotive_account.to_json});
23
+ Locomotive.current_site = new Locomotive.Models.Site(#{j current_site.to_json.html_safe});
24
+ Locomotive.current_account = new Locomotive.Models.Account(#{j current_locomotive_account.to_json.html_safe});
25
25
 
26
26
  $(document).ready(function() {
27
27
 
@@ -11,14 +11,14 @@ xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
11
11
  if page.templatized?
12
12
  page.content_type.entries.visible.each do |c|
13
13
  xml.url do
14
- xml.loc page_url(page, { :content => c, :host => true })
14
+ xml.loc page_url(page, { :content => c })
15
15
  xml.lastmod c.updated_at.to_date.to_s('%Y-%m-%d')
16
16
  xml.priority 0.9
17
17
  end
18
18
  end
19
19
  else
20
20
  xml.url do
21
- xml.loc page_url(page, { :host => true })
21
+ xml.loc page_url(page)
22
22
  xml.lastmod page.updated_at.to_date.to_s('%Y-%m-%d')
23
23
  xml.priority 0.9
24
24
  end
@@ -9,6 +9,6 @@
9
9
 
10
10
  .span-12.last
11
11
  %p
12
- = submit_tag button_label.is_a?(Symbol) ? t(".#{button_label}") : button_label, :disable_with => t('.disable_with'), :'data-sending-form-message' => t('locomotive.messages.sending_form')
12
+ = submit_tag button_label.is_a?(Symbol) ? t(".#{button_label}") : button_label, :'data-disable-with' => t('.disable_with'), :'data-sending-form-message' => t('locomotive.messages.sending_form')
13
13
 
14
14
  .clear
@@ -19,8 +19,8 @@
19
19
  window.locale = '#{I18n.locale}';
20
20
  window.content_locale = '#{::Mongoid::Fields::I18n.locale}';
21
21
 
22
- Locomotive.current_site = new Locomotive.Models.Site(#{current_site.to_json});
23
- Locomotive.current_account = new Locomotive.Models.Account(#{current_locomotive_account.to_json});
22
+ Locomotive.current_site = new Locomotive.Models.Site(#{j current_site.to_presenter.as_json_for_html_view.to_json.html_safe});
23
+ Locomotive.current_account = new Locomotive.Models.Account(#{j current_locomotive_account.to_json.html_safe});
24
24
 
25
25
  $(document).ready(function() {
26
26
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  - content_for :backbone_view_data do
5
5
  :plain
6
- snippet: #{@snippet.persisted? ? @snippet.to_presenter.as_json_for_html_view.to_json : 'null'}
6
+ snippet: #{j @snippet.persisted? ? @snippet.to_presenter.as_json_for_html_view.to_json.html_safe : 'null'}
7
7
 
8
8
  = f.inputs :name => :information do
9
9
  = f.input :name, :wrapper_html => { :class => 'highlighted' }
@@ -3,7 +3,7 @@
3
3
 
4
4
  - content_for :backbone_view_data do
5
5
  :plain
6
- theme_asset: #{@theme_asset.persisted? ? @theme_asset.to_json : 'null'}
6
+ theme_asset: #{j @theme_asset.persisted? ? @theme_asset.to_json.html_safe : 'null'}
7
7
 
8
8
  = f.hidden_field :performing_plain_text
9
9
 
@@ -16,11 +16,11 @@
16
16
 
17
17
  - content_for :backbone_view_data do
18
18
  :plain
19
- snippets: #{can?(:manage, Locomotive::Snippet) ? @snippets.map { |snippet| snippet.to_presenter.as_json_for_html_view }.to_json : 'null'},
20
- images: #{theme_assets_to_json(@assets[:images])},
21
- media: #{theme_assets_to_json(@assets[:media])},
22
- js_and_css_assets: #{can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@js_and_css_assets) : 'null'},
23
- fonts: #{can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@assets[:fonts]) : 'null'}
19
+ snippets: #{j can?(:manage, Locomotive::Snippet) ? @snippets.map { |snippet| snippet.to_presenter.as_json_for_html_view }.to_json.html_safe : 'null'},
20
+ images: #{j theme_assets_to_json(@assets[:images]).html_safe},
21
+ media: #{j theme_assets_to_json(@assets[:media]).html_safe},
22
+ js_and_css_assets: #{j can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@js_and_css_assets).html_safe : 'null'},
23
+ fonts: #{j can?(:manage, Locomotive::ThemeAsset) ? theme_assets_to_json(@assets[:fonts]).html_safe : 'null'}
24
24
 
25
25
  - content_for :submenu do
26
26
  = render_cell 'locomotive/settings_menu', :show
@@ -1,14 +1,15 @@
1
1
  de:
2
2
  locomotive:
3
- buttons:
4
- login: Einloggen
5
- send_password: Senden
6
- change_password: Update
7
- new_item: "+ hinzufügen"
8
- switch_to_site: Los
9
- delete: "Löschen"
10
- close: "Schließen"
11
-
3
+ errors:
4
+ "500":
5
+ title: Anwendungs-Fehler
6
+ notice: "Entschuldigung, irgendetwas ist hier schief gelaufen."
7
+ link: "&rarr; Zurück zur Anwendung"
8
+ "404":
9
+ title: Seite nicht gefunden
10
+ notice: "Die angefragte Seite existiert nicht."
11
+ link: "&rarr; Zurück zur Anwendung"
12
+
12
13
  locales:
13
14
  en: Englisch
14
15
  de: Deutsch
@@ -16,12 +17,22 @@ de:
16
17
  pt-BR: "Bras. Portugiesisch"
17
18
  it: Italienisch
18
19
  nl: Niederländisch
19
- "no": Norwegisch
20
+ nb: Norwegisch
20
21
  es: Spanisch
21
22
  ru: Russisch
23
+
24
+ buttons:
25
+ login: Einloggen
26
+ send_password: Senden
27
+ change_password: Update
28
+ new_item: "+ hinzufügen"
29
+ switch_to_site: Los
30
+ delete: "Löschen"
31
+ close: "Schließen"
22
32
 
23
33
  messages:
24
34
  confirm: Sind Sie sicher ?
35
+ sending_form: "Formular wird gesendet"
25
36
 
26
37
  shared:
27
38
  header:
@@ -39,8 +50,10 @@ de:
39
50
  account: Mein Zugang
40
51
  site: Webseite
41
52
  theme_assets: Dateien
53
+ list:
54
+ untranslated: "Nicht übersetzt"
42
55
  form:
43
- change_file: Ändern
56
+ change_file: ändern
44
57
  delete_file: Löschen
45
58
  cancel: Abbrechen
46
59
  form_actions:
@@ -48,24 +61,14 @@ de:
48
61
  create: Neu
49
62
  update: Speichern
50
63
  send: Senden
51
- disable_with: "locomotive.disable_with.form_actions"
64
+ disable_with: "Transfer..."
52
65
  footer:
53
- who_is_behind: "Dienst entwickelt von %{development} und entworfen von <a href=\"http://www.sachagreif.com\">Sacha Greif</a> &mdash; <small>version</small> %{version}"
54
-
55
- errors:
56
- "500":
57
- title: Anwendungs-Fehler
58
- notice: "Entschuldigung, irgendetwas ist hier schief gelaufen."
59
- link: "&rarr; Zurück zur Anwendung"
60
- "404":
61
- title: Seite nicht gefunden
62
- notice: "Die angefragte Seite existiert nicht."
63
- link: "&rarr; Zurück zur Anwendung"
66
+ who_is_behind: "LocomitveCMS - entwickelt von %{development} und entworfen von <a href=\"http://www.sachagreif.com\">Sacha Greif</a> &mdash; <small>version</small> %{version}"
64
67
 
65
68
  notifications:
66
69
  new_content_entry:
67
70
  subject: "[%{type}] neu"
68
- title: "Hi %{name}, nur damit Sie Bescheid wissen! Am %{date} wurde folgende neue Instanz erstellt."
71
+ title: "Hi %{name}, nur damit Sie Bescheid wissen, am %{date} wurde eine neue Instanz erstellt."
69
72
  type: "Model: %{type}"
70
73
 
71
74
  sites_picker:
@@ -157,16 +160,16 @@ de:
157
160
 
158
161
  sites:
159
162
  new:
160
- title: Neuer Webseite
161
- help: "Fülle das folgende Formular aus, um einen neuen Webseiteen zu erstellen."
163
+ title: Neue Webseite
164
+ help: "Füllen Sie das folgende Formular aus, um eine neue Webseite zu erstellen."
162
165
  domains:
163
166
  empty: "Bisher sind keine Domains/Hostnamen an diese Seite gebunden. Wenn Sie unten Domains/Hostnamen angeben, achten Sie bitte darauf <b>Ihren DNS Server zu prüfen/aktualisieren.</b>"
164
167
 
165
168
  current_site:
166
169
  edit:
167
170
  new_membership: Account hinzufügen
168
- help: "Der Name des Webseiteen kann durch einen Klick auf den Namen bearbeitet werden."
169
- ask_for_name: "Bitte geben Sie den neuen Namen der Webseite an"
171
+ help: "Der Name der Webseiten kann durch einen Klick auf den Namen bearbeitet werden."
172
+ ask_for_name: "Bitte geben Sie den neuen Namen der Webseite ein"
170
173
 
171
174
  memberships:
172
175
  roles:
@@ -195,10 +198,11 @@ de:
195
198
  new: neue Datei
196
199
  snippets: Snippets
197
200
  css_and_js: Style und Javascript
198
- fonts: Fonts
199
201
  images: Bilder
200
202
  media: Medien
203
+ fonts: Fonts
201
204
  no_items: "Momentan gibt es keine Dateien. Klicken Sie einfach <a href='%{url}'>hier</a>, um die erste Datei zu erstellen."
205
+ quick_upload: Schneller Upload
202
206
  asset:
203
207
  updated_at: Aktualisiert am
204
208
  new:
@@ -291,13 +295,15 @@ de:
291
295
  explanations: "Es ist fast geschafft. Bitte geben Sie Ihrer ersten Webseite einen Namen und wählen Sie eine Sprache aus."
292
296
  default_site_locale: Sprachauswahl
293
297
  default_site_locales_hints: Sie können später weitere Sprachen im Einstellungsdialog vornehmen.
294
- next: Webseite erstellen
298
+ next: Webseite erstellen
299
+ back_to_default_template: "Klicken Sie <a href='#'>hier</a> um die Standardeinstellungen wieder herzustellen"
300
+
295
301
 
296
302
  public:
297
303
  pages:
298
304
  show_toolbar:
299
305
  statuses:
300
- loading: "Lade...."
306
+ loading: "Laden..."
301
307
  disabled: "Inline Editor deaktiviert"
302
308
  labels:
303
309
  save_changes: "Änderungen speichern: "