]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/plugins/rails-i18n/test/lib/key_structure.rb
Switch to using the rails-i18n-updater gem instead of the rails-i18n plugin
[rails.git] / vendor / plugins / rails-i18n / test / lib / key_structure.rb
diff --git a/vendor/plugins/rails-i18n/test/lib/key_structure.rb b/vendor/plugins/rails-i18n/test/lib/key_structure.rb
deleted file mode 100644 (file)
index aeb7165..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-$KCODE = 'u'
-
-require 'rubygems'
-require 'i18n'
-
-module I18n
-  module Backend
-    class Simple
-      public :translations, :init_translations
-    end
-  end
-end
-
-class KeyStructure
-  attr_reader :result
-  
-  def initialize(locale)
-    @locale = locale.to_sym
-    init_backend
-
-    @reference = I18n.backend.translations[:'en']
-    @data = I18n.backend.translations[@locale]
-    
-    @result = {:bogus => [], :missing => [], :pluralization => []}
-    @key_stack = []
-  end
-  
-  def run
-    compare :missing, @reference, @data
-    compare :bogus, @data, @reference
-  end
-  
-  def output
-    [:missing, :bogus, :pluralization].each do |direction|
-      next unless result[direction].size > 0
-      case direction
-      when :pluralization
-        puts "\nThe following pluralization keys seem to differ:"
-      else
-        puts "\nThe following keys seem to be #{direction} for #{@locale.inspect}:"
-      end
-      puts '   ' + result[direction].join("\n   ")
-    end
-    if result.map{|k, v| v.size == 0}.uniq == [true]
-      puts "No inconsistencies found."
-    end
-    puts "\n"
-  end
-  
-  protected
-  
-    def compare(direction, reference, data)
-      reference.each do |key, value|
-        if data.has_key?(key)
-          @key_stack << key
-          if namespace?(value)
-            compare direction, value, (namespace?(data[key]) ? data[key] : {})
-          elsif pluralization?(value)
-            compare :pluralization, value, (pluralization?(data[key]) ? data[key] : {})
-          end
-          @key_stack.pop
-        else
-          @result[direction] << current_key(key)
-        end
-      end
-    end
-  
-    def current_key(key)
-      (@key_stack.dup << key).join('.')
-    end
-    
-    def namespace?(hash)
-      Hash === hash and !pluralization?(hash)
-    end
-    
-    def pluralization?(hash)
-      Hash === hash and hash.has_key?(:one) and hash.has_key?(:other)
-    end
-  
-    def init_backend
-      I18n.load_path = %W(
-        rails/action_view.yml
-        rails/active_record.yml
-        rails/active_support.yml
-      )
-      I18n.load_path += Dir["locale/#{@locale}.{rb,yml}"]
-      I18n.backend.init_translations
-    end
-end