summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-24 21:09:29 +0300
committerEvgeny Khramtsov <ekhramtsov@process-one.net>2019-06-24 21:09:29 +0300
commit49214d9cc5a671bf6e455bcd0ca6af89f16ca2c8 (patch)
tree1ef93f98e37983c55871195904f1d57032390b3e /tools
parentMake logging messages more consistent (diff)
Report invalid translation strings
Diffstat (limited to 'tools')
-rwxr-xr-xtools/extract-tr.sh15
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/extract-tr.sh b/tools/extract-tr.sh
index 0375a1f2..242a81fe 100755
--- a/tools/extract-tr.sh
+++ b/tools/extract-tr.sh
@@ -10,8 +10,13 @@ main(Paths) ->
generate_pot(Dict).
extract_tr(File, [{'?', _}, {var, _, 'T'}, {'(', Line}|Tokens], Acc) ->
- {String, Tokens1} = extract_string(Tokens, []),
- extract_tr(File, Tokens1, dict:append(String, {File, Line}, Acc));
+ case extract_string(Tokens, "") of
+ {"", Tokens1} ->
+ err("~s:~B: Warning: invalid string", [File, Line]),
+ extract_tr(File, Tokens1, Acc);
+ {String, Tokens1} ->
+ extract_tr(File, Tokens1, dict:append(String, {File, Line}, Acc))
+ end;
extract_tr(File, [_|Tokens], Acc) ->
extract_tr(File, Tokens, Acc);
extract_tr(_, [], Acc) ->
@@ -19,8 +24,10 @@ extract_tr(_, [], Acc) ->
extract_string([{string, _, S}|Tokens], Acc) ->
extract_string(Tokens, [S|Acc]);
-extract_string(Tokens, Acc) ->
- {lists:flatten(lists:reverse(Acc)), Tokens}.
+extract_string([{')', _}|Tokens], Acc) ->
+ {lists:flatten(lists:reverse(Acc)), Tokens};
+extract_string(Tokens, _) ->
+ {"", Tokens}.
fold_erls(Fun, State, Paths) ->
Paths1 = fold_paths(Paths),