From 4611a8ef6e81c531fc02df887470f418a184c5df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Fri, 19 Jun 2015 10:59:30 -0400 Subject: [PATCH] src/i18n_phase: use an escape custom to gettext MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- src/frontend/i18n_phase.nit | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/frontend/i18n_phase.nit b/src/frontend/i18n_phase.nit index 6e373e6..32fa326 100644 --- a/src/frontend/i18n_phase.nit +++ b/src/frontend/i18n_phase.nit @@ -130,8 +130,8 @@ end redef class AStringExpr redef fun accept_string_finder(v) do - var str = value.as(not null).escape_to_c var parse = v.toolcontext.parse_expr("\"{str}\".get_translation(\"{v.domain}\", \"{v.languages_location}\").unescape_nit") + var str = value.as(not null).escape_to_gettext replace_with(parse) v.add_string(str, location) end @@ -152,7 +152,7 @@ redef class ASuperstringExpr fmt += exprs.length.to_s end end - fmt = fmt.escape_to_c + fmt = fmt.escape_to_gettext v.add_string(fmt, location) var parse = v.toolcontext.parse_expr("\"{fmt}\".get_translation(\"{v.domain}\", \"{v.languages_location}\").unescape_nit.format()") if not parse isa ACallExpr then @@ -217,3 +217,10 @@ class POFile f.close end end + +redef class Text + private fun escape_to_gettext: String + do + return escape_to_c.replace("\{", "\\\{").replace("\}", "\\\}") + end +end -- 1.7.9.5