Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: cms/converters.py

Issue 29317015: Issue 2625 - [cms] Crowdin synchronisation script (Closed)
Patch Set: Addressed Wladimir's feedback Created July 2, 2015, 12:29 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cms/converters.py
diff --git a/cms/converters.py b/cms/converters.py
index 8f602f3f36149a3b70ac17f6054197a84756b056..94c06f03b964bce26122824440056bc2f9edfa19 100644
--- a/cms/converters.py
+++ b/cms/converters.py
@@ -125,7 +125,7 @@ class Converter:
params[name.strip()] = value.strip()
params[key] = "".join(lines)
- def localize_string(self, name, default, localedata, escapes):
+ def localize_string(self, page, name, default, comment, localedata, escapes):
def escape(s):
return re.sub(r".",
lambda match: escapes.get(match.group(0), match.group(0)),
@@ -140,6 +140,10 @@ class Converter:
locale = self._params["locale"]
if locale == self._params["defaultlocale"]:
result = default
+ # Store the default string if required, e.g. for the translations script
+ if self._params["record_default_strings"]:
Sebastian Noack 2015/07/08 13:03:20 Is there any particular reason we call that functi
Wladimir Palant 2015/07/08 23:11:08 That's assumptions, the kind that might not be tru
Sebastian Noack 2015/07/09 21:26:55 Or the other way around. As far as I see it this c
Wladimir Palant 2015/07/10 21:24:04 True. If we generalize the parameter name into som
kzar 2015/07/11 19:21:17 Done.
+ self._params["record_default_strings"](page, name, default,
+ comment, fixed_strings)
elif name in localedata:
result = localedata[name].strip()
else:
@@ -185,9 +189,8 @@ class Converter:
name, comment, default = match.groups()
default = to_html(default).strip()
- # Note: We currently ignore the comment, it is only relevant when
- # generating the master translation.
- return self.localize_string(name, default, self._params["localedata"], escapes)
+ return self.localize_string(self._params["page"], name, default,
+ comment, self._params["localedata"], escapes)
return re.sub(
r"{{\s*"
@@ -352,15 +355,17 @@ class TemplateConverter(Converter):
return result
def translate(self, default, name, comment=None):
- # Note: We currently ignore the comment, it is only relevant when
- # generating the master translation.
- localedata = self._params["localedata"]
- return jinja2.Markup(self.localize_string(name, default, localedata, html_escapes))
+ return jinja2.Markup(self.localize_string(
+ self._params["page"], name, default, comment,
+ self._params["localedata"], html_escapes
+ ))
def get_string(self, name, page):
localedata = self._params["source"].read_locale(self._params["locale"], page)
default = localedata[name]
- return jinja2.Markup(self.localize_string(name, default, localedata, html_escapes))
+ return jinja2.Markup(self.localize_string(
+ page, name, default, "", localedata, html_escapes
+ ))
def get_page_content(self, page, locale=None):
from cms.utils import get_page_params

Powered by Google App Engine
This is Rietveld