msgmerge (GetText)

    # File lib/gettext/tools.rb, line 57
      def msgmerge(defpo, refpo, app_version, options={})
        verbose = options.delete(:verbose)
        puts "msgmerge called" if verbose
        $stderr.print defpo + " "

        content = merge_po_files(defpo,refpo,options.delete(:msgmerge),verbose)

        if content.empty?
          # report failure
          failed_filename = refpo + "~"
          FileUtils.cp(refpo, failed_filename)
          $stderr.puts _("Failed to merge with %{defpo}") % {:defpo => defpo}
          $stderr.puts _("New .pot was copied to %{failed_filename}") %{:failed_filename => failed_filename}
          raise _("Check these po/pot-files. It may have syntax errors or something wrong.")
        else
          # update version and save merged data
          content.sub!(/(Project-Id-Version\:).*$/, "\\1 #{app_version}\\n\"")
          File.open(defpo, "w") {|f|f.write(content)}
        end

        self
      end