spina 2.18.0 → 2.20.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 +4 -4
- data/README.md +1 -1
- data/app/assets/config/spina/manifest.js +2 -2
- data/app/assets/javascripts/spina/application.js +1 -1
- data/app/assets/javascripts/spina/controllers/confetti_controller.js +1 -1
- data/app/assets/javascripts/spina/controllers/data_binding_controller.js +234 -0
- data/app/assets/javascripts/spina/controllers/form_controller.js +1 -2
- data/app/assets/javascripts/spina/controllers/hotkeys_controller.js +1 -1
- data/app/assets/javascripts/spina/controllers/page_select_controller.js +2 -37
- data/app/assets/javascripts/spina/controllers/reveal_controller.js +424 -1
- data/app/assets/javascripts/spina/controllers/select_controller.js +44 -0
- data/app/assets/javascripts/spina/controllers/sortable_controller.js +1 -2
- data/app/assets/javascripts/spina/libraries/canvas-confetti.js +1 -1
- data/app/assets/javascripts/spina/libraries/hotkeys.js +1 -1
- data/app/assets/javascripts/spina/libraries/sortablejs.js +1 -1
- data/app/assets/javascripts/spina/libraries/trix.js +1 -1
- data/app/assets/stylesheets/spina/fonts-propshaft.css +114 -0
- data/app/controllers/spina/admin/resource_select_options_controller.rb +20 -0
- data/app/helpers/spina/admin/pages_helper.rb +23 -4
- data/app/models/spina/embeds/youtube.rb +1 -1
- data/app/models/spina/navigation_item.rb +5 -1
- data/app/models/spina/parts/image_variant.rb +3 -3
- data/app/models/spina/parts/page_link.rb +3 -2
- data/app/models/spina/parts/resource_link.rb +13 -0
- data/app/views/layouts/spina/admin/application.html.erb +9 -2
- data/app/views/spina/admin/page_select_options/index.html.erb +3 -4
- data/app/views/spina/admin/page_select_options/show.html.erb +1 -1
- data/app/views/spina/admin/parts/page_links/_form.html.erb +17 -14
- data/app/views/spina/admin/parts/resource_links/_form.html.erb +32 -0
- data/app/views/spina/admin/resource_select_options/index.html.erb +13 -0
- data/app/views/spina/admin/resource_select_options/show.html.erb +3 -0
- data/config/locales/da.yml +418 -0
- data/config/locales/de.yml +2 -0
- data/config/locales/en.yml +8 -5
- data/config/routes.rb +4 -1
- data/db/migrate/18_change_default_spina_resources_slug.rb +9 -0
- data/lib/spina/engine.rb +2 -2
- data/lib/spina/railtie.rb +4 -1
- data/lib/spina/theme.rb +8 -6
- data/lib/spina/version.rb +1 -1
- data/lib/tasks/tailwind.rake +12 -4
- metadata +29 -30
- data/app/assets/javascripts/spina/libraries/form-request-submit-polyfill.js +0 -1
- data/app/assets/javascripts/spina/libraries/form-request-submit-polyfill@2.0.0.js +0 -27
- data/app/assets/javascripts/spina/libraries/stimulus-reveal@1.2.4.js +0 -388
- /data/app/assets/stylesheets/spina/{fonts.css.erb → fonts-sprockets.css.erb} +0 -0
@@ -1,6 +1,8 @@
|
|
1
1
|
module Spina
|
2
2
|
module Parts
|
3
3
|
class ImageVariant
|
4
|
+
ImageVariation = Struct.new(:key)
|
5
|
+
|
4
6
|
attr_reader :blob
|
5
7
|
|
6
8
|
def initialize(image, options)
|
@@ -9,9 +11,7 @@ module Spina
|
|
9
11
|
end
|
10
12
|
|
11
13
|
def variation
|
12
|
-
|
13
|
-
key: ActiveStorage::Variation.encode(@options)
|
14
|
-
})
|
14
|
+
ImageVariation.new(ActiveStorage::Variation.encode(@options))
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -2,11 +2,12 @@ module Spina
|
|
2
2
|
module Parts
|
3
3
|
class PageLink < Base
|
4
4
|
attr_json :page_id, :integer, default: nil
|
5
|
-
|
5
|
+
attr_json :text, :string, default: nil
|
6
|
+
|
6
7
|
attr_accessor :options
|
7
8
|
|
8
9
|
def content
|
9
|
-
Page.live.find_by(id: page_id)
|
10
|
+
::Spina::Page.live.find_by(id: page_id)
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
@@ -10,8 +10,15 @@
|
|
10
10
|
|
11
11
|
<title><%= Spina.config.backend_title %></title>
|
12
12
|
|
13
|
+
<!-- Fonts -->
|
14
|
+
<% if defined?(Propshaft) %>
|
15
|
+
<%= stylesheet_link_tag "spina/fonts-propshaft", data: {turbo_track: "reload"} %>
|
16
|
+
<% elsif defined?(Sprockets) %>
|
17
|
+
<%= stylesheet_link_tag "spina/fonts-sprockets", data: {turbo_track: "reload"} %>
|
18
|
+
<% end %>
|
19
|
+
|
13
20
|
<!-- Stylesheets -->
|
14
|
-
<%= stylesheet_link_tag "spina/tailwind", "spina/
|
21
|
+
<%= stylesheet_link_tag "spina/tailwind", "spina/animate", "data-turbo-track": "reload" %>
|
15
22
|
|
16
23
|
<!-- Spina's importmap -->
|
17
24
|
<%= spina_importmap_tags %>
|
@@ -25,4 +32,4 @@
|
|
25
32
|
<%= render "spina/admin/shared/version" %>
|
26
33
|
<%= content_for?(:body) ? yield(:body) : yield %>
|
27
34
|
</body>
|
28
|
-
</html>
|
35
|
+
</html>
|
@@ -1,12 +1,11 @@
|
|
1
1
|
<%= turbo_frame_tag "page_select_options_#{params[:object_id]}" do %>
|
2
2
|
<% if params[:search].blank? %>
|
3
|
-
<button type="button" data-action="
|
3
|
+
<button type="button" data-action="select#clear reveal#hide" class="block hover:bg-gray-100 w-full text-left px-5 py-2 font-medium leading-5 text-gray-700 hover:text-gray-900 text-sm border-t border-gray-150">
|
4
4
|
–
|
5
5
|
</button>
|
6
6
|
<% end %>
|
7
|
-
|
8
7
|
<% @pages.each do |page| %>
|
9
|
-
<button type="button" data-action="
|
8
|
+
<button type="button" data-action="select#select reveal#hide" data-title="<%= page.title %>" data-id="<%= page.id %>" class="block hover:bg-gray-100 w-full text-left px-5 py-2 font-medium leading-5 text-gray-700 hover:text-gray-900 text-sm border-t border-gray-150">
|
10
9
|
<%= page.title %>
|
11
10
|
<% if page.draft? %>
|
12
11
|
<span class="font-normal text-gray-400">
|
@@ -18,4 +17,4 @@
|
|
18
17
|
</div>
|
19
18
|
</button>
|
20
19
|
<% end %>
|
21
|
-
<% end %>
|
20
|
+
<% end %>
|
@@ -1,19 +1,23 @@
|
|
1
1
|
<div class="mt-6">
|
2
2
|
<label class="block text-sm leading-5 font-medium text-gray-700"><%= f.object.title %></label>
|
3
3
|
<div class="text-gray-400 text-sm"><%= f.object.hint %></div>
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
4
|
+
<div data-controller="select reveal data-binding" data-placeholder="<%=t "spina.pages.select_page" %>" class="relative mt-1" data-reveal-away-value>
|
5
|
+
<%= f.hidden_field :page_id, data: { select_target: "input", action: 'change->data-binding#update', binding_target: 'label', binding_condition: "$source.value == ''", binding_attribute: 'hidden' } %>
|
6
|
+
<div class="flex">
|
7
|
+
<div class="rounded-md border text-gray-700 bg-white shadow-sm border-gray-300">
|
8
|
+
<button type="button" class="w-full py-1.5 px-3 inline-flex items-center text-sm font-medium" data-action="reveal#toggle select#autofocus">
|
9
|
+
<%= heroicon("link", style: :mini, class: "w-4 h-4 mr-1 text-gray-600") %>
|
10
|
+
<div data-select-target="label">
|
11
|
+
<% if f.object.page_id.present? %>
|
12
|
+
<%= turbo_frame_tag :page_title, src: spina.admin_page_select_option_path(f.object.page_id) %>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
</button>
|
16
|
+
<fieldset class="border-t border-gray-300 border-dashed" data-binding-ref="label">
|
17
|
+
<%= f.text_field :text, placeholder: t("spina.page_links.text_placeholder"), class: "w-full min-w-64 py-1.5 border-0 rounded-b-md text-sm text-gray-700 focus:border-spina-light focus:ring focus:ring-spina-light" %>
|
18
|
+
</fieldset>
|
14
19
|
</div>
|
15
|
-
</
|
16
|
-
|
20
|
+
</div>
|
17
21
|
<div class="relative mt-1">
|
18
22
|
<div data-reveal data-transition hidden class="absolute shadow-lg border border-gray-200 origin-top-right rounded-md z-10 top-0">
|
19
23
|
<div class="rounded-md bg-white shadow-xs">
|
@@ -21,10 +25,9 @@
|
|
21
25
|
<%= ff.hidden_field :object_id, value: f.object.object_id %>
|
22
26
|
<%= ff.hidden_field :resource, value: f.object.options&.dig(:resource) %>
|
23
27
|
<div class="p-2">
|
24
|
-
<%= ff.search_field :search, placeholder: t("spina.search"), class: "form-input sticky top-0 text-sm w-80", data: {action: "input->form#submit focus->form#submit",
|
28
|
+
<%= ff.search_field :search, placeholder: t("spina.search"), class: "form-input sticky top-0 text-sm w-80", data: {action: "input->form#submit focus->form#submit", select_target: "search"} %>
|
25
29
|
</div>
|
26
30
|
<% end %>
|
27
|
-
|
28
31
|
<div class="overflow-scroll max-h-80">
|
29
32
|
<%= turbo_frame_tag "page_select_options_#{f.object.object_id}" do %>
|
30
33
|
<% end %>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div class="mt-6">
|
2
|
+
<label class="block text-sm leading-5 font-medium text-gray-700"><%= f.object.title %></label>
|
3
|
+
<div class="text-gray-400 text-sm"><%= f.object.hint %></div>
|
4
|
+
<div data-controller="select reveal" data-placeholder="<%=t "spina.resources.select_resource" %>" class="relative mt-1" data-reveal-away-value>
|
5
|
+
<%= f.hidden_field :resource_id, data: {select_target: "input"} %>
|
6
|
+
<button type="button" class="btn btn-default px-3 inline-flex items-center text-sm font-medium" data-action="reveal#toggle select#autofocus">
|
7
|
+
<%= heroicon("link", style: :mini, class: "w-4 h-4 mr-1 text-gray-600") %>
|
8
|
+
<div data-select-target="label">
|
9
|
+
<% if f.object.resource_id.present? %>
|
10
|
+
<%= turbo_frame_tag :resource_title, src: spina.admin_resource_select_option_path(f.object.resource_id) %>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
</button>
|
14
|
+
<div class="relative mt-1">
|
15
|
+
<div data-reveal data-transition hidden class="absolute shadow-lg border border-gray-200 origin-top-right rounded-md z-10 top-0">
|
16
|
+
<div class="rounded-md bg-white shadow-xs">
|
17
|
+
<%= form_with url: spina.search_admin_resource_select_options_path, data: {turbo_frame: "resource_select_options_#{f.object.object_id}", controller: "form", debounce_time: 100} do |ff| %>
|
18
|
+
<%= ff.hidden_field :object_id, value: f.object.object_id %>
|
19
|
+
<%= ff.hidden_field :resource, value: f.object.options&.dig(:resource) %>
|
20
|
+
<div class="p-2">
|
21
|
+
<%= ff.search_field :search, placeholder: t("spina.search"), class: "form-input sticky top-0 text-sm w-80", data: {action: "input->form#submit focus->form#submit", select_target: "search"} %>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
24
|
+
<div class="overflow-scroll max-h-80">
|
25
|
+
<%= turbo_frame_tag "resource_select_options_#{f.object.object_id}" do %>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%= turbo_frame_tag "resource_select_options_#{params[:object_id]}" do %>
|
2
|
+
<% if params[:search].blank? %>
|
3
|
+
<button type="button" data-action="select#clear reveal#hide" class="block hover:bg-gray-100 w-full text-left px-5 py-2 font-medium leading-5 text-gray-700 hover:text-gray-900 text-sm border-t border-gray-150">
|
4
|
+
–
|
5
|
+
</button>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<% @resources.each do |resource| %>
|
9
|
+
<button type="button" data-action="select#select reveal#hide" data-title="<%= resource.label %>" data-id="<%= resource.id %>" class="block hover:bg-gray-100 w-full text-left px-5 py-2 font-medium leading-5 text-gray-700 hover:text-gray-900 text-sm border-t border-gray-150">
|
10
|
+
<%= resource.label %>
|
11
|
+
</button>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
@@ -0,0 +1,418 @@
|
|
1
|
+
da:
|
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: Titel skal udfyldes
|
15
|
+
attributes:
|
16
|
+
spina/account:
|
17
|
+
address: Adresse
|
18
|
+
city: By
|
19
|
+
email: Email
|
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: Chamber of commerce
|
26
|
+
kvk_identifier_description: Chamber of commerce
|
27
|
+
linkedin: LinkedIn
|
28
|
+
logo: Logo
|
29
|
+
name: Hjemmesidens navn
|
30
|
+
phone: Telefon
|
31
|
+
postal_code: Postnummer
|
32
|
+
robots_allowed: Synlig for søgemaskiner
|
33
|
+
theme: Designtema
|
34
|
+
twitter: Twitter
|
35
|
+
vat_identifier: VAT
|
36
|
+
vat_identifier_description: VAT
|
37
|
+
youtube: YouTube
|
38
|
+
spina/attachment:
|
39
|
+
created_at: Oprettet
|
40
|
+
name: Filenavn
|
41
|
+
size: Størrelse
|
42
|
+
spina/media_folder:
|
43
|
+
name: Navn
|
44
|
+
spina/navigation:
|
45
|
+
auto_add_pages: Tilføj automatisk sider
|
46
|
+
auto_add_pages_description: Nye sider tilføjes automatisk til denne menu
|
47
|
+
label: Label
|
48
|
+
pages: Sider
|
49
|
+
pages_description: Vælg sider til denne menu
|
50
|
+
spina/page:
|
51
|
+
ancestry: Overliggende side
|
52
|
+
created_at: Oprettet
|
53
|
+
description: Meta beskrivelse
|
54
|
+
description_description: Beskrivelse til søgeresultater
|
55
|
+
description_placeholder: Kort beskrivelse af siden
|
56
|
+
draft: Kladde
|
57
|
+
draft_description: Til når din side ikke er helt færdig
|
58
|
+
link_url: Redirect
|
59
|
+
link_url_description: Viderestil til URL
|
60
|
+
link_url_placeholder: fx. http://www.example.com/
|
61
|
+
menu_title: Menutitel
|
62
|
+
menu_title_placeholder: Efterlad blank for at bruge sidens titel
|
63
|
+
no_parent: Ikke under en anden side
|
64
|
+
resource: Resource
|
65
|
+
seo_title: SEO <title>
|
66
|
+
seo_title_description: Sørg for at siden ser godt ud i søgeresultater
|
67
|
+
seo_title_placeholder: Bruges i <title>-tag
|
68
|
+
show_in_menu: Vis i menu
|
69
|
+
show_in_menu_description: Slå fra for ikke at have siden i menu
|
70
|
+
skip_to_first_child: Viderestil
|
71
|
+
skip_to_first_child_description: Viderestil til første underliggende side
|
72
|
+
title: Titel
|
73
|
+
title_placeholder: Sidens titel
|
74
|
+
url_title: Bestem selv adressen
|
75
|
+
url_title_description: Valgfrit
|
76
|
+
url_title_placeholder: Slug
|
77
|
+
view_template: Designskabelon
|
78
|
+
spina/resource:
|
79
|
+
label: Label
|
80
|
+
order_by: Sorter efter
|
81
|
+
parent_page: Overliggende side
|
82
|
+
view_template: Standard designskabelon
|
83
|
+
spina/user:
|
84
|
+
admin: Administrator
|
85
|
+
admin_description: Administratorer kan oprette brugere
|
86
|
+
email: Email
|
87
|
+
email_description: Din email skal være unik
|
88
|
+
last_logged_in: Sidst logget ind
|
89
|
+
name: Navn
|
90
|
+
name_placeholder: Navn
|
91
|
+
password: Kodeord
|
92
|
+
password_confirmation: Bekræft kodeord
|
93
|
+
password_description: Efterlad blank for ikke at skifte kode
|
94
|
+
role: Rolle
|
95
|
+
user: Bruger
|
96
|
+
models:
|
97
|
+
spina/attachment:
|
98
|
+
one: Dokument
|
99
|
+
other: Dokumenter
|
100
|
+
spina/page:
|
101
|
+
one: Side
|
102
|
+
other: Sider
|
103
|
+
spina/photo:
|
104
|
+
one: Billede
|
105
|
+
other: Billeder
|
106
|
+
spina/user:
|
107
|
+
one: Bruger
|
108
|
+
other: Brugere
|
109
|
+
helpers:
|
110
|
+
label:
|
111
|
+
spina/embeds/button:
|
112
|
+
url: URL
|
113
|
+
label: Knaptekst
|
114
|
+
spina/embeds/youtube:
|
115
|
+
url: Youtube URL
|
116
|
+
spina/embeds/vimeo:
|
117
|
+
url: Vimeo URL
|
118
|
+
spina:
|
119
|
+
accounts:
|
120
|
+
contact_details: Kontaktinformation
|
121
|
+
contact_details_description: Email og telefon
|
122
|
+
couldnt_be_saved: Kunne ikke gemme konto
|
123
|
+
name_description: Sidenavn
|
124
|
+
save: Gem
|
125
|
+
saved: Gemt
|
126
|
+
ago: siden
|
127
|
+
attachments:
|
128
|
+
choose_attachment: Vælg fil
|
129
|
+
delete_confirmation_html: Sikker? Denne fil <span class='font-semibold'>kan</span> være i brug på en siden.
|
130
|
+
download: Download
|
131
|
+
insert: Indsæt fil
|
132
|
+
insert_multiple: Indsæt fil
|
133
|
+
upload: Upload filer
|
134
|
+
upload_one: Upload fil
|
135
|
+
cancel: Afbryd
|
136
|
+
choose_from_library: Vælg fra bibliotek
|
137
|
+
close: Luk
|
138
|
+
delete: Slet
|
139
|
+
delete_confirmation: Sikker på du vil slette <strong>%{subject}</strong>?
|
140
|
+
edit: Rediger
|
141
|
+
edit_website: Rediger din side
|
142
|
+
embeds:
|
143
|
+
embed_a_component: Embed a component
|
144
|
+
embed_component: Embed component
|
145
|
+
forgot_password:
|
146
|
+
expired: Linket til at nulstille din kode er udløbet!
|
147
|
+
mail_subject: Nulstil din adgangskode
|
148
|
+
new: Glemt din adgangskode
|
149
|
+
request: Anmod om ny adgangskode
|
150
|
+
save: Gem adgangskode
|
151
|
+
success: Din adgangskode er gemt og klar til brug
|
152
|
+
unknown_user: Ingen bruger fundet
|
153
|
+
images:
|
154
|
+
all_images: Alle billeder
|
155
|
+
back: Tilbage
|
156
|
+
cannot_be_created: Kunne ikke oprette billede
|
157
|
+
choose_image: Vælg billede
|
158
|
+
choose_images: Vælg billeder
|
159
|
+
confirm_selection: Bekræft valg
|
160
|
+
delete: Slet
|
161
|
+
delete_confirmation_html: Sikker på du vil slette dette <strong>billede</strong>?
|
162
|
+
delete_folder: Slet mappe
|
163
|
+
done_organizing: Afslut organisering
|
164
|
+
insert_image: Indsæt billede
|
165
|
+
insert_photo: Indsæt billede
|
166
|
+
insert_photos: Indsæt billeder
|
167
|
+
link: Link
|
168
|
+
missing_image: Mangler billede
|
169
|
+
new_folder: Ny mappe
|
170
|
+
organize: Organiser
|
171
|
+
remove_image: Fjern billede
|
172
|
+
upload: Upload billeder
|
173
|
+
upload_image: Upload billede
|
174
|
+
languages:
|
175
|
+
bg: Bulgarsk
|
176
|
+
da: Dansk
|
177
|
+
de: Tysk
|
178
|
+
en: Engelsk
|
179
|
+
es: Spansk
|
180
|
+
fr: Fransk
|
181
|
+
id: Indonesisk
|
182
|
+
it: Italiensk
|
183
|
+
nl: Dutch
|
184
|
+
pl: Polsk
|
185
|
+
pt-BR: Braziliansk portugisisk
|
186
|
+
ro: Rumænsk
|
187
|
+
ru: Russisk
|
188
|
+
sv: Svensk
|
189
|
+
th: Thai
|
190
|
+
tr: Tyrkisk
|
191
|
+
zh-CN: Kinesisk (forenklet)
|
192
|
+
layout:
|
193
|
+
couldnt_be_saved: Layout couldn't be saved
|
194
|
+
layout: Layout
|
195
|
+
no_layout_parts: No layout parts available
|
196
|
+
save: Save layout
|
197
|
+
saved: Layout saved
|
198
|
+
login: Log ind
|
199
|
+
logout: Log ud
|
200
|
+
main_menu: Hovedmenu
|
201
|
+
media_library:
|
202
|
+
add_folder: Tilføj mappe
|
203
|
+
add_image: Filføj billede
|
204
|
+
attachments: Filer
|
205
|
+
back_to_all: Tilbage
|
206
|
+
filename: Filnavn
|
207
|
+
images: Billeder
|
208
|
+
images_count:
|
209
|
+
one: 1 billede
|
210
|
+
other: "%{count} billeder"
|
211
|
+
insert: Indsæt billede
|
212
|
+
media_folder_delete_confirmation_html: Sikker? Billeder bliver <strong>ikke</strong> slettet.
|
213
|
+
no_folder: Ingen mappe
|
214
|
+
photos: Billeder
|
215
|
+
rename_folder: Omdøb mappe
|
216
|
+
save_media_folder: Gem mappe
|
217
|
+
upload_from_device: Upload fra enhed
|
218
|
+
uploading: Uploader...
|
219
|
+
modal:
|
220
|
+
agree: Ja, jeg er sikker
|
221
|
+
cancel: Nej, fortryd
|
222
|
+
navigations:
|
223
|
+
add_menu_item: Tilføj menupunkt
|
224
|
+
add_sub_item: Tilføj undermenu
|
225
|
+
choose_page: Vælg side
|
226
|
+
delete_item: Slet
|
227
|
+
delete_item_confirmation_html: Sikker på at du vil <span class='font-semibold'>delete</span> dette menupunkt?
|
228
|
+
description: Tilføj og sorter som du ønsker. Du kan også lave undermenuer.
|
229
|
+
edit_item: Rediger
|
230
|
+
navigations: Menuer
|
231
|
+
no_navigations: Denne side har ingen menuer endnu. Du kan oprette menuer i din designskabelon.
|
232
|
+
sorting_saved: Sortering gemt
|
233
|
+
url_placeholder: "https://"
|
234
|
+
url_title_placeholder: "Label"
|
235
|
+
navigation_items:
|
236
|
+
page: Side
|
237
|
+
url: URL
|
238
|
+
notifications:
|
239
|
+
alert: Hov! Noget gik helt galt!
|
240
|
+
information: Information
|
241
|
+
login: Du skal logge ind først
|
242
|
+
wrong_username_or_password: Forkert email eller kodeord
|
243
|
+
options:
|
244
|
+
choose_option: Vælg
|
245
|
+
page_links:
|
246
|
+
text_placeholder: Valgfri tekst til link
|
247
|
+
pages:
|
248
|
+
add_page_to: "Tilføj side til:"
|
249
|
+
add_translation: Tilføj %{language} oversættelse
|
250
|
+
advanced: Avanceret
|
251
|
+
cannot_be_deleted: Siden kan ikke slettes
|
252
|
+
change_order: Ændre rækkefølge
|
253
|
+
change_view_template: Ændre designskabelon
|
254
|
+
change_view_template_confirmation: Sikker på du vil ændre sideskabelon? Indhold der ikke passer i ny skabelon vil forsvinde.
|
255
|
+
concept: kladde
|
256
|
+
create: Ny side
|
257
|
+
create_page: ny %{template}
|
258
|
+
delete: Slet side
|
259
|
+
delete_confirmation: Sikker på du vil slette siden <strong>%{subject}</strong>?
|
260
|
+
deleted: Side slettet
|
261
|
+
done_changing_order: Færdig med at ændre rækkefølge
|
262
|
+
edit_translation: Rediger %{language} oversættelse
|
263
|
+
invisible_to_search_engines: Din side er usynlig for søgemaskiner
|
264
|
+
invisible_to_search_engines_description: Gå til indstillinger for at aktivere adgang for søgemaskiner.
|
265
|
+
main_collection: Primær samling
|
266
|
+
materialize_path_confirmation: Sikker på du vil opdatere sti til denne side?
|
267
|
+
missing_translations: Manglende oversættelse
|
268
|
+
move_page: Flyt side
|
269
|
+
moved: Side flyttet
|
270
|
+
new: Ny side
|
271
|
+
no_pages_yet: Ingen sider endnu
|
272
|
+
no_parent_page: Ingen overliggende side
|
273
|
+
page_content: Indhold
|
274
|
+
page_part: Afsnit
|
275
|
+
page_seo: Søgemaskiner
|
276
|
+
path: "Sti:"
|
277
|
+
photo_picker: Vælg billede
|
278
|
+
photos_picker: Vælg billeder
|
279
|
+
preview: Se side
|
280
|
+
publish: Publicer
|
281
|
+
published: Side publiceret
|
282
|
+
rebuild_materialized_path: Opdater sti
|
283
|
+
recommended: anbefalet
|
284
|
+
save: Gem side
|
285
|
+
save_changes: Gem ændringer
|
286
|
+
save_draft: Gem kladde
|
287
|
+
saved: Side gemt
|
288
|
+
saving: Gemmer...
|
289
|
+
select_page: Vælg side
|
290
|
+
couldnt_be_saved: Siden kunne ikke gemmes
|
291
|
+
search_engines: Søgemaskiner
|
292
|
+
show_in_menu: usynlig i menu
|
293
|
+
skip_to_first_child: viderestil til første underliggende side
|
294
|
+
sorting_saved: Sortering gemt
|
295
|
+
page_translations:
|
296
|
+
delete: Slet oversættelse (%{translation})
|
297
|
+
delete_confirmation: Sikker på du vil slette denne oversættelse <strong>(%{subject})</strong>?
|
298
|
+
deleted: Oversættelse slettet
|
299
|
+
permanently_delete: Slet permanent
|
300
|
+
photos:
|
301
|
+
cannot_be_created: "Behandling af billede fejlede:"
|
302
|
+
choose_images: Vælg billeder
|
303
|
+
delete: Slet
|
304
|
+
delete_confirmation: Sikker på du vil slette dette <strong>billede</strong>?
|
305
|
+
delete_folder: Slet mappe
|
306
|
+
done_organizing: Færdig med organisering
|
307
|
+
insert_photo: Indsæt billede
|
308
|
+
insert_photos: Indsæt billeder
|
309
|
+
link: "URL til billedet:"
|
310
|
+
new_folder: Ny mappe
|
311
|
+
organize: Organiser billeder
|
312
|
+
rename_folder: Omdøb mappe
|
313
|
+
select_images: Vælg billeder
|
314
|
+
upload_image: Upload billede
|
315
|
+
preferences:
|
316
|
+
Analytics: Analytics
|
317
|
+
account: Generelt
|
318
|
+
account_description: Personlige indstillinger
|
319
|
+
account_save: Gem
|
320
|
+
analytics: Analytics and søgemaskiner
|
321
|
+
analytics_description: Link din Google Analytics konto
|
322
|
+
analytics_save: Gem indstillinger
|
323
|
+
domain_name_settings: Domænenavn
|
324
|
+
domain_name_settings_description: Indstillinger for domænenavn
|
325
|
+
social_media: Sociale medier
|
326
|
+
social_media_description: Facebook og Twitter konti
|
327
|
+
social_media_save: Gem sociale medier
|
328
|
+
style: Design
|
329
|
+
style_description: Vælg en designskabelon
|
330
|
+
style_save: Gem design
|
331
|
+
title: Indstillinger
|
332
|
+
users: Brugere
|
333
|
+
users_description: Administrer brugere
|
334
|
+
preview_website: Forhåndsvisning
|
335
|
+
resources:
|
336
|
+
edit: Rediger samling
|
337
|
+
label_description: Label til denne samling.
|
338
|
+
manual_sorting: Manuel sortering
|
339
|
+
no_default_template: Ingen standard designskabelon
|
340
|
+
saved: Gemt
|
341
|
+
select_resource: Vælg samling
|
342
|
+
settings: "%{label} indstillinger"
|
343
|
+
settings_description: Alle sider i denne samling får dette sat foran deres URL.
|
344
|
+
save: Gem
|
345
|
+
search: Søg...
|
346
|
+
settings:
|
347
|
+
general: Generelt
|
348
|
+
save: Gem
|
349
|
+
title: Indstillinger
|
350
|
+
users: Brugere
|
351
|
+
theme:
|
352
|
+
save: Gem
|
353
|
+
saved: Gemt
|
354
|
+
theme: Design
|
355
|
+
theme_description: Vælg en designskabelon
|
356
|
+
ui:
|
357
|
+
cancel: Fortryd
|
358
|
+
delete: Slet
|
359
|
+
delete_item: Slet %{item}
|
360
|
+
load_more: Hent flere
|
361
|
+
move_to: Flyt til
|
362
|
+
new_entry: Ny
|
363
|
+
optional: Valgftit
|
364
|
+
or: eller
|
365
|
+
rename: Omdøb
|
366
|
+
replace: Erstat
|
367
|
+
save_changes: Gem ændringer
|
368
|
+
saving: Gemmer...
|
369
|
+
user_mailer:
|
370
|
+
forgot_password:
|
371
|
+
button: Nulstil adgangskode
|
372
|
+
introduction: Du har anmodet om at nulstille din adgangskode til din Spina CMS-konto. Denne adgangskode nulstilling er kun gyldig i de næste 2 timer. Kopier og indsæt URL'en nedenfor i din webbrowser.
|
373
|
+
introduction_html: "Du har anmodet om at nulstille din adgangskode til din Spina CMS-konto. Brug knappen nedenfor til at nulstille koden. <strong>Denne adgangskode nulstilling er kun gyldig i de næste 2 timer.</strong>"
|
374
|
+
preheader: Brug linket til at nulstille din adgangskode. Linket er gyldigt i 2 timer.
|
375
|
+
request_origin: For security, this request was received from a %{platform} device using %{browser}. If you did not request a password reset, please ignore this email.
|
376
|
+
salutation: Hej, %{name}
|
377
|
+
subject: Nulstil din adgangskode
|
378
|
+
trouble: Hvis du har problemer med at klikke på knappen "Nulstil din adgangskode", kopier og indsæt URL'en nedenfor i din webbrowser.
|
379
|
+
users:
|
380
|
+
authorization: Authorization
|
381
|
+
authorization_description: Administratorer kan redigere brugere. Det kan almindelige brugere ikke.
|
382
|
+
cannot_be_created: Kunne ikke gemme bruger
|
383
|
+
delete: Slet bruger
|
384
|
+
delete_confirmation_html: Er du sikker på du vil slette brugeren <strong>%{user}</strong>?
|
385
|
+
deleted: Bruger slettet
|
386
|
+
last_login: "Sidste login:"
|
387
|
+
never_logged_in: Aldrig logget ind
|
388
|
+
new: Ny bruger
|
389
|
+
profile: Profil
|
390
|
+
profile_description: Information om bruger. Email bruges til login.
|
391
|
+
save: Gem
|
392
|
+
saved: Gemt
|
393
|
+
visit_page: Besøg side
|
394
|
+
website:
|
395
|
+
all_pages: Alle sider
|
396
|
+
content: Indhold
|
397
|
+
documents: Dokumenter
|
398
|
+
images: Billeder
|
399
|
+
main: Sider
|
400
|
+
media_library: Bibliotek
|
401
|
+
media_library_description: Her er alle dine filer og billeder
|
402
|
+
pages: Sider
|
403
|
+
pages_description: Alle sider på din hjemmeside
|
404
|
+
photos: Billeder
|
405
|
+
settings: Indstillinger
|
406
|
+
theme: Design
|
407
|
+
title: Din side
|
408
|
+
wysiwyg:
|
409
|
+
heading_1: Overskrift 1
|
410
|
+
heading_2: Overskrift 2
|
411
|
+
heading_3: Overskrift 3
|
412
|
+
insert_link: Indsæt link
|
413
|
+
link: Link
|
414
|
+
paragraph: Paragraf
|
415
|
+
quote: Citat
|
416
|
+
unlink: Fjern link
|
417
|
+
url: URL
|
418
|
+
url_placeholder: Indtast URL
|
data/config/locales/de.yml
CHANGED
@@ -241,6 +241,8 @@ de:
|
|
241
241
|
wrong_username_or_password: E-Mail oder Passwort falsch
|
242
242
|
options:
|
243
243
|
choose_option: Option auswählen
|
244
|
+
page_links:
|
245
|
+
text_placeholder: "Optionaler Text für Link"
|
244
246
|
pages:
|
245
247
|
add_page_to: "Seite hinzufügen zu:"
|
246
248
|
add_translation: Übersetzung für %{language} hinzufügen
|