diff --git a/data/tools/wesnoth/wmlparser2.py b/data/tools/wesnoth/wmlparser2.py index d114e68124e..61b14bd80f0 100755 --- a/data/tools/wesnoth/wmlparser2.py +++ b/data/tools/wesnoth/wmlparser2.py @@ -192,6 +192,8 @@ class RootNode(TagNode): return s class Parser: + trans_pat = re.compile(r'^_\s*"') + def __init__(self, wesnoth_exe, config_dir, data_dir, no_preprocess): """ @@ -371,9 +373,9 @@ class Parser: if not segment: continue - if segment[0] == "_": + if trans_pat.match(segment): self.translatable = True - segment = segment[1:].lstrip(" ") + segment = segment[1:].lstrip(" ")[1:-1] if not segment: continue self.handle_value(segment) diff --git a/data/tools/wesnoth/wmlparser3.py b/data/tools/wesnoth/wmlparser3.py index 71d68a0e4fe..c7bf22db219 100755 --- a/data/tools/wesnoth/wmlparser3.py +++ b/data/tools/wesnoth/wmlparser3.py @@ -289,6 +289,8 @@ class RootNode(TagNode): return s class Parser: + trans_pat = re.compile(r'^_\s*"') + def __init__(self, wesnoth_exe = None, config_dir = None, data_dir = None): """ @@ -488,9 +490,9 @@ class Parser: if not segment: continue - if segment.startswith(b"_"): + if self.trans_pat.match(segment): self.translatable = True - segment = segment[1:].lstrip(b" ") + segment = segment[1:].lstrip(b" ")[1:-1] if not segment: continue self.handle_value(segment)