remove trailing white-spaces from lib/tasks/locales.rake.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5724 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-05-10 11:41:30 +00:00
parent 0418774f50
commit 2714f6bcac
1 changed files with 10 additions and 10 deletions

View File

@ -9,21 +9,21 @@ namespace :locales do
desc 'Updates language files based on en.yml content (only works for new top level keys).' desc 'Updates language files based on en.yml content (only works for new top level keys).'
task :update do task :update do
dir = ENV['DIR'] || './config/locales' dir = ENV['DIR'] || './config/locales'
en_strings = YAML.load(File.read(File.join(dir,'en.yml')))['en'] en_strings = YAML.load(File.read(File.join(dir,'en.yml')))['en']
files = Dir.glob(File.join(dir,'*.{yaml,yml}')) files = Dir.glob(File.join(dir,'*.{yaml,yml}'))
files.each do |file| files.each do |file|
puts "Updating file #{file}" puts "Updating file #{file}"
file_strings = YAML.load(File.read(file)) file_strings = YAML.load(File.read(file))
file_strings = file_strings[file_strings.keys.first] file_strings = file_strings[file_strings.keys.first]
missing_keys = en_strings.keys - file_strings.keys missing_keys = en_strings.keys - file_strings.keys
next if missing_keys.empty? next if missing_keys.empty?
puts "==> Missing #{missing_keys.size} keys (#{missing_keys.join(', ')})" puts "==> Missing #{missing_keys.size} keys (#{missing_keys.join(', ')})"
lang = File.open(file, 'a') lang = File.open(file, 'a')
missing_keys.each do |key| missing_keys.each do |key|
{key => en_strings[key]}.to_yaml.each_line do |line| {key => en_strings[key]}.to_yaml.each_line do |line|
next if line =~ /^---/ || line.empty? next if line =~ /^---/ || line.empty?
@ -31,11 +31,11 @@ namespace :locales do
lang << " #{line}" lang << " #{line}"
end end
end end
lang.close lang.close
end end
end end
desc 'Checks interpolation arguments in locals against en.yml' desc 'Checks interpolation arguments in locals against en.yml'
task :check_interpolation do task :check_interpolation do
dir = ENV['DIR'] || './config/locales' dir = ENV['DIR'] || './config/locales'
@ -44,7 +44,7 @@ namespace :locales do
files.each do |file| files.each do |file|
file_strings = YAML.load(File.read(file)) file_strings = YAML.load(File.read(file))
file_strings = file_strings[file_strings.keys.first] file_strings = file_strings[file_strings.keys.first]
file_strings.each do |key, string| file_strings.each do |key, string|
next unless string.is_a?(String) next unless string.is_a?(String)
string.scan /%\{\w+\}/ do |match| string.scan /%\{\w+\}/ do |match|
@ -71,7 +71,7 @@ END_DESC
deletes = ENV['key'] ? Regexp.union(ENV['key'].split(',')) : nil deletes = ENV['key'] ? Regexp.union(ENV['key'].split(',')) : nil
# Ignore multiline keys (begin with | or >) and keys with children (nothing meaningful after :) # Ignore multiline keys (begin with | or >) and keys with children (nothing meaningful after :)
delete_regex = /\A #{deletes}: +[^\|>\s#].*\z/ delete_regex = /\A #{deletes}: +[^\|>\s#].*\z/
files.each do |path| files.each do |path|
# Skip certain locales # Skip certain locales
(puts "Skipping #{path}"; next) if File.basename(path, ".yml") =~ skips (puts "Skipping #{path}"; next) if File.basename(path, ".yml") =~ skips
@ -80,7 +80,7 @@ END_DESC
File.open(path, 'w') {|file| orig_content.each_line {|line| file.puts line unless line.chomp =~ delete_regex}} File.open(path, 'w') {|file| orig_content.each_line {|line| file.puts line unless line.chomp =~ delete_regex}}
end end
end end
desc <<-END_DESC desc <<-END_DESC
Adds a new top-level translation string to all locale file (only works for childless keys, probably doesn\'t work on windows, doesn't check for duplicates). Adds a new top-level translation string to all locale file (only works for childless keys, probably doesn\'t work on windows, doesn't check for duplicates).