diff options
| author | Odoo's Mergebot <xmo+roboto@odoo.com> | 2020-06-18 13:51:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-18 13:51:48 +0200 |
| commit | e617aa91c536093f481da28b0cf061a6abe55b2a (patch) | |
| tree | 74fbff684e24f5389db77e63ee74f236039a3afb /addons/web/controllers | |
| parent | cb7a7deec5c1eda8c156e1b1f9e1f1e38d0abda2 (diff) | |
| parent | 80e97e98ce76067db1079af8feeef667cfadf837 (diff) | |
[MERGE] tools: better placeholder support for _
Support two new syntaxes with `_()` method:
_("This is so %s") % 2019
_("Text with %s placeholders", 42)
_("Text with %(num)s placeholders %(symbol)s", num=42, symbol="🧀")
The main benefit is to have a fallback on the source string if formating the
translated string fails (e.g. "Foo %s" translated "Foo s%").
This PR converted most (but not all) calls to _ using placeholders to use the
new syntax. Hopefully, the remaining ones will be converted in the future and
avoid technical debt.
Use named placeholders when needed. If more than one placeholder is present in a
string, using named placeholder can be beneficial to reorder the placehodler
position (for languages like Japanese that do not use the same phrase
construction). On some sentences, it also brings clarity on the meaning of the
placeholders.
closes odoo/odoo#52155
Task-id: 1853119
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Diffstat (limited to 'addons/web/controllers')
| -rw-r--r-- | addons/web/controllers/main.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index c69ee0d66ce..383308061de 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -773,11 +773,11 @@ class ExportXlsxWriter: # fails note that you can't export cell_value = pycompat.to_text(cell_value) except UnicodeDecodeError: - raise UserError(_("Binary fields can not be exported to Excel unless their content is base64-encoded. That does not seem to be the case for %s.") % self.field_names[column]) + raise UserError(_("Binary fields can not be exported to Excel unless their content is base64-encoded. That does not seem to be the case for %s.", self.field_names)[column]) if isinstance(cell_value, str): if len(cell_value) > self.worksheet.xls_strmax: - cell_value = _("The content of this cell is too long for an XLSX file (more than %s characters). Please use the CSV format for this export.") % self.worksheet.xls_strmax + cell_value = _("The content of this cell is too long for an XLSX file (more than %s characters). Please use the CSV format for this export.", self.worksheet.xls_strmax) else: cell_value = cell_value.replace("\r", " ") elif isinstance(cell_value, datetime.datetime): |
