radiant-german_language_pack-extension 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -0
- data/Rakefile +123 -0
- data/config/locales/de.yml +428 -0
- data/config/locales/de_available_tags.yml +624 -0
- data/german_language_pack_extension.rb +9 -0
- data/lib/tasks/i18n_de_extension_tasks.rake +28 -0
- data/radiant-german_language_pack-extension.gemspec +23 -0
- metadata +52 -0
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,123 @@
|
|
1
|
+
# I think this is the one that should be moved to the extension Rakefile template
|
2
|
+
|
3
|
+
# In rails 1.2, plugins aren't available in the path until they're loaded.
|
4
|
+
# Check to see if the rspec plugin is installed first and require
|
5
|
+
# it if it is. If not, use the gem version.
|
6
|
+
|
7
|
+
# Determine where the RSpec plugin is by loading the boot
|
8
|
+
unless defined? RADIANT_ROOT
|
9
|
+
ENV["RAILS_ENV"] = "test"
|
10
|
+
case
|
11
|
+
when ENV["RADIANT_ENV_FILE"]
|
12
|
+
require File.dirname(ENV["RADIANT_ENV_FILE"]) + "/boot"
|
13
|
+
when File.dirname(__FILE__) =~ %r{vendor/radiant/vendor/extensions}
|
14
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../../../")}/config/boot"
|
15
|
+
else
|
16
|
+
require "#{File.expand_path(File.dirname(__FILE__) + "/../../../")}/config/boot"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'rake'
|
21
|
+
require 'rake/rdoctask'
|
22
|
+
require 'rake/testtask'
|
23
|
+
|
24
|
+
rspec_base = File.expand_path(RADIANT_ROOT + '/vendor/plugins/rspec/lib')
|
25
|
+
$LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
|
26
|
+
require 'spec/rake/spectask'
|
27
|
+
require 'cucumber'
|
28
|
+
require 'cucumber/rake/task'
|
29
|
+
|
30
|
+
# Cleanup the RADIANT_ROOT constant so specs will load the environment
|
31
|
+
Object.send(:remove_const, :RADIANT_ROOT)
|
32
|
+
|
33
|
+
extension_root = File.expand_path(File.dirname(__FILE__))
|
34
|
+
|
35
|
+
task :default => :spec
|
36
|
+
task :stats => "spec:statsetup"
|
37
|
+
|
38
|
+
desc "Run all specs in spec directory"
|
39
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
40
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
41
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
42
|
+
end
|
43
|
+
|
44
|
+
task :features => 'spec:integration'
|
45
|
+
|
46
|
+
namespace :spec do
|
47
|
+
desc "Run all specs in spec directory with RCov"
|
48
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
49
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
50
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
51
|
+
t.rcov = true
|
52
|
+
t.rcov_opts = ['--exclude', 'spec', '--rails']
|
53
|
+
end
|
54
|
+
|
55
|
+
desc "Print Specdoc for all specs"
|
56
|
+
Spec::Rake::SpecTask.new(:doc) do |t|
|
57
|
+
t.spec_opts = ["--format", "specdoc", "--dry-run"]
|
58
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
59
|
+
end
|
60
|
+
|
61
|
+
[:models, :controllers, :views, :helpers].each do |sub|
|
62
|
+
desc "Run the specs under spec/#{sub}"
|
63
|
+
Spec::Rake::SpecTask.new(sub) do |t|
|
64
|
+
t.spec_opts = ['--options', "\"#{extension_root}/spec/spec.opts\""]
|
65
|
+
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
desc "Run the Cucumber features"
|
70
|
+
Cucumber::Rake::Task.new(:integration) do |t|
|
71
|
+
t.fork = true
|
72
|
+
t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'pretty')]
|
73
|
+
# t.feature_pattern = "#{extension_root}/features/**/*.feature"
|
74
|
+
t.profile = "default"
|
75
|
+
end
|
76
|
+
|
77
|
+
# Setup specs for stats
|
78
|
+
task :statsetup do
|
79
|
+
require 'code_statistics'
|
80
|
+
::STATS_DIRECTORIES << %w(Model\ specs spec/models)
|
81
|
+
::STATS_DIRECTORIES << %w(View\ specs spec/views)
|
82
|
+
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers)
|
83
|
+
::STATS_DIRECTORIES << %w(Helper\ specs spec/views)
|
84
|
+
::CodeStatistics::TEST_TYPES << "Model specs"
|
85
|
+
::CodeStatistics::TEST_TYPES << "View specs"
|
86
|
+
::CodeStatistics::TEST_TYPES << "Controller specs"
|
87
|
+
::CodeStatistics::TEST_TYPES << "Helper specs"
|
88
|
+
::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
|
89
|
+
end
|
90
|
+
|
91
|
+
namespace :db do
|
92
|
+
namespace :fixtures do
|
93
|
+
desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y"
|
94
|
+
task :load => :environment do
|
95
|
+
require 'active_record/fixtures'
|
96
|
+
ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
|
97
|
+
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
|
98
|
+
Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
desc 'Generate documentation for the de extension.'
|
106
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
107
|
+
rdoc.rdoc_dir = 'rdoc'
|
108
|
+
rdoc.title = 'I18nDeExtension'
|
109
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
110
|
+
rdoc.rdoc_files.include('README')
|
111
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
112
|
+
end
|
113
|
+
|
114
|
+
# For extensions that are in transition
|
115
|
+
desc 'Test the de extension.'
|
116
|
+
Rake::TestTask.new(:test) do |t|
|
117
|
+
t.libs << 'lib'
|
118
|
+
t.pattern = 'test/**/*_test.rb'
|
119
|
+
t.verbose = true
|
120
|
+
end
|
121
|
+
|
122
|
+
# Load any custom rakefiles for extension
|
123
|
+
Dir[File.dirname(__FILE__) + '/tasks/*.rake'].sort.each { |f| require f }
|
@@ -0,0 +1,428 @@
|
|
1
|
+
---
|
2
|
+
de:
|
3
|
+
account: 'Konto'
|
4
|
+
activerecord:
|
5
|
+
errors:
|
6
|
+
messages:
|
7
|
+
not_a_page: 'muss eine gültige Seite sein'
|
8
|
+
not_permitted: 'muss ein erlaubter Wert sein'
|
9
|
+
template:
|
10
|
+
|
11
|
+
full_messages:
|
12
|
+
format: "%{attribute} %{message}"
|
13
|
+
|
14
|
+
models:
|
15
|
+
page:
|
16
|
+
attributes:
|
17
|
+
slug:
|
18
|
+
taken: 'Slug schon als Kind dieser Seite in Benutzung' # slug_in_use
|
19
|
+
user:
|
20
|
+
attributes:
|
21
|
+
email:
|
22
|
+
invalid: 'Ungültige E-Mail-Adresse' # invalid_email
|
23
|
+
login:
|
24
|
+
taken: 'Login schon in Benutzung' # login already in use
|
25
|
+
password:
|
26
|
+
confirmation: 'muss der Bestätigung entsprechen' # password_confirmation
|
27
|
+
|
28
|
+
add_child: 'Neue Unterseite'
|
29
|
+
add_field: 'Neues Feld'
|
30
|
+
add_part: 'Neuer Part'
|
31
|
+
add_tab: 'fügt Tab ein'
|
32
|
+
admin: 'Administrator'
|
33
|
+
available_tags: 'Verfügbare Tags'
|
34
|
+
available_tags_for: 'Verfügbare Tags für {{name}}'
|
35
|
+
body: 'Inhalt'
|
36
|
+
breadcrumb: 'Breadcrumb'
|
37
|
+
buttons:
|
38
|
+
create: '{{name}} erstellen'
|
39
|
+
save_and_continue: 'Speichern und weiterbearbeiten'
|
40
|
+
save_changes: 'Änderungen speichern'
|
41
|
+
cancel: 'Abbrechen'
|
42
|
+
change: 'Ändern'
|
43
|
+
close: 'Schliessen'
|
44
|
+
config:
|
45
|
+
admin:
|
46
|
+
title: 'Admin-Überschrift'
|
47
|
+
defaults:
|
48
|
+
locale: 'Standardsprache'
|
49
|
+
page:
|
50
|
+
fields: 'Seitenfelder'
|
51
|
+
filter: 'Seitenfilter'
|
52
|
+
parts: 'Seitenteile'
|
53
|
+
status: 'Seitenstatus'
|
54
|
+
snippet:
|
55
|
+
filter: 'Snippetfilter'
|
56
|
+
dev:
|
57
|
+
host: 'Entwicklungsname'
|
58
|
+
local:
|
59
|
+
timezone: 'Lokale Zeitzone'
|
60
|
+
site:
|
61
|
+
host: 'Website-Domain'
|
62
|
+
title: 'Website-Titel'
|
63
|
+
user:
|
64
|
+
allow_password_reset?: 'Passwort zurücksetzbar?'
|
65
|
+
content: 'Inhalt'
|
66
|
+
content_type: 'Inhalt‑Typ'
|
67
|
+
creating_status: 'Erzeuge {{model}}…'
|
68
|
+
date:
|
69
|
+
abbr_day_names:
|
70
|
+
- So
|
71
|
+
- Mo
|
72
|
+
- Di
|
73
|
+
- Mi
|
74
|
+
- Do
|
75
|
+
- Fr
|
76
|
+
- Sa
|
77
|
+
abbr_month_names:
|
78
|
+
- ~
|
79
|
+
- Jan
|
80
|
+
- Feb
|
81
|
+
- Mär
|
82
|
+
- Apr
|
83
|
+
- Mai
|
84
|
+
- Jun
|
85
|
+
- Jul
|
86
|
+
- Aug
|
87
|
+
- Sep
|
88
|
+
- Okt
|
89
|
+
- Nov
|
90
|
+
- Dez
|
91
|
+
day_names:
|
92
|
+
- Sonntag
|
93
|
+
- Montag
|
94
|
+
- Dienstag
|
95
|
+
- Mittwoch
|
96
|
+
- Donnerstag
|
97
|
+
- Freitag
|
98
|
+
- Samstag
|
99
|
+
formats:
|
100
|
+
default: '%d.%m.%Y'
|
101
|
+
long: '%e. %B %Y'
|
102
|
+
only_day: '%e'
|
103
|
+
short: '%e. %b'
|
104
|
+
month_names:
|
105
|
+
- ~
|
106
|
+
- Januar
|
107
|
+
- Februar
|
108
|
+
- März
|
109
|
+
- April
|
110
|
+
- Mai
|
111
|
+
- Juni
|
112
|
+
- Juli
|
113
|
+
- August
|
114
|
+
- September
|
115
|
+
- Oktober
|
116
|
+
- November
|
117
|
+
- Dezember
|
118
|
+
order:
|
119
|
+
- :day
|
120
|
+
- :month
|
121
|
+
- :year
|
122
|
+
|
123
|
+
datetime:
|
124
|
+
distance_in_words:
|
125
|
+
half_a_minute: 'eine halbe Minute'
|
126
|
+
less_than_x_seconds:
|
127
|
+
one: 'weniger als eine Sekunde'
|
128
|
+
other: 'weniger als %{count} Sekunden'
|
129
|
+
x_seconds:
|
130
|
+
one: 'eine Sekunde'
|
131
|
+
other: '%{count} Sekunden'
|
132
|
+
less_than_x_minutes:
|
133
|
+
one: 'weniger als eine Minute'
|
134
|
+
other: 'weniger als %{count} Minuten'
|
135
|
+
x_minutes:
|
136
|
+
one: 'eine Minute'
|
137
|
+
other: '%{count} Minuten'
|
138
|
+
about_x_hours:
|
139
|
+
one: 'etwa eine Stunde'
|
140
|
+
other: 'etwa %{count} Stunden'
|
141
|
+
x_days:
|
142
|
+
one: 'ein Tag'
|
143
|
+
other: '%{count} Tage'
|
144
|
+
about_x_months:
|
145
|
+
one: 'etwa ein Monat'
|
146
|
+
other: 'etwa %{count} Monate'
|
147
|
+
x_months:
|
148
|
+
one: 'ein Monat'
|
149
|
+
other: '%{count} Monate'
|
150
|
+
almost_x_years:
|
151
|
+
one: 'fast ein Jahr'
|
152
|
+
other: 'fast %{count} Jahre'
|
153
|
+
about_x_years:
|
154
|
+
one: 'etwa ein Jahr'
|
155
|
+
other: 'etwa %{count} Jahre'
|
156
|
+
over_x_years:
|
157
|
+
one: 'mehr als ein Jahr'
|
158
|
+
other: 'mehr als %{count} Jahre'
|
159
|
+
prompts:
|
160
|
+
second: "Sekunden"
|
161
|
+
minute: "Minuten"
|
162
|
+
hour: "Stunden"
|
163
|
+
day: "Tag"
|
164
|
+
month: "Monat"
|
165
|
+
year: "Jahr"
|
166
|
+
|
167
|
+
delete_layout: 'Layout löschen'
|
168
|
+
delete_pages: 'Lösche {{pages}}'
|
169
|
+
delete_snippet: 'Snippet löschen'
|
170
|
+
delete_user: 'Benutzer löschen'
|
171
|
+
description: 'Beschreibung'
|
172
|
+
design: 'Design'
|
173
|
+
designer: 'Designer'
|
174
|
+
draft: 'Entwurf'
|
175
|
+
edit: 'Bearbeiten'
|
176
|
+
edit_configuration: 'Konfiguration bearbeiten'
|
177
|
+
edit_layout: 'Layout bearbeiten'
|
178
|
+
edit_page: 'Seite bearbeiten'
|
179
|
+
edit_preferences: 'Voreinstellungen bearbeiten'
|
180
|
+
edit_settings: 'Einstellungen bearbeiten'
|
181
|
+
edit_snippet: 'Snippet bearbeiten'
|
182
|
+
edit_user: 'Benutzer bearbeiten'
|
183
|
+
email_address: 'E-Mail Adresse'
|
184
|
+
errors:
|
185
|
+
format: "%{attribute} %{message}"
|
186
|
+
|
187
|
+
messages: &errors_messages
|
188
|
+
inclusion: "ist kein gültiger Wert"
|
189
|
+
exclusion: "ist nicht verfügbar"
|
190
|
+
invalid: "ist nicht gültig"
|
191
|
+
confirmation: "stimmt nicht mit der Bestätigung überein"
|
192
|
+
accepted: "muss akzeptiert werden"
|
193
|
+
empty: "muss ausgefüllt werden"
|
194
|
+
blank: "muss ausgefüllt werden"
|
195
|
+
too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
|
196
|
+
too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
|
197
|
+
wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
|
198
|
+
not_a_number: "ist keine Zahl"
|
199
|
+
greater_than: "muss größer als %{count} sein"
|
200
|
+
greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
|
201
|
+
equal_to: "muss genau %{count} sein"
|
202
|
+
less_than: "muss kleiner als %{count} sein"
|
203
|
+
less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
|
204
|
+
odd: "muss ungerade sein"
|
205
|
+
even: "muss gerade sein"
|
206
|
+
not_an_integer: "muss ganzzahlig sein"
|
207
|
+
taken: "ist bereits vergeben"
|
208
|
+
record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
|
209
|
+
template: &errors_template
|
210
|
+
header:
|
211
|
+
one: "Konnte %{model} nicht speichern: ein Fehler."
|
212
|
+
other: "Konnte %{model} nicht speichern: %{count} Fehler."
|
213
|
+
body: "Bitte überprüfen Sie die folgenden Felder:"
|
214
|
+
|
215
|
+
extension: 'Erweiterung'
|
216
|
+
extensions: 'Erweiterungen'
|
217
|
+
filter: 'Filter'
|
218
|
+
helpers:
|
219
|
+
select:
|
220
|
+
prompt: "Bitte wählen"
|
221
|
+
|
222
|
+
submit:
|
223
|
+
create: '%{model} erstellen'
|
224
|
+
update: '%{model} aktualisieren'
|
225
|
+
submit: '%{model} speichern'
|
226
|
+
|
227
|
+
hidden: 'Versteckt'
|
228
|
+
hide: 'Verstecken'
|
229
|
+
keywords: 'Schlüsselworte'
|
230
|
+
language: 'Sprache'
|
231
|
+
layout: 'Layout'
|
232
|
+
layouts: 'Layouts'
|
233
|
+
log_out: 'Abmelden'
|
234
|
+
logged_in_as: 'Angemeldet als'
|
235
|
+
login: 'Benutzername'
|
236
|
+
modify: 'Bearbeiten'
|
237
|
+
more: 'Mehr'
|
238
|
+
more_info: 'Mehr Information'
|
239
|
+
name: 'Name'
|
240
|
+
new_homepage: 'Neue Startseite'
|
241
|
+
new_layout: 'Neues Layout'
|
242
|
+
new_page: 'Neue Seite'
|
243
|
+
new_password: 'Neues Passwort'
|
244
|
+
new_snippet: 'Neues Snippet'
|
245
|
+
new_user: 'Neuer Benutzer'
|
246
|
+
'no': 'Nein' #yes/no/true/false are treated as booleans unless Strings, see http://www.yaml.org/refcard.html
|
247
|
+
no_layouts: 'Keine Layouts'
|
248
|
+
no_pages: 'Keine Seiten'
|
249
|
+
no_snippets: 'Keine Snippets'
|
250
|
+
normal_page: 'Normale Seite'
|
251
|
+
notes: 'Notizen'
|
252
|
+
number:
|
253
|
+
format:
|
254
|
+
precision: 2
|
255
|
+
separator: ','
|
256
|
+
delimiter: '.'
|
257
|
+
significant: false
|
258
|
+
strip_insignificant_zeros: false
|
259
|
+
currency:
|
260
|
+
format:
|
261
|
+
unit: '€'
|
262
|
+
format: '%n %u'
|
263
|
+
separator: ","
|
264
|
+
delimiter: "."
|
265
|
+
precision: 2
|
266
|
+
significant: false
|
267
|
+
strip_insignificant_zeros: false
|
268
|
+
percentage:
|
269
|
+
format:
|
270
|
+
delimiter: ""
|
271
|
+
precision:
|
272
|
+
format:
|
273
|
+
delimiter: ""
|
274
|
+
human:
|
275
|
+
format:
|
276
|
+
delimiter: ""
|
277
|
+
precision: 1
|
278
|
+
significant: true
|
279
|
+
strip_insignificant_zeros: true
|
280
|
+
storage_units:
|
281
|
+
# Storage units output formatting.
|
282
|
+
# %u is the storage unit, %n is the number (default: 2 MB)
|
283
|
+
format: "%n %u"
|
284
|
+
units:
|
285
|
+
byte:
|
286
|
+
one: "Byte"
|
287
|
+
other: "Bytes"
|
288
|
+
kb: "KB"
|
289
|
+
mb: "MB"
|
290
|
+
gb: "GB"
|
291
|
+
tb: "TB"
|
292
|
+
decimal_units:
|
293
|
+
format: "%n %u"
|
294
|
+
units:
|
295
|
+
unit: ""
|
296
|
+
thousand: Tausend
|
297
|
+
million: Millionen
|
298
|
+
billion:
|
299
|
+
one: Milliarde
|
300
|
+
other: Milliarden
|
301
|
+
trillion: Billionen
|
302
|
+
quadrillion:
|
303
|
+
one: Billiarde
|
304
|
+
other: Billiarden
|
305
|
+
|
306
|
+
optional: 'Optional'
|
307
|
+
or: 'oder'
|
308
|
+
page: 'Seite'
|
309
|
+
page_hierarchy: 'Seitenhierarchie der aktuellen Seite'
|
310
|
+
page_page: 'Seitenpart'
|
311
|
+
page_title: 'Seitentitel'
|
312
|
+
page_type: 'Seitentyp'
|
313
|
+
pages: 'Seiten'
|
314
|
+
pages_controller:
|
315
|
+
removed_many: 'Die Seiten wurden erfolgreich gelöscht.'
|
316
|
+
removed_one: 'Die Seite wurde erfolgreich gelöscht.'
|
317
|
+
saved: 'Ihre Seite wurde gespeichert.'
|
318
|
+
password: 'Passwort'
|
319
|
+
password_confirmation: 'Neues Passwort bestätigen'
|
320
|
+
personal: 'Persönlich'
|
321
|
+
personal_preferences: 'Persönliche Einstellungen'
|
322
|
+
please_login: 'Bitte Anmelden'
|
323
|
+
powered_by: 'Powered by'
|
324
|
+
preferences: 'Einstellungen'
|
325
|
+
preferences_controller:
|
326
|
+
error_updating: 'Beim Aktualisieren Ihrer Einstellungen ist ein Fehler aufgetreten.'
|
327
|
+
updated: 'Ihre Einstellungen wurden aktualisiert.'
|
328
|
+
preview: 'Vorschau'
|
329
|
+
published: 'Veröffentlicht'
|
330
|
+
published_at: 'Veröffentlicht am'
|
331
|
+
published_on: 'Veröffentlicht am'
|
332
|
+
reference: 'Referenz'
|
333
|
+
remember_me: 'Merken'
|
334
|
+
remember_me_in_this_browser: 'Anmeldung in diesem Browser merken.'
|
335
|
+
remove: 'Löschen'
|
336
|
+
remove_field: 'Feld löschen'
|
337
|
+
remove_layout: 'Layout löschen'
|
338
|
+
remove_page: 'Seite löschen'
|
339
|
+
remove_pages: '{{pages}} löschen'
|
340
|
+
remove_snippet: 'Snippet löschen'
|
341
|
+
remove_tab: 'Tab löschen'
|
342
|
+
remove_user: 'Benutzer löschen'
|
343
|
+
required: 'erforderlich'
|
344
|
+
resource_controller:
|
345
|
+
not_found: '{{humanized_model_name}} wurde nicht gefunden.'
|
346
|
+
removed: '{{humanized_model_name}} wurde gelöscht.'
|
347
|
+
saved: '{{humanized_model_name}} wurde gespeichert.'
|
348
|
+
update_conflict: 'Seit dem letzten Laden wurde {{humanized_model_name}} geändert. Änderungen können nicht ohne Verlust gespeichert werden.'
|
349
|
+
validation_errors: 'Beim Validieren dieses Formulars sind Fehler aufgetreten. Bitte überprüfen Sie die Eingaben und korrigieren Sie die Fehler.'
|
350
|
+
reviewed: 'Überprüft'
|
351
|
+
roles: 'Rollen'
|
352
|
+
saving_changes: Änderungen werden gespeichert
|
353
|
+
saving_preferences: Einstellungen werden gespeichert
|
354
|
+
scheduled: Geplant
|
355
|
+
search_tags: 'Tags durchsuchen:'
|
356
|
+
select:
|
357
|
+
default: '<Standardwert>'
|
358
|
+
inherit: '<Vererbt>'
|
359
|
+
none: '<Keine>'
|
360
|
+
normal: '<Normal>'
|
361
|
+
settings: 'Einstellungen'
|
362
|
+
show_all: 'Alle zeigen'
|
363
|
+
slug: 'Slug'
|
364
|
+
snippet: 'Snippet'
|
365
|
+
snippets: 'Snippets'
|
366
|
+
status: 'Status'
|
367
|
+
support:
|
368
|
+
array:
|
369
|
+
words_connector: ", "
|
370
|
+
two_words_connector: " und "
|
371
|
+
last_word_connector: " und "
|
372
|
+
select:
|
373
|
+
prompt: "Bitte wählen:"
|
374
|
+
|
375
|
+
# Warnings and info text:
|
376
|
+
testing: Testing
|
377
|
+
text:
|
378
|
+
layouts:
|
379
|
+
remove_warning: "Sie sind sicher, das folgende Layout <strong class='warning'>dauerhaft entfernen</strong> zu wollen?"
|
380
|
+
pages:
|
381
|
+
remove_warning: "Sie sind sicher, folgende {{pages}} <strong class='warning'>dauerhaft entfernen</strong> zu wollen?"
|
382
|
+
snippets:
|
383
|
+
remove_warning: "Sind Sie sich sicher, dass Sie das folgende Snippet <strong class='warning'>dauerhaft entfernen</strong> wollen?"
|
384
|
+
users:
|
385
|
+
remove_warning: "Sind Sie sich sicher, dass Sie den Benutzer <strong class='warning'>dauerhaft entfernen</strong> möchten?"
|
386
|
+
this_file_language: 'Deutsch'
|
387
|
+
time:
|
388
|
+
am: "vormittags"
|
389
|
+
formats:
|
390
|
+
datetime:
|
391
|
+
formats:
|
392
|
+
default: '%Y-%m-%dT%H:%M:%S%Z'
|
393
|
+
default: "%A, %d. %B %Y, %H:%M Uhr"
|
394
|
+
long: "%A, %d. %B %Y, %H:%M Uhr"
|
395
|
+
only_second: '%S'
|
396
|
+
short: "%d. %B, %H:%M Uhr"
|
397
|
+
time: '%H:%M Uhr'
|
398
|
+
timestamp: '%H:%M am %d. %B, %Y'
|
399
|
+
pm: "nachmittags"
|
400
|
+
timestamp:
|
401
|
+
at: 'um'
|
402
|
+
by: 'von'
|
403
|
+
last_updated: 'Zuletzt geändert'
|
404
|
+
type: 'Typ'
|
405
|
+
units:
|
406
|
+
GB: 'GB'
|
407
|
+
KB: 'KB'
|
408
|
+
MB: 'MB'
|
409
|
+
days: 'Tage'
|
410
|
+
hours: 'Stunden'
|
411
|
+
minutes: 'Minuten'
|
412
|
+
months: 'Monate'
|
413
|
+
seconds: 'Sekunden'
|
414
|
+
weeks: 'Wochen'
|
415
|
+
user: 'Benutzer'
|
416
|
+
username: 'Benutzername'
|
417
|
+
username_or_email: 'Benutzername oder Email-Adresse'
|
418
|
+
users: 'Benutzer'
|
419
|
+
users_controller:
|
420
|
+
cannot_delete_self: 'Sie können sich nicht selbst löschen.'
|
421
|
+
version: 'Version'
|
422
|
+
view_site: 'Website'
|
423
|
+
warning: 'Warnung'
|
424
|
+
website: 'Website'
|
425
|
+
welcome_controller:
|
426
|
+
invalid_user: 'Ungültiger Benutzername oder Passwort.'
|
427
|
+
logged_out: 'Sie sind jetzt ausgeloggt.'
|
428
|
+
'yes': 'Ja' #yes/no/true/false are treated as booleans unless Strings, see http://www.yaml.org/refcard.html
|
@@ -0,0 +1,624 @@
|
|
1
|
+
---
|
2
|
+
de:
|
3
|
+
desc:
|
4
|
+
author:
|
5
|
+
Autor der aktuellen Seite.
|
6
|
+
|
7
|
+
breadcrumb: |
|
8
|
+
@breadcrumb@-Attribut der aktuellen Seite.
|
9
|
+
|
10
|
+
breadcrumbs:
|
11
|
+
Gibt eine komplette Breadcrumb-Navigation bis zur aktuellen Seite aus. Der Separator
|
12
|
+
spezifiziert das HTML-Fragment, das zwischen die einzelnen Breadcrumbs eingefügt wird.
|
13
|
+
Der Default dafür ist @>@. Das bool'sche Attribut 'nolinks' kann verwendet werden, um die
|
14
|
+
Breadcrumbs als reinen Text (ohne Links) anzuzeigen. Das kann zum Generieren des
|
15
|
+
Title-Tags verwendet werden.
|
16
|
+
|
17
|
+
*Verwendung:*
|
18
|
+
|
19
|
+
<pre><code><r:breadcrumbs [separator="separator_string"] [nolinks="true"] /></code></pre>
|
20
|
+
|
21
|
+
children-count:
|
22
|
+
Gibt die Gesamtzahl der Kinder dieser Seite aus.
|
23
|
+
|
24
|
+
children-each:
|
25
|
+
Gibt alle Kinder aus. Innerhalb dieses Tags werden alle Seitenattribut-Tags
|
26
|
+
auf die aktuelle Kind-Seite gemappt.
|
27
|
+
|
28
|
+
Mit @paginated="true"@ wird eine paginierte Liste ausgegeben. Die @will_paginate@-Optionen
|
29
|
+
können ebenfalls angegeben werden, einschließlich
|
30
|
+
@per_page@, @previous_label@, @next_label@, @separator@, @inner_window@ und @outer_window@.
|
31
|
+
|
32
|
+
*Verwendung:*
|
33
|
+
|
34
|
+
<pre><code><r:children:each [offset="number"] [limit="number"]
|
35
|
+
[by="published_at|updated_at|created_at|slug|title|keywords|des</code><code>cription"]
|
36
|
+
[order="asc|des</code><code>c"] [status="draft|reviewed|published|hidden|all"]
|
37
|
+
[paginated="true"] [per_page="number"]>
|
38
|
+
...
|
39
|
+
</r:children:each>
|
40
|
+
</code></pre>
|
41
|
+
|
42
|
+
|
43
|
+
children-each-child:
|
44
|
+
Seiten-Attribut-Tags innerhalb dieses Tags beziehen sich auf das aktuelle Kind. Das ist
|
45
|
+
manchmal nützlich, wenn man sich innerhalb eines anderen Tags befindet (z.B. <r:find>)
|
46
|
+
und auf das aktuelle Kind zurückverweisen will.
|
47
|
+
|
48
|
+
*Verwendung:*
|
49
|
+
|
50
|
+
<pre><code><r:children:each>
|
51
|
+
<r:child>...</r:child>
|
52
|
+
</r:children:each>
|
53
|
+
</code></pre>
|
54
|
+
|
55
|
+
children-each-header:
|
56
|
+
Gibt den Tag-Inhalt nur aus, wenn er nicht mit dem vorherigen Header übereinstimmt.
|
57
|
+
Sehr nützlich zum Anzeigen des Date-Headers für eine Liste von Kind-Seiten.
|
58
|
+
|
59
|
+
Wenn mehrere Header-Blocks ausgegeben werden sollen, kann das @name@-Attribut
|
60
|
+
für den Namen des Headers verwendet werden. Ein benamter Header wird nicht ausgegeben,
|
61
|
+
bis ein anderer Header mit dem gleichen Namen einen anderen Inhalt hat.
|
62
|
+
|
63
|
+
Mit dem @restart@-Attribut können andere Header zum Neustart verwendet werden,
|
64
|
+
wenn sich der jetzige Header ändert. Dazu müssen die Namen der anderen Header
|
65
|
+
in einer mit Semikolon getrennten Liste spezifiziert werden.
|
66
|
+
|
67
|
+
*Verwendung:*
|
68
|
+
|
69
|
+
<pre><code><r:children:each>
|
70
|
+
<r:header [name="header_name"] [restart="name1[;name2;...]"]>
|
71
|
+
...
|
72
|
+
</r:header>
|
73
|
+
</r:children:each>
|
74
|
+
</code></pre>
|
75
|
+
|
76
|
+
children-each-if_first:
|
77
|
+
Gibt den Tag-Inhalt nur aus, wenn die aktuelle Seite das erste Kind im Kontext
|
78
|
+
eines children:each-Tag ist.
|
79
|
+
|
80
|
+
*Verwendung:*
|
81
|
+
|
82
|
+
<pre><code><r:children:each>
|
83
|
+
<r:if_first >
|
84
|
+
...
|
85
|
+
</r:if_first>
|
86
|
+
</r:children:each>
|
87
|
+
</code></pre>
|
88
|
+
|
89
|
+
|
90
|
+
children-each-if_last:
|
91
|
+
Gibt den Tag-Inhalt nur aus, wenn die aktuelle Seite das letzte Kind im Kontext
|
92
|
+
eines children:each-Tag ist.
|
93
|
+
|
94
|
+
*Verwendung:*
|
95
|
+
|
96
|
+
<pre><code><r:children:each>
|
97
|
+
<r:if_last >
|
98
|
+
...
|
99
|
+
</r:if_last>
|
100
|
+
</r:children:each>
|
101
|
+
</code></pre>
|
102
|
+
|
103
|
+
|
104
|
+
children-each-unless_first:
|
105
|
+
Gibt den Tag-Inhalt aus, bis die aktuelle Seite das erste Kind im Kontext
|
106
|
+
eines children:each-Tag ist.
|
107
|
+
|
108
|
+
*Verwendung:*
|
109
|
+
|
110
|
+
<pre><code><r:children:each>
|
111
|
+
<r:unless_first >
|
112
|
+
...
|
113
|
+
</r:unless_first>
|
114
|
+
</r:children:each>
|
115
|
+
</code></pre>
|
116
|
+
|
117
|
+
|
118
|
+
children-each-unless_last:
|
119
|
+
Gibt den Tag-Inhalt aus, bis die aktuelle Seite das letzte Kind im Kontext
|
120
|
+
eines children:each-Tag ist.
|
121
|
+
|
122
|
+
*Verwendung:*
|
123
|
+
|
124
|
+
<pre><code><r:children:each>
|
125
|
+
<r:unless_last >
|
126
|
+
...
|
127
|
+
</r:unless_last>
|
128
|
+
</r:children:each>
|
129
|
+
</code></pre>
|
130
|
+
|
131
|
+
|
132
|
+
children-first:
|
133
|
+
Gibt das erste Kind aus. Innerhalb dieses Tags werden alle Seitenattribut-Tags
|
134
|
+
auf die erste Kind-Seite gemappt. Benutzt die selben Sortieroptionen wie
|
135
|
+
@<r:children:each>@.
|
136
|
+
|
137
|
+
*Verwendung:*
|
138
|
+
|
139
|
+
<pre><code><r:children:first>...</r:children:first></code></pre>
|
140
|
+
|
141
|
+
children-last:
|
142
|
+
Gibt das letzte Kind aus. Innerhalb dieses Tags werden alle Seitenattribut-Tags
|
143
|
+
auf die erste Kind-Seite gemappt. Benutzt die selben Sortieroptionen wie
|
144
|
+
@<r:children:each>@.
|
145
|
+
|
146
|
+
*Verwendung:*
|
147
|
+
|
148
|
+
<pre><code><r:children:last>...</r:children:last></code></pre>
|
149
|
+
|
150
|
+
children:
|
151
|
+
Ermöglicht Zugriff auf alle Kinder der Seite.
|
152
|
+
|
153
|
+
*Verwendung:*
|
154
|
+
|
155
|
+
<pre><code><r:children>...</r:children></code></pre>
|
156
|
+
|
157
|
+
comment:
|
158
|
+
Der Inhalt innerhalb eines Kommentar-Tags wird nicht ausgegeben.
|
159
|
+
|
160
|
+
*Verwendung:*
|
161
|
+
|
162
|
+
<pre><code><r:comment>...</r:comment></code></pre>
|
163
|
+
|
164
|
+
content:
|
165
|
+
Gibt den Hauptinhalt einer Seite aus. Mit dem @part@-Attribut kann ein spezifischer
|
166
|
+
Page-Part ausgewählt werden. Default für das @part@ Attribut ist 'body'
|
167
|
+
genommen. Das @inherit@-Attribut legt fest, daß wenn eine Seite keinen Content-Part
|
168
|
+
mit diesem Namen besitzt, das Tag den entprechenden Content-Part der Eltern-Seite
|
169
|
+
ausgibt. Der Default für @inherit@ ist 'false'. Das @contextual@-Attribut wird
|
170
|
+
benutzt, um die Auswertung des Parts einer vererbten Seite im Kontext der
|
171
|
+
Kind-Seite zu erzwingen. Der Default für @contextual@ ist 'true'.
|
172
|
+
|
173
|
+
*Verwendung:*
|
174
|
+
|
175
|
+
<pre><code><r:content [part="part_name"] [inherit="true|false"] [contextual="true|false"] /></code></pre>
|
176
|
+
|
177
|
+
cycle:
|
178
|
+
Gibt einen der übergebenen Werte basierend auf einem globalen Zyklus-Zähler aus. Das
|
179
|
+
@reset@-Attribut setzt den Zähler auf den Anfang zurück. Mit dem @name@-Attribut
|
180
|
+
können mehrere Zyklen benutzt werden. Der Default dafür ist 'cycle'.
|
181
|
+
|
182
|
+
*Verwendung:*
|
183
|
+
|
184
|
+
<pre><code><r:cycle values="first, second, third" [reset="true|false"] [name="cycle"] /></code></pre>
|
185
|
+
|
186
|
+
date:
|
187
|
+
Gibt das Datum der aktuellen Seite aus (als Default wird das Anlege- oder Publikations-Datum
|
188
|
+
genommen). Das @format@-Attribut benutzt die Format-Codes der Ruby-Funktion @strftime@. Als
|
189
|
+
Default dient '%A, %B %d, %Y'. Das @for@-Attribut bestimmt das Datum,
|
190
|
+
das ausgegeben wird. Die gültigen Optionen sind @published_at@, @created_at@, @updated_at@, und @now@.
|
191
|
+
@now@ gibt das (von der Seite unabhängige) aktuelle Datum/Zeit aus.
|
192
|
+
|
193
|
+
*Verwendung:*
|
194
|
+
|
195
|
+
<pre><r:date [format="%A, %B % d, %Y"] [for="published_at"]/></pre>
|
196
|
+
|
197
|
+
escape_html:
|
198
|
+
Escaped spitze Klammern, damit sie als HTML ausgegeben werden können.
|
199
|
+
|
200
|
+
*Verwendung:*
|
201
|
+
|
202
|
+
<pre><code><r:escape_html>...</r:escape_html></code></pre>
|
203
|
+
|
204
|
+
find:
|
205
|
+
Innerhalb dieses Tags beziehen sich alle seitenabhängigen Tags auf die Seite, die
|
206
|
+
das @url@-Attribut bezeichnet. @url@s können relative oder absolute Pfade sein.
|
207
|
+
|
208
|
+
*Verwendung:*
|
209
|
+
|
210
|
+
<pre><code><r:find url="value_to_find">...</r:find></code></pre>
|
211
|
+
|
212
|
+
gravatar:
|
213
|
+
Gibt den Gravatar des Seitenautors aus.
|
214
|
+
|
215
|
+
*Verwendung:*
|
216
|
+
|
217
|
+
<pre><code> <r:gravatar /></code></pre>
|
218
|
+
|
219
|
+
Oder
|
220
|
+
|
221
|
+
<pre><code> <r:gravatar [name="User Name"] [rating="G | PG | R | X"] [size="32px"] /> </code></pre>
|
222
|
+
|
223
|
+
|
224
|
+
if_ancestor_or_self:
|
225
|
+
Gibt die enthaltenen Elemente aus, wenn der aktuelle Seitenkontext entweder die tatsächliche Seite
|
226
|
+
oder eine der Elternseiten ist.
|
227
|
+
|
228
|
+
Wird typischerweise innerhalb eines anderen Tags wie (<r:children:each>) verwendet,
|
229
|
+
um Markup auszugeben, wenn das Kind-Element von der aktuellen Seite abstammt.
|
230
|
+
|
231
|
+
*Verwendung:*
|
232
|
+
|
233
|
+
<pre><code><r:if_ancestor_or_self>...</r:if_ancestor_or_self></code></pre>
|
234
|
+
|
235
|
+
if_children:
|
236
|
+
Gibt die enthaltenen Elemente nur aus, wenn der Seitenkontext ein oder mehrere Kind-Seiten
|
237
|
+
hat. Das @status@-Attribut schränkt die gefundenen Kind-Seiten auf den angegebenen Status
|
238
|
+
ein. Default dafür ist @published@. Mit @status="all"@ werden alle nicht-virtuellen Kind-Seiten
|
239
|
+
unabhängig vom Status gefunden.
|
240
|
+
|
241
|
+
*Verwendung:*
|
242
|
+
|
243
|
+
<pre><code><r:if_children [status="published"]>...</r:if_children></code></pre>
|
244
|
+
|
245
|
+
if_content:
|
246
|
+
Gibt die enthaltenen Elemente nur aus, wenn alle angegebenen Parts auf der Seite
|
247
|
+
existieren. Default ist @body@, es können aber auch mehrere Parts als durch Kommas getrennte
|
248
|
+
Liste angegeben werden. Wird das optionale @inherit@-Attribut auf @true@ gesetzt,
|
249
|
+
werden Kinder unabhängig von jedem Part gefunden. Default dafür ist @false@.
|
250
|
+
|
251
|
+
Wird mehr als ein Part ausgegeben, kann das @find@-Attribut auf den Wert @any@ gesetzt
|
252
|
+
werden, damit die enthaltenen Elemente ausgegeben werden, wenn irgendeiner der angegebenen
|
253
|
+
Parts gefunden werden. Default für dieses Attribut ist @all@.
|
254
|
+
|
255
|
+
*Verwendung:*
|
256
|
+
|
257
|
+
<pre><code><r:if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r:if_content></code></pre>
|
258
|
+
|
259
|
+
if_dev:
|
260
|
+
Gibt die enthaltenen Elemente nur aus, wenn Radiant gerade im development-Modus läuft.
|
261
|
+
|
262
|
+
*Verwendung:*
|
263
|
+
|
264
|
+
<pre><code><r:if_dev>...</r:if_dev></code></pre>
|
265
|
+
|
266
|
+
if_parent:
|
267
|
+
Gibt die enthaltenen Elemente nur aus, wenn die aktuelle Seite Eltern hat, d.h. es handelt
|
268
|
+
sich nicht um die Startseite.
|
269
|
+
|
270
|
+
*Verwendung:*
|
271
|
+
|
272
|
+
<pre><code><r:if_parent>...</r:if_parent></code></pre>
|
273
|
+
|
274
|
+
if_self:
|
275
|
+
Gibt die enthaltenen Elemente nur aus, falls der aktuelle Seitenkontext auch
|
276
|
+
die aktuelle Seite ist.
|
277
|
+
|
278
|
+
Wird typischerweise innerhalb eines anderen Tags (wie <r:children:each>)
|
279
|
+
benutzt, um zusätzlichen Markup auszugeben, falls das Kind-Elemente die aktuelle Seite ist.
|
280
|
+
|
281
|
+
*Verwendung:*
|
282
|
+
|
283
|
+
<pre><code><r:if_self>...</r:if_self></code></pre>
|
284
|
+
|
285
|
+
if_url:
|
286
|
+
Gibt die enthaltenen Elemente nur aus, falls die Seiten-URL den im @matches@ angegebenen
|
287
|
+
regulären Ausdruck matcht. Ist @ignore_case@ auf 'false' gesetzt wird dabei Groß-/Kleinschreibung
|
288
|
+
beachtet. Default für @ignore_case@ ist 'true'.
|
289
|
+
|
290
|
+
*Verwendung:*
|
291
|
+
|
292
|
+
<pre><code><r:if_url matches="regexp" [ignore_case="true|false"]>...</r:if_url></code></pre>
|
293
|
+
|
294
|
+
link:
|
295
|
+
Gibt einen Link auf die Seite aus. Als Einzel-Tag wird der Seitentitel als
|
296
|
+
Link-Name benutzt. Als Doppel-Tag wird der Text zwischen den beiden Tags als
|
297
|
+
Link-Name genommen. Das link-Tag reicht alle Attribute an das HTML-@a@-Tag
|
298
|
+
weiter. Das ist nützlich, um Attribute wie @class@ oder @id@ weiterzureichen.
|
299
|
+
Falls das @anchor@-Attribut and das Tag weitergereicht wird, hängt es ein
|
300
|
+
Pound-Zeichen (<code>#</code>) gefolgt vom Wert des Attributs des HTML-@a@-Tag
|
301
|
+
@href@-Attributs. Dadurch wird ein HTML-Anchor erzeugt.
|
302
|
+
|
303
|
+
*Verwendung:*
|
304
|
+
|
305
|
+
<pre><code><r:link [anchor="name"] [other attributes...] /></code></pre>
|
306
|
+
|
307
|
+
oder
|
308
|
+
|
309
|
+
<pre><code><r:link [anchor="name"] [other attributes...]>link text here</r:link></code></pre>
|
310
|
+
|
311
|
+
markdown:
|
312
|
+
Der Inhalt wird mit dem Markdown-Filter gefiltert.
|
313
|
+
|
314
|
+
*Verwendung:*
|
315
|
+
|
316
|
+
<pre><code><r:markdown>** bold text **</r:markdown></code></pre>
|
317
|
+
|
318
|
+
erzeugt
|
319
|
+
|
320
|
+
<pre><code><strong> bold text </strong></code></pre>
|
321
|
+
|
322
|
+
meta-description:
|
323
|
+
Gibt das Seitenbeschreibungsfeld als Meta-Tag aus, solange 'tag'
|
324
|
+
auf 'false' gesetzt ist.
|
325
|
+
|
326
|
+
*Verwendung:*
|
327
|
+
|
328
|
+
<pre><code> <r:meta:des</code><code>cription [tag="false"] /> </code></pre>
|
329
|
+
|
330
|
+
meta-keywords:
|
331
|
+
Gibt die Keywords der Seite als Meta-Tag aus, solange 'tag'
|
332
|
+
auf 'false' gesetzt ist.
|
333
|
+
|
334
|
+
*Verwendung:*
|
335
|
+
|
336
|
+
<pre><code> <r:meta:keywords [tag="false"] /> </code></pre>
|
337
|
+
|
338
|
+
meta:
|
339
|
+
Der Namensraum des 'meta'-Attributs. Falls als Einzeltag genutzt, werden sowohl
|
340
|
+
Beschreibungs- und Keyword-Felder als <meta />-Tags ausgegeben, solange
|
341
|
+
das Attribut 'tag' auf 'false' gesetzt ist.
|
342
|
+
|
343
|
+
*Verwendung:*
|
344
|
+
|
345
|
+
<pre><code> <r:meta [tag="false"] />
|
346
|
+
<r:meta>
|
347
|
+
<r:des</code><code>cription [tag="false"] />
|
348
|
+
<r:keywords [tag="false"] />
|
349
|
+
</r:meta>
|
350
|
+
</code></pre>
|
351
|
+
|
352
|
+
navigation-if_first:
|
353
|
+
Gibt die enthaltenen Elemente aus, falls das Element das erste Element in der
|
354
|
+
Navigationsliste ist.
|
355
|
+
|
356
|
+
*Verwendung:*
|
357
|
+
|
358
|
+
<pre><code><r:normal><r:if_first>...</r:if_first></r:normal></code></pre>
|
359
|
+
|
360
|
+
navigation-if_last:
|
361
|
+
Gibt die enthaltenen Elemente aus, falls das Element das letzte Element in der
|
362
|
+
Navigationsliste ist.
|
363
|
+
|
364
|
+
*Verwendung:*
|
365
|
+
|
366
|
+
<pre><code><r:normal><r:if_last>...</r:if_last></r:normal></code></pre>
|
367
|
+
|
368
|
+
navigation-unless_first:
|
369
|
+
Gibt die enthaltenen Elemente aus, falls das Element nicht das erste Element in der
|
370
|
+
Navigationsliste ist.
|
371
|
+
|
372
|
+
*Verwendung:*
|
373
|
+
|
374
|
+
<pre><code><r:normal><r:unless_first>...</r:unless_first></r:normal></code></pre>
|
375
|
+
|
376
|
+
navigation-unless_last:
|
377
|
+
Gibt die enthaltenen Elemente aus, falls das Element nicht das letzte Element in der
|
378
|
+
Navigationsliste ist.
|
379
|
+
|
380
|
+
*Verwendung:*
|
381
|
+
|
382
|
+
<pre><code><r:normal><r:unless_last>...</r:unless_last></r:normal></code></pre>
|
383
|
+
|
384
|
+
navigation: |
|
385
|
+
Gibt eine Liste von Links (spezifiziert im @url@-Attribut) anhand der folgenden
|
386
|
+
drei Stati aus:
|
387
|
+
|
388
|
+
* @normal@ spezifiziert den normalen Link-Status
|
389
|
+
|
390
|
+
* @here@ spezifiziert den Link-Status, falls die URL die aktuelle Seiten-URL matcht
|
391
|
+
|
392
|
+
* @selected@ spezifiziert den Link-Status, wenn die aktuelle Seite ein Kind der
|
393
|
+
spezifizierten URL ist
|
394
|
+
|
395
|
+
# @if_last@ gibt den Inhalt innerhalb eines @normal@, @here@ or
|
396
|
+
@selected@ Tags aus, falls das Element das letzte Navigationselement ist.
|
397
|
+
|
398
|
+
# @if_first@ gibt den Inhalt innerhalb eines @normal@, @here@ or
|
399
|
+
@selected@ Tags aus, falls das Element das erste Navigationselement ist.
|
400
|
+
|
401
|
+
Das @between@-Tag legt fest, was zwischen den Links ausgegeben wird.
|
402
|
+
|
403
|
+
*Verwendung:*
|
404
|
+
|
405
|
+
<pre>
|
406
|
+
<code>
|
407
|
+
<r:navigation urls="[Title</code>:<code> url | Title</code>:<code> url | ...]">
|
408
|
+
<r:normal><a href="<r:url />"><r:title /></a></r:normal>
|
409
|
+
<r:here><strong><r:title /></strong></r:here>
|
410
|
+
<r:selected><strong><a href="<r:url />"><r:title /></a></strong></r:selected>
|
411
|
+
<r:between> | </r:between>
|
412
|
+
</r:navigation>
|
413
|
+
</code>
|
414
|
+
</pre>
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
page:
|
419
|
+
Legt fest, daß Tags, die auf Seitenattribute verweisen, sich auf die aktuelle
|
420
|
+
Seite beziehen.
|
421
|
+
|
422
|
+
*Verwendung:*
|
423
|
+
|
424
|
+
<pre><code><r:page>...</r:page></code></pre>
|
425
|
+
|
426
|
+
pagination:
|
427
|
+
Dieses Tag wird normalerweise nicht direkt aufgerufen. Mit dem Attribut @pagination="true"@
|
428
|
+
wird eine Liste beim Anzeigen automatisch paginiert.
|
429
|
+
|
430
|
+
*Verwendung:*
|
431
|
+
|
432
|
+
<pre><code>
|
433
|
+
<r:children:each paginated="true" per_page="50">
|
434
|
+
<r:child>...</r:child>
|
435
|
+
</r:children:each>
|
436
|
+
</code></pre>
|
437
|
+
|
438
|
+
parent:
|
439
|
+
Seitenattribut-Tags innerhalb dieses Tags verweisen auf die Elternseite der
|
440
|
+
aktuellen Seite.
|
441
|
+
|
442
|
+
*Verwendung:*
|
443
|
+
|
444
|
+
<pre><code><r:parent>...</r:parent></code></pre>
|
445
|
+
|
446
|
+
random:
|
447
|
+
Gibt zufällig eine der im @option@-Tag spezifizierten Optionen aus.
|
448
|
+
|
449
|
+
*Verwendung:*
|
450
|
+
|
451
|
+
<pre><code><r:random>
|
452
|
+
<r:option>...</r:option>
|
453
|
+
<r:option>...</r:option>
|
454
|
+
...
|
455
|
+
<r:random>
|
456
|
+
</code></pre>
|
457
|
+
|
458
|
+
rfc1123_date:
|
459
|
+
Das Datum wird im RFC1123-Format ausgegeben (Ideal für RSS-Feeds).
|
460
|
+
|
461
|
+
*Verwendung:*
|
462
|
+
|
463
|
+
<pre><code><r:rfc1123_date /></code></pre>
|
464
|
+
|
465
|
+
slug:
|
466
|
+
Gibt das @slug@-Attribut der aktuellen Seite aus.
|
467
|
+
|
468
|
+
smarty_pants:
|
469
|
+
Inhalt wir mit dem Smarty-Pants-Filter gefiltert.
|
470
|
+
|
471
|
+
*Verwendung:*
|
472
|
+
|
473
|
+
<pre><code><r:smarty_pants>"A revolutionary quotation."</r:smarty_pants></code></pre>
|
474
|
+
|
475
|
+
gibt folgendes aus:
|
476
|
+
|
477
|
+
<pre><code> </code>“<code>A revolutionary quotation.</code>”<code> </code></pre>
|
478
|
+
|
479
|
+
snippet:
|
480
|
+
Gibt das im @name@-Attribut angegebene Snippet im Seitenkontext aus.
|
481
|
+
|
482
|
+
*Verwendung:*
|
483
|
+
|
484
|
+
<pre><code><r:snippet name="snippet_name" /></code></pre>
|
485
|
+
|
486
|
+
Falls als Doppel-Tag benutzt, kann der Teil innerhalb der beiden Tags
|
487
|
+
im Snippet selbst benutzt werden. Im Falle von @<r:yield/>@ wird er
|
488
|
+
ersetzt.
|
489
|
+
|
490
|
+
*Verwendung:*
|
491
|
+
|
492
|
+
<pre><code><r:snippet name="snippet_name">Lorem ipsum dolor...</r:snippet></code></pre>
|
493
|
+
|
494
|
+
status:
|
495
|
+
gibt den Status der Seite als String aus. Das optionale Attribut 'downcase'
|
496
|
+
gibt den Status in Kleinbuchstaben aus.
|
497
|
+
|
498
|
+
*Verwendung:*
|
499
|
+
|
500
|
+
<pre><code><r:status [downcase='true'] /></code></pre>
|
501
|
+
|
502
|
+
textile:
|
503
|
+
Inhalt wir mit dem Textile-Filter gefiltert.
|
504
|
+
|
505
|
+
*Verwendung*:
|
506
|
+
|
507
|
+
<pre><code><r:textile>
|
508
|
+
* Erster
|
509
|
+
* Zweiter
|
510
|
+
</r:textile></code></pre>
|
511
|
+
|
512
|
+
erzeugt:
|
513
|
+
|
514
|
+
<pre><code><ul>
|
515
|
+
<li>Erster</li>
|
516
|
+
<li>Zweiter</li>
|
517
|
+
</ul></code></pre>
|
518
|
+
|
519
|
+
title:
|
520
|
+
Gibt das @title@-Attribute der aktuellen Seite aus.
|
521
|
+
|
522
|
+
unless_ancestor_or_self:
|
523
|
+
Gibt die enthaltenen Elemente solange aus, bis der aktuelle Seitenkontext
|
524
|
+
entweder die tatsächliche Seite oder eines ihrer Eltern ist.
|
525
|
+
|
526
|
+
Wird typischerweise innerhalb eines anderen Tags (wie <r:children:each>)
|
527
|
+
benutzt, um zusätzlichen Markup auszugeben, bis der aktuelle Seitenkontext
|
528
|
+
entweder die tatsächliche Seite oder einer seiner Eltern ist.
|
529
|
+
|
530
|
+
*Verwendung:*
|
531
|
+
|
532
|
+
<pre><code><r:unless_ancestor_or_self>...</r:unless_ancestor_or_self></code></pre>
|
533
|
+
|
534
|
+
unless_children:
|
535
|
+
Gibt die enthaltenen Elemente nur aus, wenn der aktuelle Seitenkontext
|
536
|
+
keine Kinder hat. Mit dem @status@-Attribut kann der Status der gefundenen
|
537
|
+
Kind-Seiten auf den angegebenen Status beschränkt werden. Default dafür
|
538
|
+
ist @published@. @status@="all" erfasst alle nicht-virtuellen Seiten.
|
539
|
+
|
540
|
+
*Verwendung:*
|
541
|
+
|
542
|
+
<pre><code><r:unless_children [status="published"]>...</r:unless_children></code></pre>
|
543
|
+
|
544
|
+
unless_content:
|
545
|
+
Das Gegenteil des @if_content@-Tags.
|
546
|
+
Gibt die enthaltenen Elemente nur aus, wenn keiner der angegebenen Parts auf der Seite
|
547
|
+
existiert. Es können mehrere Parts als mit Komma getrennte Liste angegeben werden.
|
548
|
+
Wird das optionale @inherit@-Attribut auf 'true' gesetzt,
|
549
|
+
werden Kinder unabhängig von jedem Part gefunden. Default für @inherit@ ist @false@.
|
550
|
+
|
551
|
+
Wenn mehr als ein Part angegeben ist, kann das optionale @find@-Attribut auf @any@
|
552
|
+
gesetzt werden. Damit wird ein Element nicht ausgegeben, wenn irgendeiner der angegebenen
|
553
|
+
Parts gefunden wird. Default für das @any@-Attribut ist @all@.
|
554
|
+
|
555
|
+
*Verwendung:*
|
556
|
+
|
557
|
+
<pre><code><r:unless_content [part="part_name, other_part"] [inherit="false"] [find="any"]>...</r:unless_content></code></pre>
|
558
|
+
|
559
|
+
unless_dev:
|
560
|
+
Das Gegenteil des @if_dev@ Tags.
|
561
|
+
|
562
|
+
*Verwendung:*
|
563
|
+
|
564
|
+
<pre><code><r:unless_dev>...</r:unless_dev></code></pre>
|
565
|
+
|
566
|
+
unless_parent:
|
567
|
+
Gegenteil von if_parent. Gibt die enthaltenen Elemente nur aus, wenn die aktuelle
|
568
|
+
Seite keine Eltern hat, d.h. es handelt sich um die Startseite.
|
569
|
+
|
570
|
+
*Verwendung:*
|
571
|
+
|
572
|
+
<pre><code><r:unless_parent>...</r:unless_parent></code></pre>
|
573
|
+
|
574
|
+
unless_self:
|
575
|
+
Zeigt die enthaltenen Elemente nur an, wenn der Seitenkontext nicht die aktuelle Seite ist.
|
576
|
+
|
577
|
+
Wird typischerweise innerhalb eines anderen Tags (wie <r:children:each>)
|
578
|
+
benutzt, um zusätzlichen Markup auszugeben, falls das Kind-Elemente nicht die aktuelle Seite ist.
|
579
|
+
|
580
|
+
*Verwendung:*
|
581
|
+
|
582
|
+
<pre><code><r:unless_self>...</r:unless_self></code></pre>
|
583
|
+
|
584
|
+
unless_url:
|
585
|
+
Gegenteil des @if_url@ Tags.
|
586
|
+
|
587
|
+
*Verwendung:*
|
588
|
+
|
589
|
+
<pre><code><r:unless_url matches="regexp" [ignore_case="true|false"]>...</r:unless_url></code></pre>
|
590
|
+
|
591
|
+
url:
|
592
|
+
Gibt das @url@-Attribut der aktuellen Seite aus.
|
593
|
+
|
594
|
+
yield:
|
595
|
+
Wird innerhalb eines Snippets als Platzhalter für die Ersetzung von Kind-Inhalten
|
596
|
+
verwendet, falls das Snippet als Doppel-Tag aufgerufen wird.
|
597
|
+
|
598
|
+
*Verwendung (Innerhalb eines Snippets):*
|
599
|
+
|
600
|
+
<pre><code>
|
601
|
+
<div id="outer">
|
602
|
+
<p>vorher</p>
|
603
|
+
<r:yield/>
|
604
|
+
<p>danach</p>
|
605
|
+
</div>
|
606
|
+
</code></pre>
|
607
|
+
|
608
|
+
Heißt das obige Snippet "yielding", kann es von jeder Seite, Layout oder
|
609
|
+
Snippet wie folgt aufgerufen werden:
|
610
|
+
|
611
|
+
<pre><code><r:snippet name="yielding">Inhalt innerhalb..</r:snippet></code></pre>
|
612
|
+
|
613
|
+
Erzeugt folgenden Output:
|
614
|
+
|
615
|
+
<pre><code>
|
616
|
+
<div id="outer">
|
617
|
+
<p>vorher</p>
|
618
|
+
Inhalt innerhalb..
|
619
|
+
<p>danach</p>
|
620
|
+
</div>
|
621
|
+
</code></pre>
|
622
|
+
|
623
|
+
Ein Aufruf von @<r:yield/>@ im Seitenkontext oder Layout erzeugt keinen Output.
|
624
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
namespace :radiant do
|
2
|
+
namespace :extensions do
|
3
|
+
namespace :de do
|
4
|
+
|
5
|
+
desc "Runs the migration of the I18n De extension"
|
6
|
+
task :migrate => :environment do
|
7
|
+
require 'radiant/extension_migrator'
|
8
|
+
if ENV["VERSION"]
|
9
|
+
I18nDeExtension.migrator.migrate(ENV["VERSION"].to_i)
|
10
|
+
else
|
11
|
+
I18nDeExtension.migrator.migrate
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Copies public assets of the I18n De to the instance public/ directory."
|
16
|
+
task :update => :environment do
|
17
|
+
is_svn_or_dir = proc {|path| path =~ /\.svn/ || File.directory?(path) }
|
18
|
+
puts "Copying assets from I18nDeExtension"
|
19
|
+
Dir[I18nDeExtension.root + "/public/**/*"].reject(&is_svn_or_dir).each do |file|
|
20
|
+
path = file.sub(I18nDeExtension.root, '')
|
21
|
+
directory = File.dirname(path)
|
22
|
+
mkdir_p RAILS_ROOT + directory, :verbose => false
|
23
|
+
cp file, RAILS_ROOT + path, :verbose => false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = "radiant-german_language_pack-extension"
|
5
|
+
s.version = '1.0.1'
|
6
|
+
s.platform = Gem::Platform::RUBY
|
7
|
+
s.authors = ["Radiant CMS Dev Team"]
|
8
|
+
s.email = ["radiant@radiantcms.org"]
|
9
|
+
s.homepage = "http://radiantcms.org/"
|
10
|
+
s.summary = %q{German translation for Radiant CMS}
|
11
|
+
s.description = %q{Provides a German translation for the Radiant admin interface.}
|
12
|
+
|
13
|
+
ignores = if File.exist?('.gitignore')
|
14
|
+
File.read('.gitignore').split("\n").inject([]) {|a,p| a + Dir[p] }
|
15
|
+
else
|
16
|
+
[]
|
17
|
+
end
|
18
|
+
|
19
|
+
s.files = Dir['**/*'] - ignores
|
20
|
+
# s.test_files = Dir['test/**/*','spec/**/*','features/**/*'] - ignores
|
21
|
+
# s.executables = Dir['bin/*'] - ignores
|
22
|
+
# s.require_paths = ["lib"]
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: radiant-german_language_pack-extension
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Radiant CMS Dev Team
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-29 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: Provides a German translation for the Radiant admin interface.
|
15
|
+
email:
|
16
|
+
- radiant@radiantcms.org
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- config/locales/de.yml
|
22
|
+
- config/locales/de_available_tags.yml
|
23
|
+
- german_language_pack_extension.rb
|
24
|
+
- lib/tasks/i18n_de_extension_tasks.rake
|
25
|
+
- radiant-german_language_pack-extension.gemspec
|
26
|
+
- Rakefile
|
27
|
+
- README.md
|
28
|
+
homepage: http://radiantcms.org/
|
29
|
+
licenses: []
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
requirements: []
|
47
|
+
rubyforge_project:
|
48
|
+
rubygems_version: 1.8.25
|
49
|
+
signing_key:
|
50
|
+
specification_version: 3
|
51
|
+
summary: German translation for Radiant CMS
|
52
|
+
test_files: []
|