aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tasks
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2012-02-02 14:41:30 +0000
committerSeb Bacon <seb.bacon@gmail.com>2012-02-02 14:41:30 +0000
commit9cb73757009dab8c71c9a374c935cd50fa38094f (patch)
tree89c59357b714447d69b2b226c722f95333cfadde /lib/tasks
parent53d249b2c500dae07e934c0009d0813181092702 (diff)
New improved find-msgids-and-make-pot-file rake task:
(a) it doesn't do fuzzy matches (apparently Transifex does that for you) (b) it doesn't update all the PO files too (which certainly Transifex does for you)
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gettext.rake20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index 017e7c837..8ffd5ce1b 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -1,5 +1,23 @@
namespace :gettext do
+
+ desc "Update pot file only, without fuzzy guesses (these are done by Transifex)"
+ task :findpot => :environment do
+ load_gettext
+ $LOAD_PATH << File.join(File.dirname(__FILE__),'..','..','lib')
+ require 'gettext_i18n_rails/haml_parser'
+ files = files_to_translate
+
+ #write found messages to tmp.pot
+ temp_pot = "tmp.pot"
+ GetText::rgettext(files, temp_pot)
+
+ #merge tmp.pot and existing pot
+ FileUtils.mkdir_p('locale')
+ GetText::msgmerge("locale/app.pot", temp_pot, "version 0.0.1", :po_root => 'locale', :msgmerge=>[ :no_fuzzy_matching, :sort_output ])
+ File.delete(temp_pot)
+ end
+
def files_to_translate
Dir.glob("{app,lib,config,locale}/**/*.{rb,erb,haml,rhtml}")
end
-end \ No newline at end of file
+end