spina 2.16.0 → 2.17.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.

Potentially problematic release.


This version of spina might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8740af9910fcafc714e8ebfe7c48e0676c696f8cc73aa0b2d5cfb13c832094e3
4
- data.tar.gz: ca1863b0553c66be2487224afa9a4f037a8756b435d620b42293d435708941bb
3
+ metadata.gz: a0077bbb44829d71ab719fc2b7e51d625eff7a904c6d96d73fa4fb5d1b53c124
4
+ data.tar.gz: 685b9ed0d11538e6118b13cf72627fe70d8a4edf76d5ff2bbe00e72386d9e55e
5
5
  SHA512:
6
- metadata.gz: 4cfff0e8aa2ad19e9e675ad359c7cc525c5782ba759b964a4d17bd9653cebeb113a4275bf08a8f058f841936c15d8f1efa2a0631ddd9e730d18e7363b9a649ea
7
- data.tar.gz: ff06ff09cbced3560e43c69e86bda15f377e2faa290eb2362c4e270c54b337ec461ac14346c972459c242e181ce14e24f0127b239e0df7ecaea0676b2a669e3c
6
+ metadata.gz: 208e7e279bd356cdb47d9a12cafc7545caa73a824f25328cd119abb1d34c11c6a667f3feb49ec85390c8e836a024ce9bcde3c6cf764f8e8112a2123bc53be34f
7
+ data.tar.gz: b1eb0d8626ffc0873833ee45eec600ab7434392691c44877eac6353a3b9ebad0daf7641e0cbf4f5f84dcb66c5320c4f12cf91a74318211d4d0dc273741f87020
@@ -1,10 +1,11 @@
1
1
  <div class="flex items-center border border-gray-300 rounded-md bg-white p-1 relative shadow-sm" data-controller="parent-pages">
2
+ <% if resources.many? %>
3
+ <%= helpers.heroicon("collection", style: :solid, class: 'w-5 h-5 ml-2 text-gray-400 absolute') %>
4
+
5
+ <%= f.select :resource_id, resources, {}, class: "form-select hover:bg-gray-100 bg-none shadow-none w-auto bg-transparent border-none focus:ring-0 cursor-pointer pr-2 pl-8 flex-none truncate", data: {controller: "select-placeholder", action: "select-placeholder#update parent-pages#update"} %>
2
6
 
3
- <%= helpers.heroicon("collection", style: :solid, class: 'w-5 h-5 ml-2 text-gray-400 absolute') %>
4
-
5
- <%= f.select :resource_id, resources, {}, class: "form-select hover:bg-gray-100 bg-none shadow-none w-auto bg-transparent border-none focus:ring-0 cursor-pointer pr-2 pl-8 flex-none truncate", data: {controller: "select-placeholder", action: "select-placeholder#update parent-pages#update"} %>
6
-
7
- <%= helpers.heroicon('chevron-right', style: :solid, class: 'w-5 h-5 text-gray-600 flex-none') %>
7
+ <%= helpers.heroicon('chevron-right', style: :solid, class: 'w-5 h-5 text-gray-600 flex-none') %>
8
+ <% end %>
8
9
 
9
10
  <%= helpers.turbo_frame_tag "parent_pages", src: default_parent_pages_path, class: 'flex-auto', data: {parent_pages_target: "frame"} %>
10
11
  </div>
@@ -97,7 +97,7 @@ module Spina
97
97
  end
98
98
 
99
99
  def image_params
100
- params.require(:image).permit(:media_folder_id, :file)
100
+ params.require(:image).permit(:media_folder_id, :file, files: [])
101
101
  end
102
102
  end
103
103
  end
@@ -3,6 +3,7 @@ module Spina::Admin
3
3
  before_action :set_account
4
4
  before_action :set_locale
5
5
  before_action :set_breadcrumb
6
+ before_action :get_layout_parts
6
7
 
7
8
  admin_section :content
8
9
 
@@ -24,6 +25,11 @@ module Spina::Admin
24
25
  def layout_params
25
26
  params.require(:account).permit!
26
27
  end
28
+
29
+ def get_layout_parts
30
+ @layout_parts = Spina::Current.theme.layout_parts
31
+ @layout_parts = {parts: @layout_parts} if @layout_parts.is_a?(Array)
32
+ end
27
33
 
28
34
  def set_breadcrumb
29
35
  add_breadcrumb t("spina.layout.layout")
@@ -5,7 +5,7 @@ module Spina
5
5
  include Partable
6
6
  include TranslatedContent
7
7
 
8
- serialize :preferences
8
+ serialize :preferences, coder: Psych
9
9
 
10
10
  after_save :bootstrap_website
11
11
 
@@ -12,9 +12,9 @@ module Spina
12
12
 
13
13
  scope :regular_pages, -> { joins(:page).where(spina_pages: {resource_id: nil}) }
14
14
  scope :sorted, -> { order("spina_navigation_items.position") }
15
- scope :live, -> { joins(:page).where(spina_pages: {draft: false, active: true}) }
16
- scope :in_menu, -> { joins(:page).where(spina_pages: {show_in_menu: true}) }
17
- scope :active, -> { joins(:page).where(spina_pages: {active: true}) }
15
+ scope :live, -> { left_outer_joins(:page).where("spina_pages.draft = ? AND spina_pages.active = ? OR spina_pages.id IS NULL", false, true) }
16
+ scope :in_menu, -> { left_outer_joins(:page).where("spina_pages.show_in_menu = ? OR spina_pages.id IS NULL", true) }
17
+ scope :active, -> { left_outer_joins(:page).where("spina_pages.active = ? OR spina_pages.id IS NULL", true) }
18
18
 
19
19
  validates :page, uniqueness: {scope: :navigation}, presence: true, if: :page_kind?
20
20
  validates :url, presence: true, if: :url_kind?
@@ -28,7 +28,10 @@ module Spina
28
28
  signed_blob_id.present?
29
29
  end
30
30
 
31
- def signed_id(expires_in: nil)
31
+ # Rails 7.1 started using 'expires_at', so we
32
+ # include both expires_in and expires_at for backwards
33
+ # compatibility
34
+ def signed_id(expires_at: nil, expires_in: nil)
32
35
  signed_blob_id
33
36
  end
34
37
 
@@ -65,7 +65,7 @@ module Spina
65
65
  end
66
66
 
67
67
  def scoped_collection(collection)
68
- scoped = collection.regular_pages.active.in_menu.sorted
68
+ scoped = collection.active.in_menu.sorted
69
69
  include_drafts ? scoped : scoped.live
70
70
  end
71
71
 
@@ -1,36 +1,45 @@
1
- <%= render Spina::UserInterface::HeaderComponent.new do |header| %>
2
- <% header.with_actions do %>
3
- <%= render Spina::UserInterface::TranslationsComponent.new(@account, label: @locale.upcase) %>
4
-
5
- <% if Spina::Current.theme.layout_parts.any? %>
1
+ <div data-controller="tabs" data-tabs-active="cursor-default text-gray-900 bg-spina-dark bg-opacity-10" data-tabs-inactive="cursor-pointer bg-transparent text-gray-400 border-transparent">
2
+ <%= render Spina::UserInterface::HeaderComponent.new do |header| %>
3
+ <% header.with_actions do %>
4
+ <%= render Spina::UserInterface::TranslationsComponent.new(@account, label: @locale.upcase) %>
5
+
6
6
  <%= button_tag type: :submit, form: dom_id(@account), class: 'btn btn-primary', data: {controller: "button hotkeys", hotkeys: "command+s, ctrl+s", hotkeys_target: "button", action: "button#loading", loading_message: t('spina.ui.saving')} do %>
7
7
  <%= heroicon('check', style: :mini, class: 'w-5 h-5 -ml-1 mr-1') %>
8
8
  <%=t 'spina.layout.save' %>
9
9
  <% end %>
10
10
  <% end %>
11
+
12
+ <% header.with_navigation do %>
13
+ <nav class="-mb-3 mt-4" <%= 'hidden' unless @layout_parts.keys.many? %>>
14
+ <ul class="inline-flex w-auto rounded-md bg-white">
15
+ <% @layout_parts.keys.each do |key| %>
16
+ <%= render Spina::Pages::TabButtonComponent.new(tab_name: key) do %>
17
+ <%=t "spina.layout.sections.#{key}" %>
18
+ <% end %>
19
+ <% end %>
20
+ </ul>
21
+ </nav>
22
+ <% end %>
11
23
  <% end %>
12
- <% end %>
13
-
14
- <%= form_with model: @account, url: spina.admin_layout_path, id: dom_id(@account) do |f| %>
15
- <%= hidden_field_tag :locale, @locale %>
16
-
17
- <div class="py-4 p-8">
18
- <% if Spina::Current.theme.layout_parts.any? %>
19
-
20
- <div class="max-w-5xl">
21
- <%= f.fields_for "#{@locale}_content".to_sym, build_parts(f.object, Spina::Current.theme.layout_parts) do |ff| %>
22
- <%= ff.hidden_field :type, value: ff.object.class %>
23
- <%= ff.hidden_field :name %>
24
- <%= ff.hidden_field :title %>
24
+
25
+ <%= form_with model: @account, url: spina.admin_layout_path, id: dom_id(@account) do |f| %>
26
+ <%= hidden_field_tag :locale, @locale %>
27
+
28
+ <div class="py-4 p-8">
29
+ <% @layout_parts.keys.each.with_index do |key, index| %>
30
+ <div data-tabs-target="pane" id="<%= key %>">
31
+ <div class="max-w-5xl">
32
+ <%= f.fields_for "#{@locale}_content".to_sym, build_parts(f.object, @layout_parts[key]) do |ff| %>
33
+ <%= ff.hidden_field :type, value: ff.object.class %>
34
+ <%= ff.hidden_field :name %>
35
+ <%= ff.hidden_field :title %>
36
+
37
+ <%= render "spina/admin/parts/#{parts_partial_namespace(ff.object.class.to_s)}/form", f: ff %>
38
+ <% end %>
39
+ </div>
40
+ </div>
41
+ <% end %>
42
+ </div>
25
43
 
26
- <%= render "spina/admin/parts/#{parts_partial_namespace(ff.object.class.to_s)}/form", f: ff %>
27
- <% end %>
28
- </div>
29
- <% else %>
30
- <div class="text-gray-500 italic">
31
- <%=t 'spina.layout.no_layout_parts' %>
32
- </div>
33
- <% end %>
34
- </div>
35
-
36
- <% end %>
44
+ <% end %>
45
+ </div>
@@ -17,8 +17,10 @@
17
17
  <%= render Spina::MainNavigation::LinkComponent.new t('spina.website.pages'), spina.admin_pages_path, active: controller_name.in?(%w(pages resources)) %>
18
18
 
19
19
  <%= render Spina::MainNavigation::LinkComponent.new t('spina.navigations.navigations'), spina.admin_navigations_path, active: controller_name == "navigations" %>
20
-
21
- <%= render Spina::MainNavigation::LinkComponent.new t('spina.layout.layout'), spina.edit_admin_layout_path, active: controller_name == "layout" %>
20
+
21
+ <% if Spina::Current.theme.layout_parts.present? %>
22
+ <%= render Spina::MainNavigation::LinkComponent.new t('spina.layout.layout'), spina.edit_admin_layout_path, active: controller_name == "layout" %>
23
+ <% end %>
22
24
 
23
25
  <%= render Spina::MainNavigation::LinkComponent.new t('spina.website.media_library'), spina.admin_images_path, active: controller_name.in?(%w(images media_folders attachments)) %>
24
26
 
@@ -0,0 +1,415 @@
1
+ cs:
2
+ activemodel:
3
+ attributes:
4
+ spina/embeds/youtube:
5
+ url: youtube.com/watch?v=...
6
+ spina/embeds/vimeo:
7
+ url: vimeo.com/...
8
+ activerecord:
9
+ errors:
10
+ models:
11
+ spina/page:
12
+ attributes:
13
+ title:
14
+ blank: Titulek je povinný
15
+ attributes:
16
+ spina/account:
17
+ address: Adresa
18
+ city: Město
19
+ email: E-mail
20
+ facebook: Facebook
21
+ google_analytics: Google Analytics
22
+ google_plus: Google+
23
+ google_site_verification: Google Site Verification
24
+ instagram: Instagram
25
+ kvk_identifier: IČO
26
+ kvk_identifier_description: IČO
27
+ linkedin: LinkedIn
28
+ logo: Logo
29
+ name: Název webu
30
+ phone: Telefon
31
+ postal_code: PSČ
32
+ robots_allowed: Viditelný ve vyhledávačích
33
+ theme: Téma webu
34
+ twitter: Twitter
35
+ vat_identifier: DIČ
36
+ vat_identifier_description: DIČ
37
+ youtube: YouTube
38
+ spina/attachment:
39
+ created_at: Vytvořeno
40
+ name: Název souboru
41
+ size: Velikost
42
+ spina/media_folder:
43
+ name: Název
44
+ spina/navigation:
45
+ auto_add_pages: Automaticky přidávat stránky
46
+ auto_add_pages_description: Nové stránky jsou přidány automaticky do této navigace
47
+ label: Popisek
48
+ pages: Stránky
49
+ pages_description: Vyberte stránky, které chcete použít v této navigaci
50
+ spina/page:
51
+ ancestry: Nadřazená stránka
52
+ created_at: Vytvořeno
53
+ description: Meta popisek
54
+ description_description: Tento popisek bude zobrazen ve výsledcích vyhledávání
55
+ description_placeholder: Krátký popis vaší stránky
56
+ draft: Návrh
57
+ draft_description: Ideální pro situace, kdy vaše stránka ještě není hotová
58
+ link_url: Přesměrování stránky
59
+ link_url_description: Přesměrujte na URL
60
+ link_url_placeholder: např. http://www.example.com/
61
+ menu_title: Popisek v navigaci
62
+ menu_title_placeholder: Nechte prázdné, abyste použili název stránky
63
+ no_parent: Žádná nadřazená stránka
64
+ resource: Zdroj
65
+ seo_title: SEO titulek
66
+ seo_title_description: Ujistěte se, že váš výsledek vyhledávání vypadá dobře ve vyhledávačích
67
+ seo_title_placeholder: Tento titulek je použit v <title>-tagu
68
+ show_in_menu: Zobrazit v navigaci
69
+ show_in_menu_description: Pokud vypnete, tato stránka se nezobrazí ve vaší navigaci
70
+ skip_to_first_child: Přejít na první potomka
71
+ skip_to_first_child_description: Přejít na první potomkovou stránku
72
+ title: Titulek
73
+ title_placeholder: Název stránky
74
+ url_title: Přepsat slug
75
+ url_title_description: Volitelné
76
+ url_title_placeholder: Slug
77
+ view_template: Šablona stránky
78
+ spina/resource:
79
+ label: Popisek
80
+ order_by: Seřadit podle
81
+ parent_page: Nadřazená stránka
82
+ view_template: Výchozí šablona zobrazení
83
+ spina/user:
84
+ admin: Administrátor
85
+ admin_description: Administrátoři mohou vytvářet uživatele
86
+ email: E-mail
87
+ email_description: Váš e-mail musí být jedinečný
88
+ last_logged_in: Naposledy přihlášen
89
+ name: Jméno
90
+ name_placeholder: Jméno
91
+ password: Heslo
92
+ password_confirmation: Potvrdit heslo
93
+ password_description: Nechte prázdné, abyste ponechali stávající heslo
94
+ role: Role
95
+ user: Uživatel
96
+ models:
97
+ spina/attachment:
98
+ one: Dokument
99
+ other: Dokumenty
100
+ spina/page:
101
+ one: Stránka
102
+ other: Stránky
103
+ spina/photo:
104
+ one: Obrázek
105
+ other: Obrázky
106
+ spina/user:
107
+ one: Uživatel
108
+ other: Uživatelé
109
+ helpers:
110
+ label:
111
+ spina/embeds/button:
112
+ url: URL
113
+ label: Popisek tlačítka
114
+ spina/embeds/youtube:
115
+ url: URL YouTube
116
+ spina/embeds/vimeo:
117
+ url: URL Vimeo
118
+ spina:
119
+ accounts:
120
+ contact_details: Kontaktní údaje
121
+ contact_details_description: E-mail a telefon
122
+ couldnt_be_saved: Účet se nepodařilo uložit
123
+ name_description: Název vašeho webu
124
+ save: Uložit účet
125
+ saved: Účet uložen
126
+ ago: před
127
+ attachments:
128
+ choose_attachment: Vybrat přílohu
129
+ delete_confirmation_html: Jste si jistý? Tato příloha <span class='font-semibold'>možná</span> je použita na stránce.
130
+ download: Stáhnout
131
+ insert: Vložit dokument
132
+ insert_multiple: Vložit dokumenty
133
+ upload: Nahrát soubory
134
+ upload_one: Nahrát soubor
135
+ cancel: Zrušit
136
+ choose_from_library: Vybrat z knihovny
137
+ close: Zavřít
138
+ delete: Smazat
139
+ delete_confirmation: Jste si jistý, že chcete smazat <strong>%{subject}</strong>?
140
+ edit: Upravit
141
+ edit_website: Upravit váš web
142
+ embeds:
143
+ embed_a_component: Vložit komponentu
144
+ embed_component: Vložit komponentu
145
+ forgot_password:
146
+ expired: Platnost vašeho tokenu pro obnovení hesla vypršela.
147
+ mail_subject: Obnovení hesla
148
+ new: Obnovit heslo
149
+ request: Požádat o nové heslo
150
+ save: Uložit nové heslo
151
+ success: Můžete použít vaše nové heslo
152
+ unknown_user: Tento uživatel neexistuje
153
+ images:
154
+ all_images: Všechny obrázky
155
+ back: Zpět
156
+ cannot_be_created: Nelze vytvořit
157
+ choose_image: Vybrat obrázek
158
+ choose_images: Vybrat obrázky
159
+ confirm_selection: Potvrdit výběr
160
+ delete: Smazat
161
+ delete_confirmation_html: Jste si jistý, že chcete smazat tento <strong>obrázek</strong>?
162
+ delete_folder: Smazat složku
163
+ done_organizing: Dokončeno organizování
164
+ insert_image: Vložit obrázek
165
+ insert_photo: Vložit fotku
166
+ insert_photos: Vložit fotky
167
+ link: Odkaz
168
+ missing_image: Chybí obrázek
169
+ new_folder: Nová složka
170
+ organize: Uspořádat
171
+ remove_image: Odebrat obrázek
172
+ upload: Nahrát obrázky
173
+ upload_image: Nahrát obrázek
174
+ languages:
175
+ bg: Bulharština
176
+ de: Německo
177
+ en: Angličtina
178
+ es: Španělština
179
+ fr: Francouzština
180
+ id: Indonéština
181
+ it: Italština
182
+ nl: Holandština
183
+ pl: Polština
184
+ pt-BR: Portugalština (Brazílie)
185
+ ro: Rumunština
186
+ ru: Rusština
187
+ sv: Švédština
188
+ th: Thajština
189
+ tr: Turečtina
190
+ zh-CN: Čínština (zjednodušená)
191
+ cs: Čeština
192
+ layout:
193
+ couldnt_be_saved: Layout se nepodařilo uložit
194
+ layout: Layout
195
+ no_layout_parts: Žádné layoutové části nejsou k dispozici
196
+ save: Uložit layout
197
+ saved: Layout uložen
198
+ login: Přihlásit se
199
+ logout: Odhlásit se
200
+ main_menu: Hlavní menu
201
+ media_library:
202
+ add_folder: Přidat složku
203
+ add_image: Přidat obrázek
204
+ attachments: Dokumenty
205
+ back_to_all: Zpět na vše
206
+ filename: Název souboru
207
+ images: Obrázky
208
+ images_count:
209
+ one: 1 obrázek
210
+ other: "%{count} obrázků"
211
+ insert: Vložit obrázek
212
+ media_folder_delete_confirmation_html: Jste si jistý? Obrázky nebudou <strong>smazány</strong>.
213
+ no_folder: Žádná složka
214
+ photos: Obrázky
215
+ rename_folder: Přejmenovat složku
216
+ save_media_folder: Uložit mediální složku
217
+ upload_from_device: Nahrát ze zařízení
218
+ uploading: Nahrávám...
219
+ modal:
220
+ agree: Ano, jsem si jistý
221
+ cancel: Ne, zrušit
222
+ navigations:
223
+ add_menu_item: Přidat položku menu
224
+ add_sub_item: Přidat pod-položku
225
+ choose_page: Vybrat stránku
226
+ delete_item: Smazat položku
227
+ delete_item_confirmation_html: Jste si jistý, že chcete <span class='font-semibold'>smazat</span> tuto položku menu?
228
+ description: Přidejte a seřaďte položky podle libosti. Můžete přidat vnořené položky menu, ale nemusíte.
229
+ edit_item: "Upravit položku"
230
+ navigations: Navigace
231
+ no_navigations: Tato webová stránka nemá zatím žádné navigace. Můžete si ji nastavit v nastavení motivu.
232
+ sorting_saved: Seřazení uloženo
233
+ url_placeholder: "https://"
234
+ url_title_placeholder: "Popisek"
235
+ navigation_items:
236
+ page: Stránka
237
+ url: URL
238
+ notifications:
239
+ alert: Chybka! Něco se pokazilo
240
+ information: Informace
241
+ login: Musíte se nejprve přihlásit
242
+ wrong_username_or_password: Špatná e-mailová adresa nebo heslo
243
+ options:
244
+ choose_option: Vybrat možnost
245
+ pages:
246
+ add_page_to: 'Přidat stránku k:'
247
+ add_translation: Přidat %{language} překlad
248
+ advanced: Pokročilé
249
+ cannot_be_deleted: Stránku nelze smazat
250
+ change_order: Změnit pořadí
251
+ change_view_template: Změnit šablonu zobrazení
252
+ change_view_template_confirmation: Jste si jistý, že chcete změnit šablonu zobrazení stránky? Obsah stránky, který nepatří do nové šablony, bude ztracen.
253
+ concept: koncept
254
+ create: Vytvořit stránku
255
+ create_page: nový %{template}
256
+ delete: Smazat stránku
257
+ delete_confirmation: Jste si jistý, že chcete smazat stránku <strong>%{subject}</strong>?
258
+ deleted: Stránka smazána
259
+ done_changing_order: Dokončeno řazení
260
+ edit_translation: Upravit %{language} překlad
261
+ invisible_to_search_engines: Váš web je pro vyhledávače neviditelný
262
+ invisible_to_search_engines_description: Přejděte do svých preferencí a aktivujte vyhledávače.
263
+ main_collection: Hlavní kolekce
264
+ materialize_path_confirmation: Jste si jistý, že chcete znovu vytvořit cestu pro tuto stránku?
265
+ missing_translations: Chybějící překlady
266
+ move_page: Přesunout stránku
267
+ moved: Stránka přemístěna
268
+ new: Nová stránka
269
+ no_pages_yet: Zatím žádné stránky
270
+ no_parent_page: Bez nadřazené stránky
271
+ page_content: Obsah stránky
272
+ page_part: Sekce stránky
273
+ page_seo: Vyhledávací nástroje
274
+ path: 'Cesta:'
275
+ photo_picker: Vybrat obrázek
276
+ photos_picker: Vybrat obrázky
277
+ preview: Náhled
278
+ publish: Publikovat
279
+ published: Stránka publikována
280
+ rebuild_materialized_path: Obnovit zmaterializovaný odkaz
281
+ recommended: Doporučeno
282
+ save: Uložit stránku
283
+ save_changes: Uložit změny
284
+ save_draft: Uložit koncept
285
+ saved: Stránka uložena
286
+ saving: Ukládám...
287
+ select_page: Vybrat stránku
288
+ couldnt_be_saved: Stránka se nepodařilo uložit
289
+ search_engines: Vyhledávací nástroje
290
+ show_in_menu: Neviditelná
291
+ skip_to_first_child: Přejít na první podřízenou stránku
292
+ sorting_saved: Seřazení uloženo
293
+ page_translations:
294
+ delete: Smazat překlad (%{translation})
295
+ delete_confirmation: Jste si jistý, že chcete smazat tento překlad <strong>(%{subject})</strong>?
296
+ deleted: Překlad smazán
297
+ permanently_delete: Trvale smazat
298
+ photos:
299
+ cannot_be_created: 'Obrázek nelze zpracovat:'
300
+ choose_images: Vybrat obrázky
301
+ delete: Smazat
302
+ delete_confirmation: Jste si jistý, že chcete smazat tento <strong>obrázek</strong>?
303
+ delete_folder: Smazat složku
304
+ done_organizing: Dokončeno organizování
305
+ insert_photo: Vložit obrázek
306
+ insert_photos: Vybrat obrázky
307
+ link: 'URL vašeho obrázku:'
308
+ new_folder: Nová složka
309
+ organize: Uspořádat obrázky
310
+ rename_folder: Přejmenovat složku
311
+ select_images: Vybrat obrázky
312
+ upload_image: Nahrát obrázek
313
+ preferences:
314
+ Analytics: Analytika
315
+ account: Obecné
316
+ account_description: Osobní preference
317
+ account_save: Uložit preference
318
+ analytics: Analytika a vyhledávání
319
+ analytics_description: Připojte svůj účet pro reálnou dobu analýzy
320
+ analytics_save: Uložit preference
321
+ domain_name_settings: Nastavení domény
322
+ domain_name_settings_description: Nastavte si vlastní doménu
323
+ social_media: Sociální média
324
+ social_media_description: Facebook a Twitter účty
325
+ social_media_save: Uložit sociální média
326
+ style: Stylování
327
+ style_description: Vyberte si motiv, který se hodí k vaší značce
328
+ style_save: Uložit stylování
329
+ title: Preferencie
330
+ users: Uživatelé
331
+ users_description: Spravujte uživatele a administrátory
332
+ preview_website: Náhled webu
333
+ resources:
334
+ edit: Upravit zdroj
335
+ label_description: Popis pro uživatele této kolekce stránek.
336
+ manual_sorting: Ruční řazení
337
+ no_default_template: Žádný výchozí šablona
338
+ saved: Kolekce stránek uložena
339
+ settings: "%{label} nastavení"
340
+ settings_description: Všechny stránky uvnitř této kolekce budou mít předponu tímto slugem.
341
+ save: Uložit
342
+ search: Hledat...
343
+ settings:
344
+ general: Obecné
345
+ save: Uložit Nastavení
346
+ title: Nastavení
347
+ users: Uživatelé
348
+ theme:
349
+ save: Uložit téma
350
+ saved: Téma uloženo
351
+ theme: Téma
352
+ theme_description: Nastavte si svůj motiv
353
+ ui:
354
+ cancel: Zrušit
355
+ delete: Smazat
356
+ delete_item: "Smazat %{item}"
357
+ load_more: Načíst více
358
+ move_to: Přesunout do
359
+ new_entry: Nový záznam
360
+ optional: Volitelné
361
+ or: nebo
362
+ rename: Přejmenovat
363
+ replace: Nahradit
364
+ save_changes: Uložit změny
365
+ saving: Ukládám...
366
+ user_mailer:
367
+ forgot_password:
368
+ button: Obnovit heslo
369
+ introduction: Nedávno jste požádali o obnovení hesla pro váš účet Spina CMS. Tento odkaz na obnovení hesla je platný pouze po dobu 2 hodin. Zkopírujte a vložte následující URL do svého webového prohlížeče.
370
+ introduction_html: "Nedávno jste požádali o obnovení hesla pro váš účet Spina CMS. Použijte tlačítko níže k jeho obnovení. <strong>Tento odkaz na obnovení hesla je platný pouze po dobu 2 hodin.</strong>"
371
+ preheader: Použijte tento odkaz k obnovení hesla. Platný je 2 hodiny.
372
+ request_origin: Pro účely zabezpečení byla tato žádost přijata ze zařízení %{platform} pomocí %{browser}. Pokud jste nepožádali o obnovení hesla, tuto e-mailovou zprávu ignorujte.
373
+ salutation: Ahoj, %{name}
374
+ subject: Obnovit heslo
375
+ trouble: Pokud máte problémy s tlačítkem níže, zkopírujte a vložte následující URL do svého webového prohlížeče.
376
+ users:
377
+ authorization: Autorizace
378
+ authorization_description: Administrátoři mohou spravovat uživatele. Běžní uživatelé nemohou.
379
+ cannot_be_created: Uživatel nemůže být uložen
380
+ delete: Smazat uživatele
381
+ delete_confirmation_html: Jste si jistý, že chcete smazat uživatele <strong>%{user}</strong>?
382
+ deleted: Uživatel smazán
383
+ last_login: 'Poslední přihlášení:'
384
+ never_logged_in: Nikdy se nepřihlásil
385
+ new: Nový uživatel
386
+ profile: Profil
387
+ profile_description: Tato informace bude použita k identifikaci různých uživatelů. Uživatelé se budou přihlašovat pomocí své e-mailové adresy.
388
+ save: Uložit uživatele
389
+ saved: Uživatel uložen
390
+ visit_page: Navštívit stránku
391
+ website:
392
+ all_pages: Všechny stránky
393
+ content: Obsah
394
+ documents: Dokumenty
395
+ images: Obrázky
396
+ main: Hlavní
397
+ media_library: Mediální knihovna
398
+ media_library_description: Tady najdete všechny své obrázky a dokumenty.
399
+ pages: Stránky
400
+ pages_description: Všechny stránky na vašem webu
401
+ photos: Obrázky
402
+ settings: Nastavení
403
+ theme: Motiv
404
+ title: Váš web
405
+ wysiwyg:
406
+ heading_1: Nadpis 1
407
+ heading_2: Nadpis 2
408
+ heading_3: Nadpis 3
409
+ insert_link: Vložit odkaz
410
+ link: Odkaz
411
+ paragraph: Odstavec
412
+ quote: Citát
413
+ unlink: Odebrat odkaz
414
+ url: URL
415
+ url_placeholder: Zadejte URL
data/lib/spina/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spina
2
- VERSION = "2.16.0"
2
+ VERSION = "2.17.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spina
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.16.0
4
+ version: 2.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bram Jetten
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-23 00:00:00.000000000 Z
11
+ date: 2023-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -1480,6 +1480,7 @@ files:
1480
1480
  - config/initializers/yaml_column_permitted_classes.rb
1481
1481
  - config/locales/TH.yml
1482
1482
  - config/locales/bg.yml
1483
+ - config/locales/cs.yml
1483
1484
  - config/locales/de.yml
1484
1485
  - config/locales/en.yml
1485
1486
  - config/locales/es.yml
@@ -1561,9 +1562,10 @@ metadata:
1561
1562
  documentation_uri: https://www.spinacms.com/docs
1562
1563
  changelog_uri: https://github.com/SpinaCMS/Spina/blob/main/CHANGELOG.md
1563
1564
  source_code_uri: https://github.com/SpinaCMS/Spina
1564
- post_install_message: "\n Spina v2.14 includes a new migration, don't forget to
1565
+ post_install_message: "\n Spina v2.16 includes a new migration, don't forget to
1565
1566
  run spina:install:migrations.\n \n For details on this specific release, refer
1566
- to the CHANGELOG file.\n "
1567
+ to the CHANGELOG file.\n https://github.com/SpinaCMS/Spina/blob/main/CHANGELOG.md#2160-august-23rd-2022\n
1568
+ \ "
1567
1569
  rdoc_options: []
1568
1570
  require_paths:
1569
1571
  - lib