locomotive_cms 2.5.5 → 2.5.6.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -2
- data/README.textile +3 -3
- data/app/assets/images/locomotive/icons/flags/pt.png +0 -0
- data/app/assets/javascripts/locomotive/utils/aloha_settings.js.coffee +1 -1
- data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +5 -0
- data/app/assets/stylesheets/locomotive/backoffice/menu/main.css.scss +1 -1
- data/app/controllers/locomotive/api/theme_assets_controller.rb +1 -1
- data/app/controllers/locomotive/public/content_entries_controller.rb +6 -11
- data/app/controllers/locomotive/public/pages_controller.rb +1 -1
- data/app/controllers/locomotive/public/sitemaps_controller.rb +1 -1
- data/app/models/locomotive/extensions/content_type/sync.rb +16 -5
- data/app/models/locomotive/extensions/page/tree.rb +7 -3
- data/app/models/locomotive/extensions/site/locales.rb +12 -9
- data/app/models/locomotive/site.rb +10 -0
- data/app/views/locomotive/current_site/_form.html.haml +1 -0
- data/config/locales/admin_ui.cs.yml +2 -0
- data/config/locales/admin_ui.de.yml +3 -2
- data/config/locales/admin_ui.en.yml +1 -0
- data/config/locales/admin_ui.es.yml +2 -1
- data/config/locales/admin_ui.et.yml +1 -0
- data/config/locales/admin_ui.fr.yml +2 -1
- data/config/locales/admin_ui.it.yml +23 -0
- data/config/locales/admin_ui.ja.yml +1 -0
- data/config/locales/admin_ui.nb.yml +1 -0
- data/config/locales/admin_ui.nl.yml +4 -0
- data/config/locales/admin_ui.pl.yml +1 -0
- data/config/locales/admin_ui.pt-BR.yml +6 -5
- data/config/locales/admin_ui.pt.yml +320 -0
- data/config/locales/admin_ui.ru.yml +1 -0
- data/config/locales/admin_ui.sk.yml +2 -0
- data/config/locales/admin_ui.sr.yml +1 -0
- data/config/locales/admin_ui.zh-CN.yml +1 -0
- data/config/locales/carrierwave.pt.yml +4 -0
- data/config/locales/default.pt.yml +212 -0
- data/config/locales/devise.pt.yml +62 -0
- data/config/locales/flash.pt.yml +106 -0
- data/config/locales/formtastic.pt.yml +70 -0
- data/config/routes.rb +5 -6
- data/features/api/authorization/theme_assets.feature +4 -4
- data/features/public/contact_form.feature +1 -1
- data/features/public/new_contact_form.feature +95 -0
- data/features/public/pages.feature +2 -2
- data/features/step_definitions/relationships_steps.rb +37 -34
- data/lib/generators/locomotive/install/install_generator.rb +2 -0
- data/lib/generators/locomotive/install/templates/README +3 -2
- data/lib/generators/locomotive/install/templates/devise.rb +175 -0
- data/lib/generators/locomotive/install/templates/dragonfly.rb +1 -1
- data/lib/generators/locomotive/install/templates/locomotive.rb +2 -2
- data/lib/locomotive.rb +9 -0
- data/lib/locomotive/action_controller/public_responder.rb +45 -28
- data/lib/locomotive/configuration.rb +2 -2
- data/lib/locomotive/liquid/drops/content_entry.rb +6 -8
- data/lib/locomotive/liquid/drops/site.rb +1 -5
- data/lib/locomotive/liquid/filters/translate.rb +1 -1
- data/lib/locomotive/liquid/tags/fetch_page.rb +14 -6
- data/lib/locomotive/liquid/tags/model_form.rb +75 -0
- data/lib/locomotive/middlewares.rb +5 -1
- data/lib/locomotive/middlewares/base.rb +45 -0
- data/lib/locomotive/middlewares/locale.rb +32 -0
- data/lib/locomotive/middlewares/locale_redirection.rb +46 -0
- data/lib/locomotive/middlewares/seo_trailing_slash.rb +7 -28
- data/lib/locomotive/middlewares/site.rb +26 -0
- data/lib/locomotive/regexps.rb +1 -1
- data/lib/locomotive/render.rb +22 -2
- data/lib/locomotive/routing.rb +1 -0
- data/lib/locomotive/routing/post_content_entry_constraint.rb +11 -0
- data/lib/locomotive/routing/site_dispatcher.rb +1 -12
- data/lib/locomotive/version.rb +1 -1
- data/spec/dummy/config/boot.rb +1 -1
- data/spec/dummy/config/initializers/dragonfly.rb +1 -1
- data/spec/dummy/config/initializers/locomotive.rb +2 -2
- data/spec/lib/locomotive/liquid/drops/content_entry_spec.rb +23 -18
- data/spec/lib/locomotive/liquid/drops/site_spec.rb +25 -15
- data/spec/lib/locomotive/liquid/tags/model_form_spec.rb +46 -0
- data/spec/lib/locomotive/routing/site_dispatcher_spec.rb +0 -41
- data/spec/models/locomotive/site_spec.rb +1 -1
- data/spec/requests/locale_redirection_spec.rb +109 -0
- data/spec/requests/locale_spec.rb +85 -0
- data/spec/requests/seo_trailing_slash_spec.rb +1 -1
- data/spec/requests/site_spec.rb +27 -0
- data/spec/support/factories.rb +6 -0
- data/spec/support/middlewares.rb +3 -0
- metadata +48 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b03080f0869d8c8dffe1f7394f9410ddcfe8b9e0
|
4
|
+
data.tar.gz: 8649c776cdb126fd7c6ba67ad7578c84d71a19a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 395d855f2fd564535e365289afb551f38ee38761f146e459a93c7b5f39dbe8b95f51d1fd07b1b5fd0dfc3fd0ce90202b4c70cfa7e21f57bedbf0d325e5b3fb3e
|
7
|
+
data.tar.gz: b20cf87aac7025dec0241910f99e050be41b39ae27ffb92d9cd9db2dbea1b590576abdd2e3a3510980e66fc37e66feb61c8d830c0186707e731cbacfe98cd89a
|
data/Gemfile
CHANGED
@@ -9,14 +9,13 @@ group :assets do
|
|
9
9
|
gem 'sass-rails', '~> 3.2.4'
|
10
10
|
gem 'coffee-rails', '~> 3.2.2'
|
11
11
|
gem 'uglifier', '~> 1.2.4'
|
12
|
-
gem 'compass-rails'
|
13
12
|
end
|
14
13
|
|
15
14
|
# The rest of the dependencies are for use when in the locomotive development / test environments
|
16
15
|
|
17
16
|
group :test, :development do
|
18
17
|
gem 'rspec-rails', '~> 2.13.0' # In order to have rspec tasks and generators
|
19
|
-
gem 'rspec-cells'
|
18
|
+
gem 'rspec-cells', '0.1.10'
|
20
19
|
end
|
21
20
|
|
22
21
|
group :development do
|
data/README.textile
CHANGED
@@ -28,7 +28,7 @@ h2. Gems
|
|
28
28
|
Here is a short list of main gems / technologies used in the application.
|
29
29
|
|
30
30
|
* Ruby 2.x
|
31
|
-
* Rails 3.2.
|
31
|
+
* Rails 3.2.19 (Rails 4.0 planned for the beginning of 2014)
|
32
32
|
* Mongoid 3.1.5 (with MongoDB 2.x)
|
33
33
|
* Liquid
|
34
34
|
* Devise
|
@@ -44,7 +44,7 @@ See the "installation documentation on the official website":http://doc.locomoti
|
|
44
44
|
|
45
45
|
h2. Upgrading
|
46
46
|
|
47
|
-
|
47
|
+
See the "engine upgrade guide on the official website":http://doc.locomotivecms.com/guides/upgrading-engine
|
48
48
|
|
49
49
|
h2. Community
|
50
50
|
|
@@ -89,5 +89,5 @@ h2. Contact
|
|
89
89
|
|
90
90
|
Feel free to contact me at didier at nocoffee dot fr.
|
91
91
|
|
92
|
-
Copyright (c)
|
92
|
+
Copyright (c) 2014 NoCoffee, released under the MIT license
|
93
93
|
...
|
Binary file
|
@@ -39,7 +39,7 @@ window.Aloha.settings =
|
|
39
39
|
crop: false
|
40
40
|
|
41
41
|
i18n:
|
42
|
-
available: ['en', 'fr', 'pl', 'pt-BR', 'es', 'de', 'no', 'ru', 'nl', 'ja', 'cs', 'bg', 'sk']
|
42
|
+
available: ['en', 'fr', 'pl', 'pt', 'pt-BR', 'es', 'de', 'no', 'ru', 'nl', 'ja', 'cs', 'bg', 'sk']
|
43
43
|
|
44
44
|
sidebar:
|
45
45
|
disabled: true
|
@@ -28,6 +28,8 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
|
|
28
28
|
|
29
29
|
@enable_liquid_editing()
|
30
30
|
|
31
|
+
@enable_checkboxes()
|
32
|
+
|
31
33
|
add_toggle_mode_for_locales: ->
|
32
34
|
@$('#site_locales_input .list input[type=checkbox]').bind 'change', (event) ->
|
33
35
|
el = $(event.target)
|
@@ -67,6 +69,9 @@ class Locomotive.Views.CurrentSite.EditView extends Locomotive.Views.Shared.Form
|
|
67
69
|
|
68
70
|
@editor.on 'change', (editor, change) => @model.set(robots_txt: editor.getValue())
|
69
71
|
|
72
|
+
enable_checkboxes: ->
|
73
|
+
@_enable_checkbox('prefix_default_locale')
|
74
|
+
|
70
75
|
save: (event) ->
|
71
76
|
# if @model.includes_domain(window.location.host)
|
72
77
|
if !@model.get('subdomain') || @model.includes_domain(window.location.host)
|
@@ -10,26 +10,24 @@ module Locomotive
|
|
10
10
|
|
11
11
|
before_filter :sanitize_entry_params, only: :create
|
12
12
|
|
13
|
+
self.responder = Locomotive::ActionController::PublicResponder
|
14
|
+
|
13
15
|
respond_to :html, :json
|
14
16
|
|
15
17
|
def create
|
16
18
|
@entry = @content_type.entries.safe_create(params[:entry] || params[:content])
|
17
|
-
|
18
|
-
respond_with @entry, {
|
19
|
-
location: self.callback_url,
|
20
|
-
responder: Locomotive::ActionController::PublicResponder
|
21
|
-
}
|
19
|
+
respond_with @entry
|
22
20
|
end
|
23
21
|
|
24
22
|
protected
|
25
23
|
|
26
24
|
def set_locale
|
27
|
-
::I18n.locale = params[:locale] || current_site.default_locale
|
25
|
+
::I18n.locale = request.env['locomotive.locale'] || params[:locale] || current_site.default_locale
|
28
26
|
::Mongoid::Fields::I18n.locale = ::I18n.locale
|
29
27
|
end
|
30
28
|
|
31
29
|
def set_content_type
|
32
|
-
@content_type = current_site.content_types.where(slug: params[:slug]).first
|
30
|
+
@content_type = current_site.content_types.where(slug: params[:content_type_slug] || params[:slug]).first
|
33
31
|
|
34
32
|
# check if ability to receive public submissions
|
35
33
|
unless @content_type.public_submission_enabled?
|
@@ -41,10 +39,6 @@ module Locomotive
|
|
41
39
|
end
|
42
40
|
end
|
43
41
|
|
44
|
-
def callback_url
|
45
|
-
(@entry.errors.empty? ? params[:success_callback] : params[:error_callback]) || main_app.root_path
|
46
|
-
end
|
47
|
-
|
48
42
|
def sanitize_entry_params
|
49
43
|
entry_params = params[:entry] || params[:content] || {}
|
50
44
|
entry_params.each do |key, value|
|
@@ -53,6 +47,7 @@ module Locomotive
|
|
53
47
|
end
|
54
48
|
end
|
55
49
|
|
50
|
+
# only verify csrf protection if it has been enable in the Locomotive config file
|
56
51
|
def handle_unverified_request
|
57
52
|
if Locomotive.config.csrf_protection
|
58
53
|
reset_session
|
@@ -39,7 +39,7 @@ module Locomotive
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def set_locale
|
42
|
-
::Mongoid::Fields::I18n.locale = params[:locale] || current_site.default_locale
|
42
|
+
::Mongoid::Fields::I18n.locale = request.env['locomotive.locale'] || params[:locale] || current_site.default_locale
|
43
43
|
::I18n.locale = ::Mongoid::Fields::I18n.locale
|
44
44
|
|
45
45
|
self.setup_i18n_fallbacks
|
@@ -14,7 +14,7 @@ module Locomotive
|
|
14
14
|
protected
|
15
15
|
|
16
16
|
def set_locale
|
17
|
-
::Mongoid::Fields::I18n.locale = params[:locale] || current_site.default_locale
|
17
|
+
::Mongoid::Fields::I18n.locale = request.env['locomotive.locale'] || params[:locale] || current_site.default_locale
|
18
18
|
::I18n.locale = ::Mongoid::Fields::I18n.locale
|
19
19
|
end
|
20
20
|
|
@@ -6,16 +6,17 @@ module Locomotive
|
|
6
6
|
extend ActiveSupport::Concern
|
7
7
|
|
8
8
|
included do
|
9
|
-
|
9
|
+
before_update :sync_relationships_order_by_for_has_many_fields
|
10
|
+
after_save :sync_relationships_order_by_for_belongs_to_fields
|
10
11
|
end
|
11
12
|
|
12
13
|
protected
|
13
14
|
|
14
|
-
# If
|
15
|
-
#
|
16
|
-
#
|
15
|
+
# If an user changes the default order of a content type, we need to make sure
|
16
|
+
# that all the content types referencing this content type through a has_many
|
17
|
+
# relationship without UI enabled (this is very important) have the new order_by.
|
17
18
|
#
|
18
|
-
def
|
19
|
+
def sync_relationships_order_by_for_belongs_to_fields
|
19
20
|
current_class_name = self.klass_with_custom_fields(:entries).name
|
20
21
|
|
21
22
|
self.entries_custom_fields.where(type: 'belongs_to').each do |field|
|
@@ -37,6 +38,16 @@ module Locomotive
|
|
37
38
|
end
|
38
39
|
end
|
39
40
|
|
41
|
+
# If an user enables the UI option for a has_many relationship in the current content type,
|
42
|
+
# then all the content entries of that content type should order the entries of the has_many relationship
|
43
|
+
# from the "position_in_<field name>" value.
|
44
|
+
#
|
45
|
+
def sync_relationships_order_by_for_has_many_fields
|
46
|
+
self.entries_custom_fields.where(:type.in => %w(has_many), ui_enabled: true).each do |field|
|
47
|
+
field.order_by = nil # that will force the content entry to use the position_in_<inverse_of> field
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
40
51
|
# Save the changes for the content type passed in parameter without forgetting
|
41
52
|
# to bump the version.. It also updates the recipe for related entries.
|
42
53
|
# That method does not call the Mongoid API but directly MongoDB.
|
@@ -19,9 +19,9 @@ module Locomotive
|
|
19
19
|
before_destroy :delete_descendants
|
20
20
|
|
21
21
|
## indexes ##
|
22
|
-
index position: 1
|
23
|
-
index depth: 1, position: 1
|
24
22
|
index site_id: 1, depth: 1, position: 1
|
23
|
+
index depth: 1, position: 1
|
24
|
+
index position: 1
|
25
25
|
|
26
26
|
alias_method_chain :rearrange, :identity_map
|
27
27
|
alias_method_chain :rearrange_children, :identity_map
|
@@ -46,6 +46,10 @@ module Locomotive
|
|
46
46
|
|
47
47
|
module ClassMethods
|
48
48
|
|
49
|
+
def order_by_depth_and_position
|
50
|
+
order_by(:depth.asc, :position.asc)
|
51
|
+
end
|
52
|
+
|
49
53
|
# Returns the tree of pages from the site with the most minimal amount of queries.
|
50
54
|
# This method should only be used for read-only purpose since
|
51
55
|
# the mongodb returns the minimal set of required attributes to build
|
@@ -56,7 +60,7 @@ module Locomotive
|
|
56
60
|
# @return [ Array ] The first array of pages (depth = 0)
|
57
61
|
#
|
58
62
|
def quick_tree(site, minimal_attributes = true)
|
59
|
-
pages = (minimal_attributes ? site.pages.unscoped.minimal_attributes : site.pages.unscoped).
|
63
|
+
pages = (minimal_attributes ? site.pages.unscoped.minimal_attributes : site.pages.unscoped).order_by_depth_and_position.to_a
|
60
64
|
|
61
65
|
tmp = []
|
62
66
|
|
@@ -9,6 +9,7 @@ module Locomotive
|
|
9
9
|
|
10
10
|
## fields ##
|
11
11
|
field :locales, type: ::RawArray, default: []
|
12
|
+
field :prefix_default_locale, type: ::Boolean, default: false
|
12
13
|
|
13
14
|
## validations ##
|
14
15
|
validate :can_not_remove_default_locale
|
@@ -19,6 +20,10 @@ module Locomotive
|
|
19
20
|
|
20
21
|
end
|
21
22
|
|
23
|
+
def prefix_default_locale?
|
24
|
+
self.prefix_default_locale
|
25
|
+
end
|
26
|
+
|
22
27
|
# Tell if the site serves other locales than the default one.
|
23
28
|
#
|
24
29
|
# @return [ Boolean ] True if the number of locales is greater than 1
|
@@ -47,15 +52,9 @@ module Locomotive
|
|
47
52
|
return nil if page.fullpath_translations.blank?
|
48
53
|
|
49
54
|
locale = (locale || I18n.locale).to_s
|
50
|
-
fullpath = page.fullpath_translations[locale] || page.fullpath_translations[self.default_locale]
|
51
|
-
|
52
|
-
|
53
|
-
page.index? ? '' : fullpath
|
54
|
-
elsif page.index? # avoid /en/index or /fr/index, prefer /en or /fr instead
|
55
|
-
locale
|
56
|
-
else
|
57
|
-
File.join(locale, fullpath)
|
58
|
-
end
|
55
|
+
fullpath = page.index? ? nil : (page.fullpath_translations[locale] || page.fullpath_translations[self.default_locale])
|
56
|
+
locale_prefix = is_default_locale?(locale) && !prefix_default_locale ? nil : locale
|
57
|
+
[locale_prefix, fullpath].compact.join '/'
|
59
58
|
end
|
60
59
|
|
61
60
|
def locales=(array)
|
@@ -66,6 +65,10 @@ module Locomotive
|
|
66
65
|
self.locales.first || Locomotive.config.site_locales.first
|
67
66
|
end
|
68
67
|
|
68
|
+
def is_default_locale?(locale)
|
69
|
+
locale == default_locale.to_s
|
70
|
+
end
|
71
|
+
|
69
72
|
def default_locale_was
|
70
73
|
self.locales_was.try(:first) || Locomotive.config.site_locales.first
|
71
74
|
end
|
@@ -41,6 +41,16 @@ module Locomotive
|
|
41
41
|
Page.quick_tree(self)
|
42
42
|
end
|
43
43
|
|
44
|
+
# Get all the pages in the right order: depth and position, both ASC.
|
45
|
+
#
|
46
|
+
# @param [ Hash ] conditions Extra conditions passed to the Mongoid criteria
|
47
|
+
#
|
48
|
+
# @return [ Criteria ] a Mongoid criteria
|
49
|
+
#
|
50
|
+
def ordered_pages(conditions = {})
|
51
|
+
self.pages.unscoped.where(conditions || {}).order_by_depth_and_position
|
52
|
+
end
|
53
|
+
|
44
54
|
def fetch_page(path, logged_in)
|
45
55
|
Locomotive::Page.fetch_page_from_path self, path, logged_in
|
46
56
|
end
|
@@ -10,6 +10,7 @@
|
|
10
10
|
= f.inputs name: :information do
|
11
11
|
= f.input :name, wrapper_html: { style: 'display: none' }
|
12
12
|
= f.input :locales, as: '::Locomotive::Locales', collection: ordered_current_site_locales, input_html: { class: 'locales' }
|
13
|
+
= f.input :prefix_default_locale, as: :'Locomotive::Toggle', input_html: { class: 'simple-toggle' }
|
13
14
|
= f.input :timezone_name, as: :select, include_blank: false, collection: options_for_site_timezones
|
14
15
|
|
15
16
|
- if can?(:point, Locomotive::Site)
|
@@ -14,6 +14,7 @@ cs:
|
|
14
14
|
de: Němčina
|
15
15
|
fr: Francouzština
|
16
16
|
pl: Polština
|
17
|
+
pt: Portugalština
|
17
18
|
pt-BR: "Brazilská portugalština"
|
18
19
|
it: Italština
|
19
20
|
nl: Holandština
|
@@ -26,6 +27,7 @@ cs:
|
|
26
27
|
cs: Čeština
|
27
28
|
sk: Slovenština
|
28
29
|
sr: Serbian
|
30
|
+
bg: Bulgarian
|
29
31
|
|
30
32
|
messages:
|
31
33
|
confirm: Jste si jistý?
|
@@ -15,6 +15,7 @@ de:
|
|
15
15
|
de: Deutsch
|
16
16
|
fr: Französisch
|
17
17
|
pl: Polnisch
|
18
|
+
pt: Portugiesisch
|
18
19
|
pt-BR: "Bras. Portugiesisch"
|
19
20
|
it: Italienisch
|
20
21
|
nl: Niederländisch
|
@@ -73,7 +74,7 @@ de:
|
|
73
74
|
send: Senden
|
74
75
|
disable_with: "Transfer..."
|
75
76
|
footer:
|
76
|
-
who_is_behind: "
|
77
|
+
who_is_behind: "LocomotiveCMS - entwickelt von %{development} und entworfen von <a href=\"http://www.sachagreif.com\">Sacha Greif</a> — <small>version</small> %{version}"
|
77
78
|
|
78
79
|
notifications:
|
79
80
|
new_content_entry:
|
@@ -337,4 +338,4 @@ de:
|
|
337
338
|
buttons:
|
338
339
|
back: "Zurück zur Administration"
|
339
340
|
confirm: Bestätigen
|
340
|
-
cancel: Abbrechen
|
341
|
+
cancel: Abbrechen
|
@@ -20,6 +20,7 @@ es:
|
|
20
20
|
pl: Polaco
|
21
21
|
nl: Holandés
|
22
22
|
et: Estonio
|
23
|
+
pt: Portugués
|
23
24
|
pt-BR: "Portugués brasileño"
|
24
25
|
nb: Noruego
|
25
26
|
ja: Japonés
|
@@ -39,7 +40,7 @@ es:
|
|
39
40
|
|
40
41
|
messages:
|
41
42
|
confirm: Por favor confirme
|
42
|
-
sending_form:
|
43
|
+
sending_form: El formulario está siendo enviado
|
43
44
|
|
44
45
|
shared:
|
45
46
|
header:
|
@@ -5,6 +5,7 @@ it:
|
|
5
5
|
de: Tedesco
|
6
6
|
fr: Francese
|
7
7
|
pl: Polacco
|
8
|
+
pt: Portoghese
|
8
9
|
pt-BR: "Portoghese Brasiliano"
|
9
10
|
it: Italiano
|
10
11
|
nl: Olandese
|
@@ -17,6 +18,7 @@ it:
|
|
17
18
|
bg: Bulgaro
|
18
19
|
sk: Slovacco
|
19
20
|
sr: Serbe
|
21
|
+
zh-CN: "Chiński"
|
20
22
|
|
21
23
|
buttons:
|
22
24
|
login: Entra
|
@@ -46,6 +48,7 @@ it:
|
|
46
48
|
account: Mio account
|
47
49
|
site: Sito
|
48
50
|
theme_assets: Files del tema
|
51
|
+
translations: Traduzioni
|
49
52
|
footer:
|
50
53
|
who_is_behind: "Servizio sviluppato da %{development} e desig di <a href=\"http://www.sachagreif.com\">Sacha Greif</a>"
|
51
54
|
form_actions:
|
@@ -86,6 +89,11 @@ it:
|
|
86
89
|
index:
|
87
90
|
is_required: è richiesto
|
88
91
|
default_label: Nome campo
|
92
|
+
form:
|
93
|
+
required: Obbligatorio
|
94
|
+
default_label: Nome campo
|
95
|
+
select_options:
|
96
|
+
ask_name: "Inserisci il label della option"
|
89
97
|
|
90
98
|
sessions:
|
91
99
|
new:
|
@@ -300,3 +308,18 @@ it:
|
|
300
308
|
explanations: "Questo è l'ultimo passo dell'installazione. Puoi caricare un tema come file zip. Noi abbiao dei temi gratuiti <a href=\"http://www.locomotivecms.com/support/themes\">qui</a>."
|
301
309
|
back_to_default_template: "Invece clicca <a href='#'>qui</a> per selezionare il modello di sito predefinito"
|
302
310
|
next: Crea sito
|
311
|
+
|
312
|
+
public:
|
313
|
+
pages:
|
314
|
+
show_toolbar:
|
315
|
+
statuses:
|
316
|
+
loading: "Loading...."
|
317
|
+
disabled: "Inline Editor disabilitato"
|
318
|
+
labels:
|
319
|
+
save_changes: "Salva modifiche: "
|
320
|
+
editing_mode: "Modalità di modifica: "
|
321
|
+
lang: "Lingua: "
|
322
|
+
buttons:
|
323
|
+
back: "Ritorna all'amministrazione"
|
324
|
+
confirm: Conferma
|
325
|
+
cancel: Annulla
|