refinerycms-pages 2.0.10 → 2.1.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.
- checksums.yaml +4 -4
- data/app/controllers/refinery/admin/pages_controller.rb +23 -17
- data/app/controllers/refinery/admin/pages_dialogs_controller.rb +8 -45
- data/app/controllers/refinery/pages/admin/preview_controller.rb +38 -0
- data/app/controllers/refinery/pages_controller.rb +26 -43
- data/app/helpers/refinery/admin/pages_helper.rb +19 -14
- data/app/models/refinery/page.rb +133 -194
- data/app/models/refinery/page_part.rb +1 -1
- data/{lib → app/presenters}/refinery/pages/content_page_presenter.rb +1 -5
- data/{lib → app/presenters}/refinery/pages/content_presenter.rb +1 -15
- data/app/presenters/refinery/pages/menu_presenter.rb +118 -0
- data/{lib → app/presenters}/refinery/pages/page_part_section_presenter.rb +0 -0
- data/{lib → app/presenters}/refinery/pages/section_presenter.rb +0 -0
- data/{lib → app/presenters}/refinery/pages/title_section_presenter.rb +0 -0
- data/app/sweepers/refinery/pages/page_sweeper.rb +29 -0
- data/app/views/refinery/admin/pages/_form.html.erb +4 -4
- data/app/views/refinery/admin/pages/_form_advanced_options.html.erb +3 -18
- data/app/views/refinery/admin/pages/_form_page_parts.html.erb +2 -2
- data/app/views/refinery/admin/pages/_page.html.erb +5 -5
- data/app/views/refinery/admin/pages/_records.html.erb +1 -3
- data/app/views/refinery/admin/pages/_sortable_list.html.erb +1 -1
- data/app/views/refinery/admin/pages/index.html.erb +1 -1
- data/app/views/refinery/admin/pages_dialogs/link_to.html.erb +0 -2
- data/config/locales/bg.yml +0 -11
- data/config/locales/cs.yml +1 -3
- data/config/locales/da.yml +15 -5
- data/config/locales/de.yml +16 -5
- data/config/locales/el.yml +0 -3
- data/config/locales/en.yml +1 -12
- data/config/locales/es.yml +0 -3
- data/config/locales/fi.yml +0 -3
- data/config/locales/fr.yml +0 -11
- data/config/locales/hu.yml +85 -0
- data/config/locales/it.yml +0 -10
- data/config/locales/ja.yml +0 -3
- data/config/locales/ko.yml +0 -11
- data/config/locales/lt.yml +0 -3
- data/config/locales/lv.yml +0 -3
- data/config/locales/nb.yml +0 -3
- data/config/locales/nl.yml +51 -40
- data/config/locales/pl.yml +23 -4
- data/config/locales/pt-BR.yml +0 -3
- data/config/locales/pt.yml +85 -0
- data/config/locales/rs.yml +0 -3
- data/config/locales/ru.yml +0 -3
- data/config/locales/sk.yml +0 -11
- data/config/locales/sl.yml +0 -3
- data/config/locales/sv.yml +0 -3
- data/config/locales/tr.yml +85 -0
- data/config/locales/uk.yml +82 -0
- data/config/locales/vi.yml +0 -3
- data/config/locales/zh-CN.yml +8 -11
- data/config/locales/zh-TW.yml +0 -3
- data/config/routes.rb +11 -5
- data/db/seeds.rb +16 -14
- data/lib/generators/refinery/pages/templates/config/initializers/refinery/pages.rb.erb +8 -4
- data/lib/refinery/pages.rb +5 -9
- data/lib/refinery/pages/caching.rb +60 -0
- data/lib/refinery/pages/configuration.rb +11 -7
- data/lib/refinery/pages/engine.rb +7 -8
- data/lib/refinery/pages/instance_methods.rb +4 -11
- data/lib/refinery/pages/render_options.rb +27 -0
- data/lib/refinery/pages/tab.rb +15 -4
- data/lib/refinery/pages/url.rb +74 -0
- data/refinerycms-pages.gemspec +4 -3
- data/spec/controllers/refinery/pages_controller_spec.rb +24 -0
- data/spec/factories/pages.rb +1 -1
- data/spec/{requests → features}/refinery/admin/pages_spec.rb +125 -42
- data/spec/{requests → features}/refinery/pages_spec.rb +139 -23
- data/spec/helpers/refinery/pages/admin/pages_helper_spec.rb +25 -25
- data/spec/lib/refinery/pages/caching_spec.rb +90 -0
- data/spec/lib/refinery/pages/tab_spec.rb +89 -0
- data/spec/lib/refinery/pages/url_spec.rb +74 -0
- data/spec/models/refinery/page_spec.rb +196 -71
- data/spec/{lib → presenters/refinery}/pages/content_page_presenter_spec.rb +0 -0
- data/spec/{lib → presenters/refinery}/pages/content_presenter_spec.rb +0 -0
- data/spec/presenters/refinery/pages/menu_presenter_spec.rb +58 -0
- data/spec/{lib → presenters/refinery}/pages/page_part_section_presenter_spec.rb +0 -0
- data/spec/{lib → presenters/refinery}/pages/section_presenter_spec.rb +0 -0
- data/spec/{lib → presenters/refinery}/pages/title_section_presenter_spec.rb +0 -0
- data/spec/support/refinery/pages/caching.rb +19 -0
- data/spec/support/refinery/pages/caching_helpers.rb +22 -0
- metadata +77 -33
- data/app/controllers/refinery/page_sweeper.rb +0 -34
- data/app/helpers/refinery/pages_helper.rb +0 -20
- data/app/views/refinery/admin/pages/_locale_picker.html.erb +0 -11
- data/config/locales/pt-PT.yml +0 -75
- data/spec/controllers/refinery/admin/pages_controller_spec.rb +0 -17
- data/spec/helpers/refinery/pages/pages_helper_spec.rb +0 -30
@@ -4,7 +4,7 @@ module Refinery
|
|
4
4
|
attr_accessible :title, :content, :position, :body, :refinery_page_id
|
5
5
|
belongs_to :page, :foreign_key => :refinery_page_id
|
6
6
|
|
7
|
-
validates :title, :presence => true
|
7
|
+
validates :title, :presence => true, :uniqueness => {:scope => :refinery_page_id}
|
8
8
|
alias_attribute :content, :body
|
9
9
|
|
10
10
|
translates :body if respond_to?(:translates)
|
@@ -7,7 +7,7 @@ module Refinery
|
|
7
7
|
class ContentPagePresenter < ContentPresenter
|
8
8
|
def initialize(page, page_title)
|
9
9
|
super()
|
10
|
-
add_default_title_section(page_title) if page_title.present?
|
10
|
+
add_default_title_section(page_title) if page_title.present? && Pages.show_title_in_body
|
11
11
|
add_page_parts(page.parts) if page
|
12
12
|
add_default_post_page_sections
|
13
13
|
end
|
@@ -21,10 +21,6 @@ module Refinery
|
|
21
21
|
def add_default_post_page_sections
|
22
22
|
add_section_if_missing(:id => :body)
|
23
23
|
add_section_if_missing(:id => :side_body)
|
24
|
-
|
25
|
-
# Deprecated in 2.1
|
26
|
-
add_section_if_missing(:id => :body_content_left)
|
27
|
-
add_section_if_missing(:id => :body_content_right)
|
28
24
|
end
|
29
25
|
|
30
26
|
def add_page_parts(parts)
|
@@ -47,21 +47,7 @@ module Refinery
|
|
47
47
|
private
|
48
48
|
|
49
49
|
def sections_html(can_use_fallback)
|
50
|
-
@sections.map
|
51
|
-
# Remove in 2.1
|
52
|
-
check_deprecated_sections(section)
|
53
|
-
section.wrapped_html(can_use_fallback)
|
54
|
-
end.compact.join("\n").html_safe
|
55
|
-
end
|
56
|
-
|
57
|
-
def check_deprecated_sections(section)
|
58
|
-
if section.has_content?
|
59
|
-
if section.id == :body_content_left
|
60
|
-
Refinery.deprecate "content_for :body_content_left", :when => '2.1.0', :replacement => "content_for :body"
|
61
|
-
elsif section.id == :body_content_right
|
62
|
-
Refinery.deprecate "content_for :body_content_right", :when => '2.1.0', :replacement => "content_for :side_body"
|
63
|
-
end
|
64
|
-
end
|
50
|
+
@sections.map { |section| section.wrapped_html(can_use_fallback) }.compact.join("\n").html_safe
|
65
51
|
end
|
66
52
|
|
67
53
|
def add_section_if_missing(options)
|
@@ -0,0 +1,118 @@
|
|
1
|
+
require 'active_support/core_ext/string'
|
2
|
+
require 'active_support/configurable'
|
3
|
+
require 'action_view/helpers/tag_helper'
|
4
|
+
require 'action_view/helpers/url_helper'
|
5
|
+
|
6
|
+
module Refinery
|
7
|
+
module Pages
|
8
|
+
class MenuPresenter
|
9
|
+
include ActionView::Helpers::TagHelper
|
10
|
+
include ActionView::Helpers::UrlHelper
|
11
|
+
include ActiveSupport::Configurable
|
12
|
+
|
13
|
+
config_accessor :roots, :menu_tag, :list_tag, :list_item_tag, :css, :dom_id,
|
14
|
+
:max_depth, :selected_css, :first_css, :last_css
|
15
|
+
self.dom_id = 'menu'
|
16
|
+
self.css = 'menu clearfix'
|
17
|
+
self.menu_tag = :nav
|
18
|
+
self.list_tag = :ul
|
19
|
+
self.list_item_tag = :li
|
20
|
+
self.selected_css = :selected
|
21
|
+
self.first_css = :first
|
22
|
+
self.last_css = :last
|
23
|
+
def roots
|
24
|
+
config.roots.presence || collection.roots
|
25
|
+
end
|
26
|
+
|
27
|
+
attr_accessor :context, :collection
|
28
|
+
delegate :output_buffer, :output_buffer=, :to => :context
|
29
|
+
|
30
|
+
def initialize(collection, context)
|
31
|
+
@collection = collection
|
32
|
+
@context = context
|
33
|
+
end
|
34
|
+
|
35
|
+
def to_html
|
36
|
+
render_menu(roots) if roots.present?
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
def render_menu(items)
|
41
|
+
content_tag(menu_tag, :id => dom_id, :class => css) do
|
42
|
+
render_menu_items(items)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def render_menu_items(menu_items)
|
47
|
+
if menu_items.present?
|
48
|
+
content_tag(list_tag) do
|
49
|
+
menu_items.each_with_index.inject(ActiveSupport::SafeBuffer.new) do |buffer, (item, index)|
|
50
|
+
buffer << render_menu_item(item, index)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def render_menu_item(menu_item, index)
|
57
|
+
content_tag(list_item_tag, :class => menu_item_css(menu_item, index)) do
|
58
|
+
buffer = ActiveSupport::SafeBuffer.new
|
59
|
+
buffer << link_to(menu_item.title, context.refinery.url_for(menu_item.url))
|
60
|
+
buffer << render_menu_items(menu_item_children(menu_item))
|
61
|
+
buffer
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# Determines whether any item underneath the supplied item is the current item according to rails.
|
66
|
+
# Just calls selected_item? for each descendant of the supplied item
|
67
|
+
# unless it first quickly determines that there are no descendants.
|
68
|
+
def descendant_item_selected?(item)
|
69
|
+
item.has_children? && item.descendants.any?(&method(:selected_item?))
|
70
|
+
end
|
71
|
+
|
72
|
+
def selected_item_or_descendant_item_selected?(item)
|
73
|
+
selected_item?(item) || descendant_item_selected?(item)
|
74
|
+
end
|
75
|
+
|
76
|
+
# Determine whether the supplied item is the currently open item according to Refinery.
|
77
|
+
def selected_item?(item)
|
78
|
+
path = context.request.path
|
79
|
+
path = path.force_encoding('utf-8') if path.respond_to?(:force_encoding)
|
80
|
+
|
81
|
+
# Ensure we match the path without the locale, if present.
|
82
|
+
if %r{^/#{::I18n.locale}/} === path
|
83
|
+
path = path.split(%r{^/#{::I18n.locale}}).last.presence || "/"
|
84
|
+
end
|
85
|
+
|
86
|
+
# First try to match against a "menu match" value, if available.
|
87
|
+
return true if item.try(:menu_match).present? && path =~ Regexp.new(item.menu_match)
|
88
|
+
|
89
|
+
# Find the first url that is a string.
|
90
|
+
url = [item.url]
|
91
|
+
url << ['', item.url[:path]].compact.flatten.join('/') if item.url.respond_to?(:keys)
|
92
|
+
url = url.last.match(%r{^/#{::I18n.locale.to_s}(/.*)}) ? $1 : url.detect{|u| u.is_a?(String)}
|
93
|
+
|
94
|
+
# Now use all possible vectors to try to find a valid match
|
95
|
+
[path, URI.decode(path)].include?(url) || path == "/#{item.original_id}"
|
96
|
+
end
|
97
|
+
|
98
|
+
def menu_item_css(menu_item, index)
|
99
|
+
css = []
|
100
|
+
|
101
|
+
css << selected_css if selected_item_or_descendant_item_selected?(menu_item)
|
102
|
+
css << first_css if index == 0
|
103
|
+
css << last_css if index == menu_item.shown_siblings.length
|
104
|
+
|
105
|
+
css.reject(&:blank?).presence
|
106
|
+
end
|
107
|
+
|
108
|
+
def menu_item_children(menu_item)
|
109
|
+
within_max_depth?(menu_item) ? menu_item.children : []
|
110
|
+
end
|
111
|
+
|
112
|
+
def within_max_depth?(menu_item)
|
113
|
+
!max_depth || menu_item.depth < max_depth
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Refinery
|
2
|
+
module Pages
|
3
|
+
class PageSweeper < ActionController::Caching::Sweeper
|
4
|
+
observe Page
|
5
|
+
|
6
|
+
def after_save(page)
|
7
|
+
expire_cache!
|
8
|
+
end
|
9
|
+
|
10
|
+
def after_destroy(page)
|
11
|
+
expire_cache!
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
def cache_directory
|
16
|
+
page_cache_directory
|
17
|
+
end
|
18
|
+
|
19
|
+
def caching
|
20
|
+
@caching ||= Caching.new(cache_directory)
|
21
|
+
end
|
22
|
+
|
23
|
+
def expire_cache!
|
24
|
+
caching.expire!
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -1,8 +1,9 @@
|
|
1
|
-
<%= form_for [refinery, :admin, @page],
|
1
|
+
<%= form_for [refinery, :admin, @page],
|
2
|
+
:url => (refinery.admin_page_path(@page.nested_url) if @page.persisted?) do |f| %>
|
2
3
|
|
3
4
|
<%= render '/refinery/admin/error_messages', :object => @page, :include_object_name => true %>
|
4
5
|
|
5
|
-
<%= render 'locale_picker', :current_locale => Globalize.locale
|
6
|
+
<%= render '/refinery/admin/locale_picker', :current_locale => Globalize.locale %>
|
6
7
|
|
7
8
|
<div class="field">
|
8
9
|
<%= f.label :title %>
|
@@ -36,7 +37,6 @@
|
|
36
37
|
|
37
38
|
<% content_for :javascripts do %>
|
38
39
|
<script>
|
39
|
-
var refinery_page_preview_url = '<%= @page.persisted? ? refinery.preview_page_path(@page.uncached_nested_url) : refinery.preview_pages_path %>';
|
40
40
|
$(document).ready(function(){
|
41
41
|
page_options.init(
|
42
42
|
<%= Refinery::Pages.new_page_parts.to_s %>
|
@@ -49,7 +49,7 @@
|
|
49
49
|
var prev_url = form.attr('action');
|
50
50
|
var prev_target = form.attr('target');
|
51
51
|
form.attr({
|
52
|
-
'action':
|
52
|
+
'action': '<%= @page.persisted? ? refinery.pages_admin_preview_page_path(@page.nested_url) : refinery.pages_admin_preview_pages_path %>'
|
53
53
|
, 'target': '_blank'
|
54
54
|
});
|
55
55
|
form.submit();
|
@@ -1,16 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
:id => 'toggle_advanced_options',
|
5
|
-
:title => t('.toggle_advanced_options') %>
|
6
|
-
</p>
|
7
|
-
<span id='draft_field'>
|
8
|
-
<%= f.check_box :draft %>
|
9
|
-
<%= f.label :draft, t('.save_as_draft'),
|
10
|
-
:class => "stripped" %>
|
11
|
-
</span>
|
12
|
-
</div>
|
13
|
-
<div id='more_options' style="display:none;">
|
1
|
+
<%= render '/refinery/admin/form_advanced_options_menu', :f => f %>
|
2
|
+
|
3
|
+
<div id="more_options" style="display:none;">
|
14
4
|
<div class="hemisquare">
|
15
5
|
<h2><%= t('.page_options') %></h2>
|
16
6
|
<div class='field'>
|
@@ -30,7 +20,6 @@
|
|
30
20
|
template_options(:layout_template, @page) %>
|
31
21
|
</div>
|
32
22
|
<% end %>
|
33
|
-
<% if Refinery::Pages.use_view_templates %>
|
34
23
|
<div class='field'>
|
35
24
|
<span class='label_with_help'>
|
36
25
|
<%= f.label :view_template, t('.view_template') %>
|
@@ -39,7 +28,6 @@
|
|
39
28
|
<%= f.select :view_template, @valid_view_templates.map { |t| [t.titleize, t] },
|
40
29
|
template_options(:view_template, @page) %>
|
41
30
|
</div>
|
42
|
-
<% end %>
|
43
31
|
|
44
32
|
<div class='field'>
|
45
33
|
<span class='label_with_help'>
|
@@ -75,9 +63,6 @@
|
|
75
63
|
<% content_for :javascripts do %>
|
76
64
|
<script>
|
77
65
|
$(document).ready(function(){
|
78
|
-
link_tester.init('<%= refinery.test_url_admin_pages_dialogs_path %>',
|
79
|
-
'<%= refinery.test_email_admin_pages_dialogs_path %>');
|
80
|
-
|
81
66
|
link_tester.validate_url_textbox("#page_link_url")
|
82
67
|
});
|
83
68
|
</script>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<%= link_to part.title, "##{@page.persisted? ? part.to_param : "page_part_new_#{part_index}"}" %>
|
31
31
|
</li>
|
32
32
|
<% end %>
|
33
|
-
<% ::Refinery::Pages.
|
33
|
+
<% ::Refinery::Pages.tabs_for_template(@page.view_template).each_with_index do |tab, tab_index| %>
|
34
34
|
<li class='ui-state-default' id="custom_<%= tab.name %>_tab">
|
35
35
|
<%= link_to tab.name.titleize, "#custom_tab_#{tab_index}" %>
|
36
36
|
</li>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
:part_index => (part_index += 1),
|
46
46
|
:new_part => @page.new_record? -%>
|
47
47
|
<% end %>
|
48
|
-
<% ::Refinery::Pages.
|
48
|
+
<% ::Refinery::Pages.tabs_for_template(@page.view_template).each_with_index do |tab, tab_index| %>
|
49
49
|
<div class='page_part' id='<%= "custom_tab_#{tab_index}" %>'>
|
50
50
|
<%= render tab.partial, :f => f %>
|
51
51
|
</div>
|
@@ -10,12 +10,12 @@
|
|
10
10
|
<%= page_title_with_translations page %>
|
11
11
|
<%= page_meta_information page %>
|
12
12
|
</span>
|
13
|
-
<% if Refinery
|
13
|
+
<% if Refinery::I18n.frontend_locales.many? %>
|
14
14
|
<span class='locales'>
|
15
15
|
<% page.translations.sort_by{|t| Refinery::I18n.frontend_locales.index(t.locale)}.each do |translation| %>
|
16
16
|
<%= link_to refinery_icon_tag("flags/#{translation.locale}.png", :size => '16x11'),
|
17
17
|
refinery.edit_admin_page_path(page.nested_url, :switch_locale => translation.locale),
|
18
|
-
:class => 'locale' %>
|
18
|
+
:class => 'locale' if translation.title.present? %>
|
19
19
|
<% end %>
|
20
20
|
</span>
|
21
21
|
<% end %>
|
@@ -30,11 +30,11 @@
|
|
30
30
|
:title => t('new', :scope => 'refinery.admin.pages') %>
|
31
31
|
|
32
32
|
<%= link_to refinery_icon_tag('application_edit.png'),
|
33
|
-
refinery.edit_admin_page_path(page.
|
33
|
+
refinery.edit_admin_page_path(page.nested_url, :switch_locale => (page.translations.first.locale unless page.translated_to_default_locale?)),
|
34
34
|
:title => t('edit', :scope => 'refinery.admin.pages') %>
|
35
35
|
|
36
36
|
<%= link_to refinery_icon_tag('delete.png'),
|
37
|
-
refinery.admin_page_path(page.
|
37
|
+
refinery.admin_page_path(page.nested_url),
|
38
38
|
:class => "cancel confirm-delete",
|
39
39
|
:title => t('delete', :scope => 'refinery.admin.pages'),
|
40
40
|
:data => {
|
@@ -46,7 +46,7 @@
|
|
46
46
|
:method => :delete if page.deletable? %>
|
47
47
|
</span>
|
48
48
|
</div>
|
49
|
-
<ul class='nested' data-ajax-content="<%= refinery.admin_children_pages_path(page.
|
49
|
+
<ul class='nested' data-ajax-content="<%= refinery.admin_children_pages_path(page.nested_url) %>">
|
50
50
|
<%= render(:partial => 'page', :collection => page.children) if Refinery::Pages.auto_expand_admin_tree %>
|
51
51
|
</ul>
|
52
52
|
</li>
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
<h2><%= t('results_for', :scope => 'refinery.admin.search', :query => params[:search]) %></h2>
|
3
|
-
<% end %>
|
1
|
+
<%= render 'refinery/admin/search_header', :url => refinery.admin_pages_path %>
|
4
2
|
<% if @pages.any? %>
|
5
3
|
<%= render 'sortable_list' %>
|
6
4
|
<% else %>
|
@@ -1,4 +1,4 @@
|
|
1
1
|
<ul id='sortable_list'>
|
2
|
-
<%= render :partial => 'page', :collection => @pages.
|
2
|
+
<%= render :partial => 'page', :collection => @pages.roots %>
|
3
3
|
</ul>
|
4
4
|
<%= render '/refinery/admin/sortable_list', :continue_reordering => !!local_assigns[:continue_reordering] %>
|
@@ -119,8 +119,6 @@
|
|
119
119
|
<% content_for :javascripts do %>
|
120
120
|
<script>
|
121
121
|
$(document).ready(function(){
|
122
|
-
link_tester.init('<%= refinery.test_url_admin_pages_dialogs_path %>',
|
123
|
-
'<%= refinery.test_email_admin_pages_dialogs_path %>');
|
124
122
|
link_dialog.init();
|
125
123
|
|
126
124
|
$('.link_list a').click(function(e){
|
data/config/locales/bg.yml
CHANGED
@@ -45,16 +45,13 @@ bg:
|
|
45
45
|
create_content_section: Добавяне на секция за съдържание
|
46
46
|
delete_content_section: Изтриване на секция за съдържание
|
47
47
|
form_advanced_options:
|
48
|
-
toggle_advanced_options: Достъп до настройките за етикета "meta" и менюто
|
49
48
|
page_options: Настройки на страница
|
50
49
|
parent_page: Родителска страница
|
51
|
-
advanced_options: Разширени настройки
|
52
50
|
menu_title: Заглавие в менюто
|
53
51
|
custom_slug: Кратко заглавие по избор
|
54
52
|
show_in_menu_title: Показване в менюто
|
55
53
|
show_in_menu_description: Показване на тази страница в менюто на сайта
|
56
54
|
show_in_menu_help: Махнете отметката от това поле, ако искате страницата да не се показва в менюто на сайта. Това е удобно, ако искате дадена страница да бъде достъпвана директно без да бъде показвана в менюто.
|
57
|
-
save_as_draft: Запис като чернова
|
58
55
|
skip_to_first_child: Пропускане на страницата като родителска
|
59
56
|
skip_to_first_child_label: Пренасочване на посетителите към първата страница от по-ниско ниво.
|
60
57
|
skip_to_first_child_help: Тази настройка предоставя възможност страницата да бъде свързана с друга, намираща се под нея. Това е полезно при групиране на страници.
|
@@ -63,14 +60,6 @@ bg:
|
|
63
60
|
parent_page_help: Можете да поставите страница под друга като я изберете от списъка. Ако искате тази страница да бъде на най-горно ниво, оставете полето празно.
|
64
61
|
menu_title_help: Ако искате в менюто да се показва различно заглавие на страницата, въведете го тук.
|
65
62
|
custom_slug_help: Краткото заглавие (slug) представлява лесно четим идентификатор, който се използва при създаването на уеб адреса на страницата. Например 'за-нас'. За да замените краткото заглавие, което автоматично се генерира от Refinery, въведете Вашето тук.
|
66
|
-
form_advanced_options_seo:
|
67
|
-
seo: Оптимизация за търсачки
|
68
|
-
seo_override_title: Заглавие в браузъра
|
69
|
-
seo_override_title_help: Въведете заглавие от 5 до 10 символа, което да синтезира съдържанието на тази страница.
|
70
|
-
meta_keywords_title: Ключови думи за етиката "meta"
|
71
|
-
meta_keywords_help: Въведете от 5 до 10 ключови думи, които описват тази страница, разделени със запетая.
|
72
|
-
meta_description_title: Описание за етикета "meta"
|
73
|
-
meta_description_help: Въведете няколко кратки изречения, които да описват тази страница.
|
74
63
|
actions:
|
75
64
|
create_new_page: Добавяне на нова страница
|
76
65
|
reorder_pages: Пренареждане на страниците
|
data/config/locales/cs.yml
CHANGED
@@ -34,6 +34,7 @@ cs:
|
|
34
34
|
pages:
|
35
35
|
delete: Smazat tuto stránku
|
36
36
|
edit: Upravit tuto stránku
|
37
|
+
new: Přidat podstránku
|
37
38
|
page:
|
38
39
|
view_live_html: Zobrazit tuto stránku <br/><em>(otevře se v novém okně)</em>
|
39
40
|
hidden: skrytá
|
@@ -44,15 +45,12 @@ cs:
|
|
44
45
|
create_content_section: Přidat sekci
|
45
46
|
delete_content_section: Smazat sekci
|
46
47
|
form_advanced_options:
|
47
|
-
toggle_advanced_options: Zpřístupní nastavení menu a meta tagů
|
48
48
|
page_options: Nastavení stránky
|
49
49
|
parent_page: Nadřazená stránka
|
50
|
-
advanced_options: Rozšířené nastavení
|
51
50
|
custom_title: Titulek
|
52
51
|
show_in_menu_title: Zobrazit v menu
|
53
52
|
show_in_menu_description: Zobrazit tuto stránku v menu webu
|
54
53
|
show_in_menu_help: Odškrtněte pokud chcete odstranit odkaz na tuto stránku z menu webu.
|
55
|
-
save_as_draft: Uložit jako pracovní verzi
|
56
54
|
skip_to_first_child: Přeskočit na první dceřinou stránku
|
57
55
|
skip_to_first_child_label: Přesměruje návštěvníka na první dceřinou stránku.
|
58
56
|
skip_to_first_child_help: Tato stránka se nezobrazí, místo toho bude odkaz na ní přesměrován na její první dceřinou stránku. To se může hodit pro seskupování stránek.
|
data/config/locales/da.yml
CHANGED
@@ -34,38 +34,48 @@ da:
|
|
34
34
|
pages:
|
35
35
|
delete: Slet siden permanent
|
36
36
|
edit: Redigér siden
|
37
|
+
new: Tilføj en ny underside
|
38
|
+
expand_collapse: Udvid eller sammenfold undersider
|
37
39
|
page:
|
38
40
|
view_live_html: Vis siden live <br/><em>(åbner i et nyt vindue)</em>
|
39
41
|
hidden: skjult
|
40
42
|
draft: kladde
|
43
|
+
form:
|
44
|
+
preview: Preview
|
45
|
+
preview_changes: Se dine ændringer før du udgiver dem
|
41
46
|
form_new_page_parts:
|
42
47
|
title: Titel
|
43
48
|
form_page_parts:
|
44
49
|
create_content_section: Tilføj indholdselement
|
45
50
|
delete_content_section: Slet indholdselement
|
51
|
+
reorder_content_section: Redigér rækkefølgen af indholdselement
|
46
52
|
form_advanced_options:
|
47
|
-
toggle_advanced_options: Tilgå meta tags og menuindstillinger
|
48
53
|
page_options: Side indstillinger
|
49
54
|
parent_page: Overordnet side
|
50
|
-
|
51
|
-
|
55
|
+
menu_title: Menutitel
|
56
|
+
custom_slug: Brugerdefineret slug
|
52
57
|
show_in_menu_title: Vis i menuen
|
53
58
|
show_in_menu_description: Vis siden i menuen på sitet
|
54
59
|
show_in_menu_help: Afkryds ikke, hvis du vil fjerne siden fra menuen på sitet. Dette kan benyttes, hvis du vil have en side, du kan linke til direkte, men som ikke skal vises i menuen.
|
55
|
-
save_as_draft: Gem som kladde
|
56
60
|
skip_to_first_child: Spring øverste sideniveau over
|
57
61
|
skip_to_first_child_label: Videresend besøgende til den første underliggende side.
|
58
62
|
skip_to_first_child_help: Dette vil vise den første underliggende side i stedet for denne side. Kan benyttes når man vil gruppere sider.
|
59
63
|
link_url: Videresend besøgende til andet website eller anden side
|
60
64
|
link_url_help: Hvis du vil have denne side går til et andet website eller en anden side, når besøgende klikker på den i menuen, skal du indtaste URLen, fx http://google.com
|
61
65
|
parent_page_help: Du kan placere siden under en anden side ved at vælge den i listen. Hvis siden skal ligge på øverste niveau skal du ikke vælge noget.
|
62
|
-
|
66
|
+
menu_title_help: Hvis siden skal have en anden titel i menuen, så vælg 'Tekst' og indtast titlen her.
|
67
|
+
custom_slug_help: En slug er et letlæseligt id, som bruges til at lave en sides fulde internetadresse (URL), fx 'om-os&apos. For at overskrive den slug der automatisk bliver oprettet af Refinery, kan du skrive din brugerdefinerede slug her.
|
68
|
+
layout_template: Layout template
|
69
|
+
layout_template_help: You can choose a different layout template for this page
|
70
|
+
view_template: View template
|
71
|
+
view_template_help: You can choose a different view template for this page
|
63
72
|
actions:
|
64
73
|
create_new_page: Tilføj en ny side
|
65
74
|
reorder_pages: Redigér rækkefølgen af siderne
|
66
75
|
reorder_pages_done: Gem rækkefølgen
|
67
76
|
records:
|
68
77
|
no_pages_yet: Der er ingen sider endnu. Klik på "Tilføj en ny side" for at oprette den første."
|
78
|
+
translator_access: Du har ikke tilstrækkelige rettigheder til at ændre siden på det valgte sprog.
|
69
79
|
activerecord:
|
70
80
|
models:
|
71
81
|
refinery/page: side
|