X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=Rakefile;h=822fe7327fe1f841ca28194470f67118f382bf5b;hb=29faf7573130bb0f672f4a9cd3a62bcdd409f4cc;hp=f5b3a1261b267b5a0a484763b05514d8819cfaae;hpb=41ee2094532eb26b2bd0577ecbdea55ad0bdb769;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/Rakefile b/Rakefile index f5b3a126..822fe732 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ task :default => [:buildext] spec = Gem::Specification.new do |s| s.name = 'rbot' - s.version = '0.9.11' + s.version = '0.9.15' s.summary = <<-EOF A modular ruby IRC bot. EOF @@ -42,11 +42,6 @@ end def normalize_po(fn) content = File.read(fn) - # replace project-id-version placholder - modified = content.sub!(/^("Project-Id-Version: )PACKAGE VERSION(\\n")$/) { - "#{$1}rbot#{$2}" - } - # sort the messages by file location if MSGCAT sorted = `#{MSGCAT} --width=79 --sort-by-file #{fn}` @@ -56,6 +51,11 @@ def normalize_po(fn) end end + # replace project-id-version placholder + modified |= content.sub!(/^("Project-Id-Version: )PACKAGE VERSION(\\n")$/) { + "#{$1}rbot#{$2}" + } + if modified File.open(fn, 'w') {|f| f.write content} end @@ -107,8 +107,12 @@ task :define_po_rules do puts "#{pot_file} => #{po_file}" if File.exists? po_file sh "#{MSGMERGE} --backup=off --update #{po_file} #{pot_file}" + elsif MSGINIT + locale = po_file[%r'^po/(.+)/.+\.po$', 1] + sh "#{MSGINIT} --locale=#{locale} --no-translator --input=#{pot_file} --output-file=#{po_file}" else - cp pot_file, po_file + warn "#{po_file} is missing and cannot be generated without msginit" + next end normalize_po(po_file) touch po_file @@ -149,6 +153,9 @@ task :check_po_tools do 'msgmerge' => { :options => %w[--backup= --update], :message => 'Cannot update po files' }, + 'msginit' => { + :options => %w[--locale= --no-translator --input= --output-file=], + :message => 'Cannot generate missing po files' }, 'msgcomm' => { :options => %w[--unique], :message => 'Pot files may be modified even without message change' }, @@ -202,8 +209,7 @@ task :buildext do end desc 'Generate mo files' -task :makemo => LOCALES.map {|l| - ["data/locale/#{l}/LC_MESSAGES/rbot.mo"] + - PLUGIN_BASENAMES.map {|n| "data/locale/#{l}/LC_MESSAGES/rbot-#{n}.mo"} -}.flatten +task :makemo => + FileList['po/*/*.po'].pathmap('%{^po,data/locale}d/LC_MESSAGES/%n.mo') +