require 'rexml/document' require 'amrita2' require 'amrita2/testsupport' require 'amrita2/template' require 'amrita2/gettext' require 'gettext/utils' require 'fileutils' include Amrita2 include Amrita2::Filters include Amrita2::GetTextBridge require File::dirname(__FILE__) + '/gettext_util' $KCODE='u' context "gettext static element" do include Amrita2GetTextTestSupport TEMPFILE='/tmp/test.a2html' specify "every text becomes an entry of po" do Locale.set_current("ja", "JP", "utf8") test_gettext("test1", TEMPFILE, "<span>test message</span>", [ %r[#: /tmp/test.a2html:-], %r[msgid "test message"], ], {}, "テストメッセージ" ) do |l| l.sub!(%r[msgid "test message"\nmsgstr ""]m, %[msgid "test message"\nmsgstr "テストメッセージ"]) l end end specify "strip messages" do Locale.set_current("ja", "JP", "utf8") test_gettext("test1", TEMPFILE, "<span> test message </span>", [ %r[#: /tmp/test.a2html:-], %r[msgid "test message"], ], {}, "テストメッセージ" ) do |l| l.sub!(%r[msgid "test message"\nmsgstr ""]m, %[msgid "test message"\nmsgstr "テストメッセージ"]) l end end specify "two messages" do test_gettext("test3", TEMPFILE, "<div><span> test message1 </span><span>test message2</span></div>", [ %r[#: /tmp/test.a2html:-], %r[msgid "test message1"], %r[msgid "test message2"], ], {}, "<div>あああいいい</div>" ) do |l| l.sub!(%r[msgid "test message1"\nmsgstr ""]m, %[msgid "test message1"\nmsgstr "あああ"]) l.sub!(%r[msgid "test message2"\nmsgstr ""]m, %[msgid "test message2"\nmsgstr "いいい"]) l end end specify "text with html comment" do Locale.set_current("ja", "JP", "utf8") test_gettext("test1", TEMPFILE, "<!-- comment --><span>test message</span>", [ %r[#: /tmp/test.a2html:-], %r[msgid "test message"], ], {}, "<!-- comment -->\nテストメッセージ" ) do |l| l.sub!(%r[msgid "test message"\nmsgstr ""]m, %[msgid "test message"\nmsgstr "テストメッセージ"]) l end end end context "format with gettext" do include Amrita2GetTextTestSupport specify "format1" do Locale.set_current("ja", "JP", "utf8") test_gettext( "format1", TEMPFILE, "<span>%{filename} is %{filesize} byte</span>", [ %r[#: #{TEMPFILE}:-], %r[msgid "%\{filename\} is %\{filesize\} byte"], ], { :filename => "foo.rb", :filesize => 100 }, "foo.rbの大きさは100バイトです" ) do |l| l.sub!(%r[msgid "%\{filename\} is %\{filesize\} byte"\nmsgstr ""]m, %[msgid "%\{filename\} is %\{filesize\} byte"\nmsgstr "%{filename}の大きさは%{filesize}バイトです"]) l end end end