]> source.dussan.org Git - redmine.git/commitdiff
Check that locale is well formed.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 3 Jan 2013 11:12:41 +0000 (11:12 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 3 Jan 2013 11:12:41 +0000 (11:12 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11096 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/tasks/locales.rake

index 8ad0118810a6bc97b567601afe03e4266dc3f5e7..6311d6ab1e5f7704027e220aba6084f3fd1cbff1 100644 (file)
@@ -43,7 +43,15 @@ namespace :locales do
     files = Dir.glob(File.join(dir,'*.{yaml,yml}'))
     files.sort.each do |file|
       puts "parsing #{file}..."
-      file_strings = YAML.load(File.read(file))
+      file_strings = YAML.load_file(file)
+      unless file_strings.is_a?(Hash)
+        puts "#{file}: content is not a Hash (#{file_strings.class.name})"
+        next
+      end
+      unless file_strings.keys.size == 1
+        puts "#{file}: content has multiple keys (#{file_strings.keys.size})"
+        next
+      end
       file_strings = file_strings[file_strings.keys.first]
 
       file_strings.each do |key, string|