radiant-german_language_pack-extension 1.0.1

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.
@@ -0,0 +1,4 @@
1
+ # I18n De
2
+
3
+ German language pack for Radiant 0.9. Translation consists of
4
+ admin UI strings and description of radiant tags.
@@ -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&#8209;Typ'
67
+ creating_status: 'Erzeuge {{model}}&#8230;'
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&#58;*
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&#58;*
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. &lt;r&#58;find&gt;)
46
+ und auf das aktuelle Kind zurückverweisen will.
47
+
48
+ *Verwendung&#58;*
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&#58;*
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&#58;each-Tag ist.
79
+
80
+ *Verwendung&#58;*
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&#58;each-Tag ist.
93
+
94
+ *Verwendung&#58;*
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&#58;each-Tag ist.
107
+
108
+ *Verwendung&#58;*
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&#58;each-Tag ist.
121
+
122
+ *Verwendung&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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 '&#37;A, &#37;B &#37;d, &#37;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&#58;*
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&#58;*
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&#58;*
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&#58;*
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 (&lt;r&#58;children&#58;each&gt;) verwendet,
229
+ um Markup auszugeben, wenn das Kind-Element von der aktuellen Seite abstammt.
230
+
231
+ *Verwendung&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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 &lt;r&#58;children&#58;each&gt;)
279
+ benutzt, um zusätzlichen Markup auszugeben, falls das Kind-Elemente die aktuelle Seite ist.
280
+
281
+ *Verwendung&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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 &lt;meta /&gt;-Tags ausgegeben, solange
341
+ das Attribut 'tag' auf 'false' gesetzt ist.
342
+
343
+ *Verwendung&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
472
+
473
+ <pre><code><r:smarty_pants>"A revolutionary quotation."</r:smarty_pants></code></pre>
474
+
475
+ gibt folgendes aus&#58;
476
+
477
+ <pre><code> </code>&#8220;<code>A revolutionary quotation.</code>&#8221;<code> </code></pre>
478
+
479
+ snippet:
480
+ Gibt das im @name@-Attribut angegebene Snippet im Seitenkontext aus.
481
+
482
+ *Verwendung&#58;*
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&#58;*
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&#58;*
499
+
500
+ <pre><code><r:status [downcase='true'] /></code></pre>
501
+
502
+ textile:
503
+ Inhalt wir mit dem Textile-Filter gefiltert.
504
+
505
+ *Verwendung*&#58;
506
+
507
+ <pre><code><r:textile>
508
+ * Erster
509
+ * Zweiter
510
+ </r:textile></code></pre>
511
+
512
+ erzeugt&#58;
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 &lt;r&#58;children&#58;each&gt;)
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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&#58;*
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 &lt;r&#58;children&#58;each&gt;)
578
+ benutzt, um zusätzlichen Markup auszugeben, falls das Kind-Elemente nicht die aktuelle Seite ist.
579
+
580
+ *Verwendung&#58;*
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&#58;*
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)&#58;*
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&#58;
610
+
611
+ <pre><code><r:snippet name="yielding">Inhalt innerhalb..</r:snippet></code></pre>
612
+
613
+ Erzeugt folgenden Output&#58;
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,9 @@
1
+ class GermanLanguagePackExtension < Radiant::Extension
2
+ version "1.0"
3
+ description "Provides a German translation for the Radiant admin interface"
4
+ url "http://yourwebsite.com/de"
5
+
6
+ def activate
7
+
8
+ end
9
+ end
@@ -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: []