Commit d383cc6f09a9472da3152372c778c30c54a9cec1
1 parent
8a197dbb
Exists in
master
and in
29 other branches
add per-language checkpo:$lang task
Showing
1 changed file
with
18 additions
and
1 deletions
Show diff stats
lib/tasks/gettext.rake
... | ... | @@ -106,8 +106,25 @@ Dir.glob('plugins/*').each do |plugindir| |
106 | 106 | end |
107 | 107 | end |
108 | 108 | |
109 | +def checkpo(po_files) | |
110 | + max = po_files.map(&:size).max | |
111 | + po_files.each do |po| | |
112 | + printf "%#{max}s: ", po | |
113 | + system "msgfmt --statistics --output /dev/null " + po | |
114 | + end | |
115 | +end | |
116 | + | |
117 | +desc "checks core translation files" | |
109 | 118 | task :checkpo do |
110 | - sh 'for po in po/*/noosfero.po; do echo -n "$po: "; msgfmt --statistics --output /dev/null $po; done' | |
119 | + checkpo(Dir.glob('po/*/noosfero.po')) | |
120 | +end | |
121 | + | |
122 | +languages = Dir.glob('po/*').select { |d| File.directory?(d) }.map { |d| File.basename(d) } | |
123 | +languages.each do |lang| | |
124 | + desc "checks #{lang} translation files" | |
125 | + task "checkpo:#{lang}" do | |
126 | + checkpo(Dir.glob("po/#{lang}/*.po") + Dir.glob("plugins/*/po/#{lang}/*.po")) | |
127 | + end | |
111 | 128 | end |
112 | 129 | |
113 | 130 | # vim: ft=ruby | ... | ... |