aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-06-20 12:32:10 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-06-20 12:32:10 +0300
commit446e6e6f3b8e16e847d69fd660abf9a4ee21bb13 (patch)
tree7cc58d19dc7a1c922b52f29c7f1ccf27b2322232 /tools
parentMove mod_irc to ejabberd-contrib (diff)
Update ejabberd.pot
Diffstat (limited to 'tools')
-rwxr-xr-xtools/extract-tr.sh34
1 files changed, 20 insertions, 14 deletions
diff --git a/tools/extract-tr.sh b/tools/extract-tr.sh
index 8f88b16ff..a37b36474 100755
--- a/tools/extract-tr.sh
+++ b/tools/extract-tr.sh
@@ -2,21 +2,26 @@
%% -*- erlang -*-
%%! -pa ebin
-main([Dir]) ->
+main(Dirs) ->
Txts =
- filelib:fold_files(
- Dir, ".+\.beam\$", false,
- fun(BeamFile, Res) ->
- Mod = mod(BeamFile),
- ErlFile = filename:join("src", Mod ++ ".erl"),
- case get_forms(BeamFile, ErlFile) of
- {ok, BeamForms, ErlForms} ->
- process_forms(BeamForms, Mod, application) ++
- process_forms(ErlForms, Mod, macro) ++ Res;
- _Err ->
- Res
- end
- end, []),
+ lists:foldl(
+ fun(Dir, Acc) ->
+ EbinDir = filename:join(Dir, "ebin"),
+ SrcDir = filename:join(Dir, "src"),
+ filelib:fold_files(
+ EbinDir, ".+\.beam\$", false,
+ fun(BeamFile, Res) ->
+ Mod = mod(BeamFile),
+ ErlFile = filename:join(SrcDir, Mod ++ ".erl"),
+ case get_forms(BeamFile, ErlFile) of
+ {ok, BeamForms, ErlForms} ->
+ process_forms(BeamForms, Mod, application) ++
+ process_forms(ErlForms, Mod, macro) ++ Res;
+ _Err ->
+ Res
+ end
+ end, Acc)
+ end, [], Dirs),
Dict = lists:foldl(
fun({B, Meta}, Acc) ->
dict:update(
@@ -137,6 +142,7 @@ analyze_app(Form, Mod) ->
{xmpp, "err_" ++ _, 2, [T|_]} -> T;
{xmpp, "serr_" ++ _, 2, [T|_]} -> T;
{xmpp, "mk_text", 2, [T|_]} -> T;
+ {xmpp_tr, "tr", 2, [_,T|_]} -> T;
{translate, "translate", 2, [_,T|_]} -> T
end,
Pos = erl_syntax:get_pos(Txt),