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.
- data/Gemfile +6 -4
- data/README.textile +4 -3
- data/app/assets/images/locomotive/icons/flags/{no.png → nb.png} +0 -0
- data/app/assets/javascripts/aloha/plugins/custom/locomotive_media/lib/locomotive_media-plugin.js +1 -1
- data/app/assets/javascripts/locomotive/utils/core_ext.js +2 -0
- data/app/assets/javascripts/locomotive/views/application_view.js.coffee +7 -0
- data/app/assets/javascripts/locomotive/views/content_assets/picker_view.js.coffee +4 -1
- data/app/assets/javascripts/locomotive/views/content_entries/_form_view.js.coffee +4 -2
- data/app/assets/javascripts/locomotive/views/content_entries/_popup_form_view.js.coffee +8 -3
- data/app/assets/javascripts/locomotive/views/content_types/_form_view.js.coffee +0 -2
- data/app/assets/javascripts/locomotive/views/content_types/custom_field_entry_view.js.coffee +9 -2
- data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +10 -11
- data/app/assets/javascripts/locomotive/views/inline_editor/application_view.js.coffee +9 -0
- data/app/assets/javascripts/locomotive/views/pages/_form_view.js.coffee +3 -3
- data/app/assets/javascripts/locomotive/views/shared/asset_picker_view.js.coffee +11 -18
- data/app/assets/javascripts/locomotive/views/shared/fields/many_to_many_view.js.coffee +0 -4
- data/app/assets/javascripts/locomotive/views/shared/form_view.js.coffee +2 -1
- data/app/assets/javascripts/locomotive/views/snippets/_form_view.js.coffee +3 -1
- data/app/assets/javascripts/locomotive/views/theme_assets/_form_view.js.coffee +4 -4
- data/app/assets/javascripts/locomotive/views/theme_assets/image_picker_view.js.coffee +10 -2
- data/app/assets/javascripts/tinymce/plugins/locomotive_media/editor_plugin.js +4 -1
- data/app/assets/stylesheets/locomotive/backoffice/codemirror_changes.css.scss +1 -0
- data/app/assets/stylesheets/locomotive/backoffice/datepicker.css.scss +1 -1
- data/app/assets/stylesheets/locomotive/backoffice/dialog_changes.css.scss +9 -3
- data/app/assets/stylesheets/locomotive/backoffice/formtastic_changes.css.scss +3 -1
- data/app/cells/locomotive/global_actions_cell.rb +1 -1
- data/app/controllers/locomotive/api/base_controller.rb +7 -4
- data/app/controllers/locomotive/api/content_assets_controller.rb +13 -0
- data/app/controllers/locomotive/api/content_types_controller.rb +14 -1
- data/app/controllers/locomotive/api/current_site_controller.rb +3 -1
- data/app/controllers/locomotive/api/memberships_controller.rb +49 -0
- data/app/controllers/locomotive/api/pages_controller.rb +14 -1
- data/app/controllers/locomotive/api/sites_controller.rb +44 -0
- data/app/controllers/locomotive/api/snippets_controller.rb +14 -1
- data/app/controllers/locomotive/api/theme_assets_controller.rb +13 -0
- data/app/controllers/locomotive/public/content_entries_controller.rb +7 -3
- data/app/helpers/locomotive/content_types_helper.rb +4 -0
- data/app/helpers/locomotive/custom_fields_helper.rb +1 -1
- data/app/models/locomotive/ability.rb +2 -0
- data/app/models/locomotive/content_entry.rb +4 -2
- data/app/models/locomotive/content_type.rb +7 -0
- data/app/models/locomotive/extensions/content_type/default_values.rb +1 -1
- data/app/models/locomotive/extensions/page/redirect.rb +1 -1
- data/app/models/locomotive/extensions/page/tree.rb +14 -1
- data/app/models/locomotive/site.rb +5 -1
- data/app/models/locomotive/theme_asset.rb +1 -1
- data/app/presenters/locomotive/membership_presenter.rb +7 -2
- data/app/presenters/locomotive/site_presenter.rb +5 -0
- data/app/views/locomotive/content_assets/_picker.html.haml +3 -3
- data/app/views/locomotive/content_entries/_form.html.haml +1 -1
- data/app/views/locomotive/content_types/_form.html.haml +2 -2
- data/app/views/locomotive/current_site/_form.html.haml +1 -1
- data/app/views/locomotive/custom_fields/types/_many_to_many.html.haml +5 -5
- data/app/views/locomotive/my_account/edit.html.haml +1 -1
- data/app/views/locomotive/pages/_form.html.haml +1 -1
- data/app/views/locomotive/public/pages/show_toolbar.html.haml +2 -2
- data/app/views/locomotive/public/sitemaps/show.xml.builder +2 -2
- data/app/views/locomotive/shared/_form_actions.html.haml +1 -1
- data/app/views/locomotive/shared/_head.html.haml +2 -2
- data/app/views/locomotive/snippets/_form.html.haml +1 -1
- data/app/views/locomotive/theme_assets/_form.html.haml +1 -1
- data/app/views/locomotive/theme_assets/index.html.haml +5 -5
- data/config/locales/admin_ui.de.yml +37 -31
- data/config/locales/admin_ui.en.yml +1 -1
- data/config/locales/admin_ui.es.yml +2 -1
- data/config/locales/admin_ui.fr.yml +1 -1
- data/config/locales/admin_ui.it.yml +2 -1
- data/config/locales/{admin_ui.no.yml → admin_ui.nb.yml} +72 -55
- data/config/locales/admin_ui.nl.yml +2 -1
- data/config/locales/admin_ui.pt-BR.yml +2 -1
- data/config/locales/admin_ui.ru.yml +1 -1
- data/config/locales/{carrierwave.no.yml → carrierwave.nb.yml} +1 -1
- data/config/locales/default.de.yml +13 -3
- data/config/locales/default.en.yml +5 -0
- data/config/locales/default.fr.yml +4 -0
- data/config/locales/{default.no.yml → default.nb.yml} +43 -1
- data/config/locales/{devise.no.yml → devise.nb.yml} +9 -9
- data/config/locales/{flash.no.yml → flash.nb.yml} +1 -1
- data/config/locales/{formtastic.no.yml → formtastic.nb.yml} +21 -17
- data/config/routes.rb +4 -0
- data/lib/generators/locomotive/install/templates/locomotive.rb +9 -2
- data/lib/locomotive.rb +1 -0
- data/lib/locomotive/configuration.rb +4 -3
- data/lib/locomotive/custom_fields.rb +2 -0
- data/lib/locomotive/liquid/drops/page.rb +1 -1
- data/lib/locomotive/liquid/tags/csrf.rb +40 -0
- data/lib/locomotive/liquid/tags/extends.rb +3 -9
- data/lib/locomotive/liquid/tags/nav.rb +8 -8
- data/lib/locomotive/mongoid/patches.rb +54 -9
- data/lib/locomotive/rails.rb +1 -0
- data/lib/locomotive/rails/action_view.rb +9 -0
- data/lib/locomotive/render.rb +4 -4
- data/lib/locomotive/version.rb +1 -1
- data/vendor/assets/javascripts/locomotive/backbone.modelbinding.js +13 -4
- metadata +259 -95
@@ -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
|
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
|
-
|
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-
|
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
|
15
|
-
= file_field_tag '
|
16
|
-
= link_to t('locomotive.
|
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
|
5
|
-
:label
|
6
|
-
:hint
|
7
|
-
:as
|
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}
|
@@ -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
|
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
|
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, :
|
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' }
|
@@ -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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
errors:
|
4
|
+
"500":
|
5
|
+
title: Anwendungs-Fehler
|
6
|
+
notice: "Entschuldigung, irgendetwas ist hier schief gelaufen."
|
7
|
+
link: "→ Zurück zur Anwendung"
|
8
|
+
"404":
|
9
|
+
title: Seite nicht gefunden
|
10
|
+
notice: "Die angefragte Seite existiert nicht."
|
11
|
+
link: "→ 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
|
-
|
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:
|
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: "
|
64
|
+
disable_with: "Transfer..."
|
52
65
|
footer:
|
53
|
-
who_is_behind: "
|
54
|
-
|
55
|
-
errors:
|
56
|
-
"500":
|
57
|
-
title: Anwendungs-Fehler
|
58
|
-
notice: "Entschuldigung, irgendetwas ist hier schief gelaufen."
|
59
|
-
link: "→ Zurück zur Anwendung"
|
60
|
-
"404":
|
61
|
-
title: Seite nicht gefunden
|
62
|
-
notice: "Die angefragte Seite existiert nicht."
|
63
|
-
link: "→ Zurück zur Anwendung"
|
66
|
+
who_is_behind: "LocomitveCMS - entwickelt von %{development} und entworfen von <a href=\"http://www.sachagreif.com\">Sacha Greif</a> — <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
|
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:
|
161
|
-
help: "
|
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
|
169
|
-
ask_for_name: "Bitte geben Sie den neuen Namen der Webseite
|
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: "
|
306
|
+
loading: "Laden..."
|
301
307
|
disabled: "Inline Editor deaktiviert"
|
302
308
|
labels:
|
303
309
|
save_changes: "Änderungen speichern: "
|