Skip to content
This repository
Browse code

renamed language packs

  • Loading branch information...
commit 4d3a74cf3d80b847535032dc957f7906e4a3bf7e 1 parent b0ff225
Keith Bingman kbingman authored

Showing 64 changed files with 5,764 additions and 39 deletions. Show diff stats Hide diff stats

  1. +8 32 lib/generators/language_extension/language_extension_generator.rb
  2. +3 6 lib/tasks/translate.rake
  3. +1 1  lib/translation_support.rb
  4. +3 0  vendor/extensions/dutch_language_pack/README
  5. +123 0 vendor/extensions/dutch_language_pack/Rakefile
  6. +182 0 vendor/extensions/dutch_language_pack/config/locales/nl.yml
  7. +553 0 vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml
  8. +1 0  vendor/extensions/dutch_language_pack/cucumber.yml
  9. +9 0 vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb
  10. +16 0 vendor/extensions/dutch_language_pack/features/support/env.rb
  11. +14 0 vendor/extensions/dutch_language_pack/features/support/paths.rb
  12. +28 0 vendor/extensions/dutch_language_pack/lib/tasks/i18n_nl_extension_tasks.rake
  13. +6 0 vendor/extensions/dutch_language_pack/spec/spec.opts
  14. +36 0 vendor/extensions/dutch_language_pack/spec/spec_helper.rb
  15. +3 0  vendor/extensions/french_language_pack/README
  16. +123 0 vendor/extensions/french_language_pack/Rakefile
  17. +182 0 vendor/extensions/french_language_pack/config/locales/fr.yml
  18. +553 0 vendor/extensions/french_language_pack/config/locales/fr_available_tags.yml
  19. +1 0  vendor/extensions/french_language_pack/cucumber.yml
  20. +16 0 vendor/extensions/french_language_pack/features/support/env.rb
  21. +14 0 vendor/extensions/french_language_pack/features/support/paths.rb
  22. +9 0 vendor/extensions/french_language_pack/french_language_pack_extension.rb
  23. +28 0 vendor/extensions/french_language_pack/lib/tasks/i18n_fr_extension_tasks.rake
  24. +6 0 vendor/extensions/french_language_pack/spec/spec.opts
  25. +36 0 vendor/extensions/french_language_pack/spec/spec_helper.rb
  26. +3 0  vendor/extensions/german_language_pack/README
  27. +123 0 vendor/extensions/german_language_pack/Rakefile
  28. +182 0 vendor/extensions/german_language_pack/config/locales/de.yml
  29. +553 0 vendor/extensions/german_language_pack/config/locales/de_available_tags.yml
  30. +9 0 vendor/extensions/german_language_pack/german_language_pack_extension.rb
  31. +28 0 vendor/extensions/german_language_pack/lib/tasks/i18n_de_extension_tasks.rake
  32. +3 0  vendor/extensions/italian_language_pack/README
  33. +123 0 vendor/extensions/italian_language_pack/Rakefile
  34. +182 0 vendor/extensions/italian_language_pack/config/locales/it.yml
  35. +553 0 vendor/extensions/italian_language_pack/config/locales/it_available_tags.yml
  36. +1 0  vendor/extensions/italian_language_pack/cucumber.yml
  37. +16 0 vendor/extensions/italian_language_pack/features/support/env.rb
  38. +14 0 vendor/extensions/italian_language_pack/features/support/paths.rb
  39. +8 0 vendor/extensions/italian_language_pack/italian_language_pack_extension.rb
  40. +28 0 vendor/extensions/italian_language_pack/lib/tasks/i18n_it_extension_tasks.rake
  41. +6 0 vendor/extensions/italian_language_pack/spec/spec.opts
  42. +36 0 vendor/extensions/italian_language_pack/spec/spec_helper.rb
  43. +3 0  vendor/extensions/japanese_language_pack/README
  44. +123 0 vendor/extensions/japanese_language_pack/Rakefile
  45. +182 0 vendor/extensions/japanese_language_pack/config/locales/ja.yml
  46. +553 0 vendor/extensions/japanese_language_pack/config/locales/ja_available_tags.yml
  47. +1 0  vendor/extensions/japanese_language_pack/cucumber.yml
  48. +16 0 vendor/extensions/japanese_language_pack/features/support/env.rb
  49. +14 0 vendor/extensions/japanese_language_pack/features/support/paths.rb
  50. +9 0 vendor/extensions/japanese_language_pack/japanese_language_pack_extension.rb
  51. +28 0 vendor/extensions/japanese_language_pack/lib/tasks/i18n_ja_extension_tasks.rake
  52. +6 0 vendor/extensions/japanese_language_pack/spec/spec.opts
  53. +36 0 vendor/extensions/japanese_language_pack/spec/spec_helper.rb
  54. +3 0  vendor/extensions/russian_language_pack/README
  55. +123 0 vendor/extensions/russian_language_pack/Rakefile
  56. +182 0 vendor/extensions/russian_language_pack/config/locales/ru.yml
  57. +553 0 vendor/extensions/russian_language_pack/config/locales/ru_available_tags.yml
  58. +1 0  vendor/extensions/russian_language_pack/cucumber.yml
  59. +16 0 vendor/extensions/russian_language_pack/features/support/env.rb
  60. +14 0 vendor/extensions/russian_language_pack/features/support/paths.rb
  61. +28 0 vendor/extensions/russian_language_pack/lib/tasks/i18n_ru_extension_tasks.rake
  62. +9 0 vendor/extensions/russian_language_pack/russian_language_pack_extension.rb
  63. +6 0 vendor/extensions/russian_language_pack/spec/spec.opts
  64. +36 0 vendor/extensions/russian_language_pack/spec/spec_helper.rb
40 lib/generators/language_extension/language_extension_generator.rb
@@ -5,8 +5,8 @@ class LanguageExtensionGenerator < Rails::Generator::NamedBase
5 5
6 6 def initialize(runtime_args, runtime_options = {})
7 7 super
8   - @extension_file_name = "i18n_#{file_name}_extension"
9   - @extension_path = "vendor/extensions/i18n_#{file_name}"
  8 + @extension_file_name = "#{file_name}_language_pack_extension"
  9 + @extension_path = "vendor/extensions/#{file_name}_language_pack"
10 10 @localization_name = localization_name
11 11 end
12 12
@@ -17,39 +17,15 @@ def manifest
17 17
18 18 m.template 'README', "#{extension_path}/README"
19 19 m.template 'extension.rb', "#{extension_path}/#{extension_file_name}.rb"
20   - m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
  20 + # m.template 'tasks.rake', "#{extension_path}/lib/tasks/#{extension_file_name}_tasks.rake"
21 21 m.template 'lang.yml', "#{extension_path}/config/locales/#{localization_name}.yml"
22 22 m.template 'available_tags.yml', "#{extension_path}/config/locales/#{localization_name}_available_tags.yml"
23   -
24   - if options[:with_test_unit]
25   - m.directory "#{extension_path}/test/fixtures"
26   - m.directory "#{extension_path}/test/functional"
27   - m.directory "#{extension_path}/test/unit"
28   -
29   - m.template 'Rakefile', "#{extension_path}/Rakefile"
30   - m.template 'test_helper.rb', "#{extension_path}/test/test_helper.rb"
31   - m.template 'functional_test.rb', "#{extension_path}/test/functional/#{extension_file_name}_test.rb"
32   - else
33   - m.directory "#{extension_path}/spec/controllers"
34   - m.directory "#{extension_path}/spec/models"
35   - m.directory "#{extension_path}/spec/views"
36   - m.directory "#{extension_path}/spec/helpers"
37   - m.directory "#{extension_path}/features/support"
38   - m.directory "#{extension_path}/features/step_definitions/admin"
39   -
40   - m.template 'RSpecRakefile', "#{extension_path}/Rakefile"
41   - m.template 'spec_helper.rb', "#{extension_path}/spec/spec_helper.rb"
42   - m.file 'spec.opts', "#{extension_path}/spec/spec.opts"
43   - m.file 'cucumber.yml', "#{extension_path}/cucumber.yml"
44   - m.template 'cucumber_env.rb', "#{extension_path}/features/support/env.rb"
45   - m.template 'cucumber_paths.rb', "#{extension_path}/features/support/paths.rb"
46   - end
47 23 end
48 24
49 25 end
50 26
51 27 def class_name
52   - 'I18n' + super.to_name.gsub(' ', '') + 'Extension'
  28 + super.to_name.gsub(' ', '') + 'LanguagePackExtension'
53 29 end
54 30
55 31 def extension_name
@@ -57,10 +33,10 @@ def extension_name
57 33 end
58 34
59 35 def add_options!(opt)
60   - opt.separator ''
61   - opt.separator 'Options:'
62   - opt.on("--with-test-unit",
63   - "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
  36 + # opt.separator ''
  37 + # opt.separator 'Options:'
  38 + # opt.on("--with-test-unit",
  39 + # "Use Test::Unit for this extension instead of RSpec") { |v| options[:with_test_unit] = v }
64 40 end
65 41
66 42 def localization_name
9 lib/tasks/translate.rake
@@ -9,7 +9,7 @@ namespace :radiant do
9 9 language_root = "#{RADIANT_ROOT}/config/locales"
10 10 words = TranslationSupport.get_translation_keys(language_root)
11 11 locale_paths.each do |path|
12   - if path == language_root || path.match('i18n_')
  12 + if path == language_root || path.match('language_pack')
13 13 Dir["#{path}/*.yml"].each do |filename|
14 14 next if filename.match('_available_tags')
15 15 basename = File.basename(filename, '.yml')
@@ -43,16 +43,13 @@ namespace :radiant do
43 43 language_root = "#{RADIANT_ROOT}/config/locales"
44 44 words = TranslationSupport.open_available_tags("#{language_root}/en_available_tags.yml")
45 45 locale_paths.each do |path|
46   - if path == language_root || path.match('i18n_')
  46 + if path == language_root || path.match('language_pack')
47 47 Dir["#{path}/*.yml"].each do |filename|
48   - puts filename
49 48 next unless filename.match('_available_tags')
50 49 basename = File.basename(filename, '_available_tags.yml')
51 50 puts "Syncing #{basename}"
52 51 (comments, other) = TranslationSupport.open_available_tags(filename)
53   - words.each { |k,v| other[k] ||= words[k] } # Initializing hash variable as empty if it does not exist
54   - other.delete_if { |k,v| !words[k] } # Remove if not defined in en.yml
55   - TranslationSupport.write_file(filename, basename, comments, other)
  52 + puts other
56 53 end
57 54 end
58 55 end
2  lib/translation_support.rb
@@ -35,7 +35,7 @@ def create_hash(data, basename)
35 35
36 36 def open_available_tags(filename)
37 37 data = YAML::load(File.open("#{filename}"))
38   - data
  38 + data.to_s
39 39 end
40 40
41 41 #Writes to file from translation data hash structure
3  vendor/extensions/dutch_language_pack/README
... ... @@ -0,0 +1,3 @@
  1 += I18n Nl
  2 +
  3 +Description goes here
123 vendor/extensions/dutch_language_pack/Rakefile
... ... @@ -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 nl extension.'
  106 +Rake::RDocTask.new(:rdoc) do |rdoc|
  107 + rdoc.rdoc_dir = 'rdoc'
  108 + rdoc.title = 'I18nNlExtension'
  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 nl 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 }
182 vendor/extensions/dutch_language_pack/config/locales/nl.yml
... ... @@ -0,0 +1,182 @@
  1 +---
  2 +nl:
  3 + account: 'Account'
  4 + activerecord:
  5 + errors:
  6 + messages:
  7 + blank: 'verplicht' # required
  8 + invalid: 'ongeldige indeling' #invalid_format
  9 + not_a_number: 'moet een getal zijn' # must be number
  10 + taken: 'naam reeds in gebruik' # name_in_use
  11 + too_long: 'maximum {{count}} tekens' # character_limit
  12 + too_short: 'minimum {{count}} tekens' # character_minimum
  13 + models:
  14 + page:
  15 + attributes:
  16 + slug:
  17 + taken: 'URL pagina (slug) reeds in gebruik' # slug_in_use
  18 + user:
  19 + attributes:
  20 + email:
  21 + invalid: 'ongeldig e-mailadres' # invalid_email
  22 + login:
  23 + taken: 'gebruikersnaam reeds in gebruik' # login already in use
  24 + password:
  25 + confirmation: 'moet overeen komen' # password_confirmation
  26 + add_child: 'Child Toevoegen'
  27 + add_part: 'Part Toevoegen'
  28 + add_tab: 'Tab Toevoegen'
  29 + admin: 'Beheerder'
  30 + available_tags: 'Beschikbare Tags'
  31 + available_tags_for: 'Beschikbare Tags voor {{name}}'
  32 + body: 'Body'
  33 + breadcrumb: 'Breadcrumb'
  34 + buttons:
  35 + create: '{{name}} Aanmaken'
  36 + save_and_continue: 'Opslaan en verder bewerken'
  37 + save_changes: 'Opslaan'
  38 + cancel: 'Annuleren'
  39 + change: 'Wijzigen'
  40 + close: 'Sluiten'
  41 + content: 'Inhoud'
  42 + content_type: 'InhoudsType'
  43 + creating_status: '{{model}}&#8230; aan het maken'
  44 + date:
  45 + abbr_day_names: [zo, ma, di, wo, do, vr, za]
  46 + abbr_month_names: [~, jan, feb, mar, apr, mei, jun, jul, aug, sep, okt, nov, dec]
  47 + day_names: [zondag, maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag]
  48 + formats:
  49 + default: "%d/%m/%Y"
  50 + long: "%e %B %Y"
  51 + only_day: "%e"
  52 + short: "%e %b"
  53 + month_names: [~, januari, februari, maart, april, mei, juni, juli, augustus, september, october, november, december]
  54 + order: [ :day, :month, :year ]
  55 + delete_layout: 'Layout verwijderen'
  56 + delete_pages: '{{pages}} verwijderen'
  57 + delete_snippet: 'Snippet verwijderen'
  58 + delete_user: 'Gebruiker verwijderen'
  59 + description: 'Omschrijving'
  60 + design: 'Ontwerp'
  61 + designer: 'Ontwerper'
  62 + draft: 'Ontwerp'
  63 + edit_layout: 'Layout Wijzigen'
  64 + edit_page: 'Pagina Wijzigen'
  65 + edit_snippet: 'Snippet Wijzigen'
  66 + edit_user: 'Gebruiker Wijzigen'
  67 + email_address: 'E-mailadres'
  68 + extension: 'Module'
  69 + extensions: 'Modules'
  70 + filter: 'Filter'
  71 + hidden: 'Verborgen'
  72 + hide: 'Verbergen'
  73 + keywords: 'Sleutelwoorden'
  74 + language: 'Taal'
  75 + layout: 'Layout'
  76 + layouts: 'Layouts'
  77 + log_out: 'Afmelden'
  78 + logged_in_as: 'Aangemeld als'
  79 + login: 'Aanmelden'
  80 + modify: 'Bewerken'
  81 + more: 'Meer'
  82 + name: 'Naam'
  83 + new_layout: 'Niewe Layout'
  84 + new_page: 'Niewe Pagina'
  85 + new_password: 'Niew Wachtwoord'
  86 + new_snippet: 'Nieuwe Snippet'
  87 + new_user: 'Nieuwe Gebruiker'
  88 + no_pages: "Geen Pagina's"
  89 + notes: 'Notities'
  90 + optional: 'Optioneel'
  91 + or: 'of'
  92 + page: 'Pagina'
  93 + page_page: 'Page Part'
  94 + page_title: 'Pagina Titel'
  95 + page_type: 'Pagina Type'
  96 + pages: "Pagina's"
  97 + pages_controller:
  98 + removed_many: "De pagina's werden verwijderd van de site."
  99 + removed_one: "De pagina is verwijderd van de site."
  100 + saved: "Je pagina is hieronder opgeslagen."
  101 + password: 'Wachtwoord'
  102 + password_confirmation: Bevestig Nieuw Wachtwoord'
  103 + personal: 'Personlijk'
  104 + personal_preferences: 'Persoonlijke Voorkeuren'
  105 + please_login: 'Gelieve aan te melden'
  106 + powered_by: 'Powered by'
  107 + preferences: 'Voorkeuren'
  108 + preferences_controller:
  109 + error_updating: 'Er is een fout opgetreden bij het opslaan van je voorkeuren.'
  110 + updated: 'Je voorkeuren zijn bijgewerkt.'
  111 + published: 'Gepubliceerd'
  112 + published_at: 'Gepuliceerd op'
  113 + reference: 'Referentie'
  114 + remember_me: 'Onthoud me'
  115 + remove: 'Verwijderen'
  116 + remove_layout: 'Layout Verwijderen'
  117 + remove_page: 'Pagina Verwijderen'
  118 + remove_pages: '{{pages}} Verwijderen'
  119 + remove_tab: 'Tab Verwijderen'
  120 + remove_user: 'Gebruiker verwijderen'
  121 + required: 'Vereist'
  122 + resource_controller:
  123 + not_found: "{{humanized_model_name}} is niet gevonden."
  124 + removed: "{{humanized_model_name}} is verwijderd."
  125 + saved: "{{humanized_model_name}} is hieronder opgelsagen."
  126 + update_conflict: "{{humanized_model_name}} is bijgewerkt sinds sinds het laden. De wijzigingen kunnen niet opgeslagen worden zonder mogelijk verlies van gegevens."
  127 + validation_errors: "Er zijn validatiefouten opgetreden tijdens het verwerken van dit formulier. Kijk het formulier aub na en verbeter eventuele fouten om verder te gaan."
  128 + reviewed: 'Nagekeken'
  129 + roles: 'Rollen'
  130 + saving_changes: 'Aan het bijwerken'
  131 + saving_preferences: 'Voorkeuren aan het bijwerken'
  132 + scheduled: "Scheduled"
  133 + search_tags: 'Tags doorzoeken:'
  134 + select:
  135 + inherit: '<erven>'
  136 + none: '<geen>'
  137 + normal: '<normaal>'
  138 + settings: 'Instellingen'
  139 + slug: 'Slug'
  140 + snippet: 'Snippet'
  141 + snippets: 'Snippets'
  142 + status: 'Status'
  143 + # Warnings and info text:
  144 + testing: Testing
  145 + text:
  146 + layouts:
  147 + remove_warning: 'Ben je zeker dat je de volgende layout <strong class="warning">definitief</strong> wil <strong class="warning">verwijderen</strong>?'
  148 + pages:
  149 + remove_warning: 'Ben je zeker dat je de volgende pagina <strong class="warning">definitief</strong> wil <strong class="warning">verwijderen</strong>?'
  150 + snippets:
  151 + remove_warning: 'Ben je zeker dat je de volgende snippet <strong class="warning">definitief</strong> wil <strong class="warning">verwijderen</strong>?'
  152 + users:
  153 + remove_warning: 'Ben je zeker dat je de volgende gebruiker <strong class="warning">definitief</strong> wil <strong class="warning">verwijderen</strong>?'
  154 + this_file_language: "Nederlands"
  155 + time:
  156 + am: 'am'
  157 + formats:
  158 + datetime:
  159 + formats:
  160 + default: "%Y-%m-%dT%H:%M:%S%Z"
  161 + default: "%a %d %b %H:%M:%S %Z %Y"
  162 + long: "%d %B %Y %H:%M"
  163 + only_second: "%S"
  164 + short: "%d %b %H:%M"
  165 + time: "%H:%M"
  166 + timestamp: "%H:%M op %d %B %Y"
  167 + pm: 'pm'
  168 + timestamp:
  169 + at: 'om'
  170 + by: 'door'
  171 + last_updated: 'Laatst bijgewerkt'
  172 + user: 'Gebruiker'
  173 + username: 'Gebruikersnaam'
  174 + users: 'Gebruikers'
  175 + users_controller:
  176 + cannot_delete_self: 'Je kan jezelf niet verwijderen.'
  177 + version: 'Versie'
  178 + view_site: 'Bekijk Site'
  179 + website: 'Website'
  180 + welcome_controller:
  181 + invalid_user: 'Onbekende gebruikersnaam of wachtwoord.'
  182 + logged_out: 'Je bent nu afgemeld.'
553 vendor/extensions/dutch_language_pack/config/locales/nl_available_tags.yml
... ... @@ -0,0 +1,553 @@
  1 +---
  2 +nl:
  3 + desc:
  4 + author:
  5 + Renders the name of the author of the current page.
  6 +
  7 + breadcrumb:
  8 + Renders the @breadcrumb@ attribute of the current page.
  9 +
  10 + breadcrumbs:
  11 + Renders a trail of breadcrumbs to the current page. The separator attribute
  12 + specifies the HTML fragment that is inserted between each of the breadcrumbs. By
  13 + default it is set to @>@. The boolean nolinks attribute can be specified to render
  14 + breadcrumbs in plain text, without any links (useful when generating title tag).
  15 +
  16 + *Usage&#58;*
  17 +
  18 + <pre><code><r&#58;breadcrumbs [separator="separator_string"] [nolinks="true"] /></code></pre>
  19 +
  20 + children-count:
  21 + Renders the total number of children.
  22 +
  23 + children-each-child:
  24 + Page attribute tags inside of this tag refer to the current child. This is occasionally
  25 + useful if you are inside of another tag (like &lt;r&#58;find&gt;) and need to refer back to the
  26 + current child.
  27 +
  28 + *Usage&#58;*
  29 +
  30 + <pre><code><r&#58;children&#58;each>
  31 + <r&#58;child>...</r&#58;child>
  32 + </r&#58;children&#58;each>
  33 + </code></pre>
  34 +
  35 + children-each-header:
  36 + Renders the tag contents only if the contents do not match the previous header. This
  37 + is extremely useful for rendering date headers for a list of child pages.
  38 +
  39 + If you would like to use several header blocks you may use the @name@ attribute to
  40 + name the header. When a header is named it will not restart until another header of
  41 + the same name is different.
  42 +
  43 + Using the @restart@ attribute you can cause other named headers to restart when the
  44 + present header changes. Simply specify the names of the other headers in a semicolon
  45 + separated list.
  46 +
  47 + *Usage&#58;*
  48 +
  49 + <pre><code><r&#58;children&#58;each>
  50 + <r&#58;header [name="header_name"] [restart="name1[;name2;...]"]>
  51 + ...
  52 + </r&#58;header>
  53 + </r&#58;children&#58;each>
  54 + </code></pre>
  55 +
  56 + children-each-if_first:
  57 + Renders the tag contents only if the current page is the first child in the context of
  58 + a children&#58;each tag
  59 +
  60 + *Usage&#58;*
  61 +
  62 + <pre><code><r&#58;children&#58;each>
  63 + <r&#58;if_first >
  64 + ...
  65 + </r&#58;if_first>
  66 + </r&#58;children&#58;each>
  67 + </code></pre>
  68 +
  69 +
  70 + children-each-if_last:
  71 + Renders the tag contents only if the current page is the last child in the context of
  72 + a children&#58;each tag
  73 +
  74 + *Usage&#58;*
  75 +
  76 + <pre><code><r&#58;children&#58;each>
  77 + <r&#58;if_last >
  78 + ...
  79 + </r&#58;if_last>
  80 + </r&#58;children&#58;each>
  81 + </code></pre>
  82 +
  83 +
  84 + children-each-unless_first:
  85 + Renders the tag contents unless the current page is the first child in the context of
  86 + a children&#58;each tag
  87 +
  88 + *Usage&#58;*
  89 +
  90 + <pre><code><r&#58;children&#58;each>
  91 + <r&#58;unless_first >
  92 + ...
  93 + </r&#58;unless_first>
  94 + </r&#58;children&#58;each>
  95 + </code></pre>
  96 +
  97 +
  98 + children-each-unless_last:
  99 + Renders the tag contents unless the current page is the last child in the context of
  100 + a children&#58;each tag
  101 +
  102 + *Usage&#58;*
  103 +
  104 + <pre><code><r&#58;children&#58;each>
  105 + <r&#58;unless_last >
  106 + ...
  107 + </r&#58;unless_last>
  108 + </r&#58;children&#58;each>
  109 + </code></pre>
  110 +
  111 +
  112 + children-each:
  113 + Cycles through each of the children. Inside this tag all page attribute tags
  114 + are mapped to the current child page.
  115 +
  116 + *Usage&#58;*
  117 +
  118 + <pre><code><r&#58;children&#58;each [offset="number"] [limit="number"]
  119 + [by="published_at|updated_at|created_at|slug|title|keywords|description"]
  120 + [order="asc|desc"] [status="draft|reviewed|published|hidden|all"]>
  121 + ...
  122 + </r&#58;children&#58;each>
  123 + </code></pre>
  124 +
  125 + children-first:
  126 + Returns the first child. Inside this tag all page attribute tags are mapped to
  127 + the first child. Takes the same ordering options as @<r&#58;children&#58;each>@.
  128 +
  129 + *Usage&#58;*
  130 +
  131 + <pre><code><r&#58;children&#58;first>...</r&#58;children&#58;first></code></pre>
  132 +
  133 + children-last:
  134 + Returns the last child. Inside this tag all page attribute tags are mapped to
  135 + the last child. Takes the same ordering options as @<r&#58;children&#58;each>@.
  136 +
  137 + *Usage&#58;*
  138 +
  139 + <pre><code><r&#58;children&#58;last>...</r&#58;children&#58;last></code></pre>
  140 +
  141 + children:
  142 + Gives access to a page's children.
  143 +
  144 + *Usage&#58;*
  145 +
  146 + <pre><code><r&#58;children>...</r&#58;children></code></pre>
  147 +
  148 + comment:
  149 + Nothing inside a set of comment tags is rendered.
  150 +
  151 + *Usage&#58;*
  152 +
  153 + <pre><code><r&#58;comment>...</r&#58;comment></code></pre>
  154 +
  155 + content:
  156 + Renders the main content of a page. Use the @part@ attribute to select a specific
  157 + page part. By default the @part@ attribute is set to body. Use the @inherit@
  158 + attribute to specify that if a page does not have a content part by that name that
  159 + the tag should render the parent's content part. By default @inherit@ is set to
  160 + @false@. Use the @contextual@ attribute to force a part inherited from a parent
  161 + part to be evaluated in the context of the child page. By default 'contextual'
  162 + is set to true.
  163 +
  164 + *Usage&#58;*
  165 +
  166 + <pre><code><r&#58;content [part="part_name"] [inherit="true|false"] [contextual="true|false"] /></code></pre>
  167 +
  168 + cycle:
  169 + Renders one of the passed values based on a global cycle counter. Use the @reset@
  170 + attribute to reset the cycle to the beginning. Use the @name@ attribute to track
  171 + multiple cycles; the default is @cycle@.
  172 +
  173 + *Usage&#58;*
  174 +
  175 + <pre><code><r&#58;cycle values="first, second, third" [reset="true|false"] [name="cycle"] /></code></pre>
  176 +
  177 + date:
  178 + Renders the date based on the current page (by default when it was published or created).
  179 + The format attribute uses the same formating codes used by the Ruby @strftime@ function. By
  180 + default it's set to @&#37;A, &#37;B &#37;d, &#37;Y@. The @for@ attribute selects which date to render. Valid
  181 + options are @published_at@, @created_at@, @updated_at@, and @now@. @now@ will render the
  182 + current date/time, regardless of the page.
  183 +
  184 + *Usage&#58;*
  185 +
  186 + <pre><code><r&#58;date [format="&#37;A, &#37;B &#37;d, &#37;Y"] [for="published_at"]/></code></pre>
  187 +
  188 + escape_html:
  189 + Escapes angle brackets, etc. for rendering in an HTML document.
  190 +
  191 + *Usage&#58;*
  192 +
  193 + <pre><code><r&#58;escape_html>...</r&#58;escape_html></code></pre>
  194 +
  195 + find:
  196 + Inside this tag all page related tags refer to the page found at the @url@ attribute.
  197 + @url@s may be relative or absolute paths.
  198 +
  199 + *Usage&#58;*
  200 +
  201 + <pre><code><r&#58;find url="value_to_find">...</r&#58;find></code></pre>
  202 +
  203 + if_ancestor_or_self:
  204 + Renders the contained elements if the current contextual page is either the actual page or one of its parents.
  205 +
  206 + This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is or descends from the current page.
  207 +
  208 + *Usage&#58;*
  209 +
  210 + <pre><code><r&#58;if_ancestor_or_self>...</r&#58;if_ancestor_or_self></code></pre>
  211 +
  212 + if_children:
  213 + Renders the contained elements only if the current contextual page has one or
  214 + more child pages. The @status@ attribute limits the status of found child pages
  215 + to the given status, the default is @"published"@. @status="all"@ includes all
  216 + non-virtual pages regardless of status.
  217 +
  218 + *Usage&#58;*
  219 +
  220 + <pre><code><r&#58;if_children [status="published"]>...</r&#58;if_children></code></pre>
  221 +
  222 + if_content:
  223 + Renders the containing elements if all of the listed parts exist on a page.
  224 + By default the @part@ attribute is set to @body@, but you may list more than one
  225 + part by separating them with a comma. Setting the optional @inherit@ to true will
  226 + search ancestors independently for each part. By default @inherit@ is set to @false@.
  227 +
  228 + When listing more than one part, you may optionally set the @find@ attribute to @any@
  229 + so that it will render the containing elements if any of the listed parts are found.
  230 + By default the @find@ attribute is set to @all@.
  231 +
  232 + *Usage&#58;*
  233 +
  234 + <pre><code><r&#58;if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r&#58;if_content></code></pre>
  235 +
  236 + if_dev:
  237 + Renders the containing elements only if Radiant in is development mode.
  238 +
  239 + *Usage&#58;*
  240 +
  241 + <pre><code><r&#58;if_dev>...</r&#58;if_dev></code></pre>
  242 +
  243 + if_parent:
  244 + Renders the contained elements only if the current contextual page has a parent, i.e.
  245 + is not the root page.
  246 +
  247 + *Usage&#58;*
  248 +
  249 + <pre><code><r&#58;if_parent>...</r&#58;if_parent></code></pre>
  250 +
  251 + if_self:
  252 + Renders the contained elements if the current contextual page is also the actual page.
  253 +
  254 + This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up if the child element is the current page.
  255 +
  256 + *Usage&#58;*
  257 +
  258 + <pre><code><r&#58;if_self>...</r&#58;if_self></code></pre>
  259 +
  260 + if_url:
  261 + Renders the containing elements only if the page's url matches the regular expression
  262 + given in the @matches@ attribute. If the @ignore_case@ attribute is set to false, the
  263 + match is case sensitive. By default, @ignore_case@ is set to true.
  264 +
  265 + *Usage&#58;*
  266 +
  267 + <pre><code><r&#58;if_url matches="regexp" [ignore_case="true|false"]>...</r&#58;if_url></code></pre>
  268 +
  269 + link:
  270 + Renders a link to the page. When used as a single tag it uses the page's title
  271 + for the link name. When used as a double tag the part in between both tags will
  272 + be used as the link text. The link tag passes all attributes over to the HTML
  273 + @a@ tag. This is very useful for passing attributes like the @class@ attribute
  274 + or @id@ attribute. If the @anchor@ attribute is passed to the tag it will
  275 + append a pound sign (<code>#</code>) followed by the value of the attribute to
  276 + the @href@ attribute of the HTML @a@ tag--effectively making an HTML anchor.
  277 +
  278 + *Usage&#58;*
  279 +
  280 + <pre><code><r&#58;link [anchor="name"] [other attributes...] /></code></pre>
  281 +
  282 + or
  283 +
  284 + <pre><code><r&#58;link [anchor="name"] [other attributes...]>link text here</r&#58;link></code></pre>
  285 +
  286 + markdown:
  287 + Filters its contents with the Markdown filter.
  288 +
  289 + *Usage&#58;*
  290 +
  291 + <pre><code><r&#58;markdown>** bold text **</r&#58;markdown></code></pre>
  292 +
  293 + produces
  294 +
  295 + <pre><code><strong> bold text </strong></code></pre>
  296 +
  297 + meta-description:
  298 + Emits the page description field in a meta tag, unless attribute
  299 + 'tag' is set to 'false'.
  300 +
  301 + *Usage&#58;*
  302 +
  303 + <pre><code> <r&#58;meta&#58;description [tag="false"] /> </code></pre>
  304 +
  305 + meta-keywords:
  306 + Emits the page keywords field in a meta tag, unless attribute
  307 + 'tag' is set to 'false'.
  308 +
  309 + *Usage&#58;*
  310 +
  311 + <pre><code> <r&#58;meta&#58;keywords [tag="false"] /> </code></pre>
  312 +
  313 + meta:
  314 + The namespace for 'meta' attributes. If used as a singleton tag, both the description
  315 + and keywords fields will be output as &lt;meta /&gt; tags unless the attribute 'tag' is set to 'false'.
  316 +
  317 + *Usage&#58;*
  318 +
  319 + <pre><code> <r&#58;meta [tag="false"] />
  320 + <r&#58;meta>
  321 + <r&#58;description [tag="false"] />
  322 + <r&#58;keywords [tag="false"] />
  323 + </r&#58;meta>
  324 + </code></pre>
  325 +
  326 + navigation-if_first:
  327 + Renders the containing elements if the element is the first
  328 + in the navigation list
  329 +
  330 + *Usage&#58;*
  331 +
  332 + <pre><code><r&#58;normal><r&#58;if_first>...</r&#58;if_first></r&#58;normal></code></pre>
  333 +
  334 + navigation-if_last:
  335 + Renders the containing elements if the element is the last
  336 + in the navigation list
  337 +
  338 + *Usage&#58;*
  339 +
  340 + <pre><code><r&#58;normal><r&#58;if_last>...</r&#58;if_last></r&#58;normal></code></pre>
  341 +
  342 + navigation:
  343 + Renders a list of links specified in the @urls@ attribute according to three
  344 + states&#58;
  345 +
  346 + * @normal@ specifies the normal state for the link
  347 + * @here@ specifies the state of the link when the url matches the current
  348 + page's URL
  349 + * @selected@ specifies the state of the link when the current page matches
  350 + is a child of the specified url
  351 + # @if_last@ renders its contents within a @normal@, @here@ or
  352 + @selected@ tag if the item is the last in the navigation elements
  353 + # @if_first@ renders its contents within a @normal@, @here@ or
  354 + @selected@ tag if the item is the first in the navigation elements
  355 +
  356 + The @between@ tag specifies what should be inserted in between each of the links.
  357 +
  358 + *Usage&#58;*
  359 +
  360 + <pre><code><r&#58;navigation urls="[Title&#58; url | Title&#58; url | ...]">
  361 + <r&#58;normal><a href="<r&#58;url />"><r&#58;title /></a></r&#58;normal>
  362 + <r&#58;here><strong><r&#58;title /></strong></r&#58;here>
  363 + <r&#58;selected><strong><a href="<r&#58;url />"><r&#58;title /></a></strong></r&#58;selected>
  364 + <r&#58;between> | </r&#58;between>
  365 + </r&#58;navigation>
  366 + </code></pre>
  367 +
  368 + page:
  369 + Causes the tags referring to a page's attributes to refer to the current page.
  370 +
  371 + *Usage&#58;*
  372 +
  373 + <pre><code><r&#58;page>...</r&#58;page></code></pre>
  374 +
  375 + parent:
  376 + Page attribute tags inside this tag refer to the parent of the current page.
  377 +
  378 + *Usage&#58;*
  379 +
  380 + <pre><code><r&#58;parent>...</r&#58;parent></code></pre>
  381 +
  382 + random:
  383 + Randomly renders one of the options specified by the @option@ tags.
  384 +
  385 + *Usage&#58;*
  386 +
  387 + <pre><code><r&#58;random>
  388 + <r&#58;option>...</r&#58;option>
  389 + <r&#58;option>...</r&#58;option>
  390 + ...
  391 + <r&#58;random>
  392 + </code></pre>
  393 +
  394 + rfc1123_date:
  395 + Outputs the published date using the format mandated by RFC 1123. (Ideal for RSS feeds.)
  396 +
  397 + *Usage&#58;*
  398 +
  399 + <pre><code><r&#58;rfc1123_date /></code></pre>
  400 +
  401 + slug:
  402 + Renders the @slug@ attribute of the current page.
  403 +
  404 + smarty_pants:
  405 + Filters its contents with the SmartyPants filter.
  406 +
  407 + *Usage&#58;*
  408 +
  409 + <pre><code><r&#58;smarty_pants>"A revolutionary quotation."</r&#58;smarty_pants></code></pre>
  410 +
  411 + produces
  412 +
  413 + <pre><code>&#8220;A revolutionary quotation.&#8221;</code></pre>
  414 +
  415 + snippet:
  416 + Renders the snippet specified in the @name@ attribute within the context of a page.
  417 +
  418 + *Usage&#58;*
  419 +
  420 + <pre><code><r&#58;snippet name="snippet_name" /></code></pre>
  421 +
  422 + When used as a double tag, the part in between both tags may be used within the
  423 + snippet itself, being substituted in place of @<r&#58;yield/>@.
  424 +
  425 + *Usage&#58;*
  426 +
  427 + <pre><code><r&#58;snippet name="snippet_name">Lorem ipsum dolor...</r&#58;snippet></code></pre>
  428 +
  429 + status:
  430 + Prints the page's status as a string. Optional attribute 'downcase'
  431 + will cause the status to be all lowercase.
  432 +
  433 + *Usage&#58;*
  434 +
  435 + <pre><code><r&#58;status [downcase='true'] /></code></pre>
  436 +
  437 + textile:
  438 + Filters its contents with the Textile filter.
  439 +
  440 + *Usage*&#58;
  441 +
  442 + <pre><code><r&#58;textile>
  443 + * First
  444 + * Second
  445 + </r&#58;textile></code></pre>
  446 +
  447 + produces&#58;
  448 +
  449 + <pre><code><ul>
  450 + <li>First</li>
  451 + <li>Second</li>
  452 + </ul></code></pre>
  453 +
  454 + title:
  455 + Renders the @title@ attribute of the current page.
  456 +
  457 + unless_ancestor_or_self:
  458 + Renders the contained elements unless the current contextual page is either the actual page or one of its parents.
  459 +
  460 + This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is or descends from the current page.
  461 +
  462 + *Usage&#58;*
  463 +
  464 + <pre><code><r&#58;unless_ancestor_or_self>...</r&#58;unless_ancestor_or_self></code></pre>
  465 +
  466 + unless_children:
  467 + Renders the contained elements only if the current contextual page has no children.
  468 + The @status@ attribute limits the status of found child pages to the given status,
  469 + the default is @"published"@. @status="all"@ includes all non-virtual pages
  470 + regardless of status.
  471 +
  472 + *Usage&#58;*
  473 +
  474 + <pre><code><r&#58;unless_children [status="published"]>...</r&#58;unless_children></code></pre>
  475 +
  476 + unless_content:
  477 + The opposite of the @if_content@ tag. It renders the contained elements if all of the
  478 + specified parts do not exist. Setting the optional @inherit@ to true will search
  479 + ancestors independently for each part. By default @inherit@ is set to @false@.
  480 +
  481 + When listing more than one part, you may optionally set the @find@ attribute to @any@
  482 + so that it will not render the containing elements if any of the listed parts are found.
  483 + By default the @find@ attribute is set to @all@.
  484 +
  485 + *Usage&#58;*
  486 +
  487 + <pre><code><r&#58;unless_content [part="part_name, other_part"] [inherit="false"] [find="any"]>...</r&#58;unless_content></code></pre>
  488 +
  489 + unless_dev:
  490 + The opposite of the @if_dev@ tag.
  491 +
  492 + *Usage&#58;*
  493 +
  494 + <pre><code><r&#58;unless_dev>...</r&#58;unless_dev></code></pre>
  495 +
  496 + unless_parent:
  497 + Renders the contained elements only if the current contextual page has no parent, i.e.
  498 + is the root page.
  499 +
  500 + *Usage&#58;*
  501 +
  502 + <pre><code><r&#58;unless_parent>...</r&#58;unless_parent></code></pre>
  503 +
  504 + unless_self:
  505 + Renders the contained elements unless the current contextual page is also the actual page.
  506 +
  507 + This is typically used inside another tag (like &lt;r&#58;children&#58;each&gt;) to add conditional mark-up unless the child element is the current page.
  508 +
  509 + *Usage&#58;*
  510 +
  511 + <pre><code><r&#58;unless_self>...</r&#58;unless_self></code></pre>
  512 +
  513 + unless_url:
  514 + The opposite of the @if_url@ tag.
  515 +
  516 + *Usage&#58;*
  517 +
  518 + <pre><code><r&#58;unless_url matches="regexp" [ignore_case="true|false"]>...</r&#58;unless_url></code></pre>
  519 +
  520 + url:
  521 + Renders the @url@ attribute of the current page.
  522 +
  523 + yield:
  524 + Used within a snippet as a placeholder for substitution of child content, when
  525 + the snippet is called as a double tag.
  526 +
  527 + *Usage (within a snippet)&#58;*
  528 +
  529 + <pre><code>
  530 + <div id="outer">
  531 + <p>before</p>
  532 + <r&#58;yield/>
  533 + <p>after</p>
  534 + </div>
  535 + </code></pre>
  536 +
  537 + If the above snippet was named "yielding", you could call it from any Page,
  538 + Layout or Snippet as follows&#58;
  539 +
  540 + <pre><code><r&#58;snippet name="yielding">Content within</r&#58;snippet></code></pre>
  541 +
  542 + Which would output the following&#58;
  543 +
  544 + <pre><code>
  545 + <div id="outer">
  546 + <p>before</p>
  547 + Content within
  548 + <p>after</p>
  549 + </div>
  550 + </code></pre>
  551 +
  552 + When called in the context of a Page or a Layout, @<r&#58;yield/>@ outputs nothing.
  553 +
1  vendor/extensions/dutch_language_pack/cucumber.yml
... ... @@ -0,0 +1 @@
  1 +default: --format progress features --tags ~@proposed,~@in_progress
9 vendor/extensions/dutch_language_pack/dutch_language_pack_extension.rb
... ... @@ -0,0 +1,9 @@
  1 +class DutchLanguagePackExtension < Radiant::Extension
  2 + version "1.0"
  3 + description "Provides a Dutch translation for the Radiant admin interface"
  4 + url "http://yourwebsite.com/nl"
  5 +
  6 + def activate
  7 +
  8 + end
  9 +end
16 vendor/extensions/dutch_language_pack/features/support/env.rb
... ... @@ -0,0 +1,16 @@
  1 +# Sets up the Rails environment for Cucumber
  2 +ENV["RAILS_ENV"] = "test"
  3 +# Extension root
  4 +extension_env = File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
  5 +require extension_env+'.rb'
  6 +
  7 +Dir.glob(File.join(RADIANT_ROOT, "features", "**", "*.rb")).each {|step| require step}
  8 +
  9 +Cucumber::Rails::World.class_eval do