Browse Source

add missing context clause for trans tag (#162)

Andreas Stenius 11 years ago
parent
commit
4a98a8ea72
2 changed files with 17 additions and 1 deletions
  1. 10 0
      src/i18n/sources_parser.erl
  2. 7 1
      test/sources_parser_tests.erl

+ 10 - 0
src/i18n/sources_parser.erl

@@ -156,6 +156,16 @@ process_token(Fname, {trans,{string_literal,{Line,Col},String}}, #state{acc=Acc,
                      line=Line,
                      col=Col},
     St#state{acc=[Phrase | Acc], translators_comment=undefined};
+process_token(Fname,
+              {trans,{string_literal,{Line,Col}, String}, {string_literal, _, Context}},
+              #state{acc=Acc, translators_comment=Comment}=St) ->
+    Phrase = #phrase{msgid=unescape(String),
+                     context=unescape(Context),
+                     comment=Comment,
+                     file=Fname,
+                     line=Line,
+                     col=Col},
+    St#state{acc=[Phrase | Acc], translators_comment=undefined};
 process_token(Fname, {blocktrans, Args, Contents, PluralContents}, #state{acc=Acc, translators_comment=Comment}=St) ->
     {Fname, Line, Col} = guess_blocktrans_lc(Fname, Args, Contents),
     Phrase = #phrase{msgid=unparse(Contents),

+ 7 - 1
test/sources_parser_tests.erl

@@ -62,7 +62,13 @@ ext_test_defs() ->
       {[msgid, context], [["msg", "ctxt"]]}},
      {"blocktrans with plural form",
       <<"{%blocktrans%}msg{%plural%}msgs{%endblocktrans%}">>,
-      {[msgid, msgid_plural], [["msg", "msgs"]]}}
+      {[msgid, msgid_plural], [["msg", "msgs"]]}},
+     {"trans with context",
+      <<"{% trans 'msg' context 'ctxt' %}">>,
+      {[msgid, context], [["msg", "ctxt"]]}},
+     {"trans noop is empty",
+      <<"{% trans 'msg' noop %}">>,
+      {[msgid], []}}
     ].
 
 unparser_test_() ->