X-Git-Url: http://nitlanguage.org diff --git a/src/frontend/i18n_phase.nit b/src/frontend/i18n_phase.nit index dc550af..14bf436 100644 --- a/src/frontend/i18n_phase.nit +++ b/src/frontend/i18n_phase.nit @@ -58,7 +58,7 @@ private class I18NPhase var pot_path = locale_dir / module_name var arr = vi.strings.values.to_a - var po = new POFile.with_strings(arr) + var po = new POFile(arr) po.write_template(pot_path) if lang != null then @@ -130,8 +130,8 @@ end redef class AStringExpr redef fun accept_string_finder(v) do - var str = value.as(not null).escape_to_gettext - var code = "\"{str}\".get_translation(\"{v.domain}\", \"{v.languages_location}\").unescape_nit" + var str = value.escape_to_gettext + var code = "\"{str}\".get_translation(\"{v.domain}\", \"{v.languages_location}\")" var parse = v.toolcontext.parse_expr(code) replace_with(parse) v.add_string(str, location) @@ -146,16 +146,17 @@ redef class ASuperstringExpr for i in n_exprs do if i isa AStartStringExpr or i isa AEndStringExpr or i isa AMidStringExpr then assert i isa AStringFormExpr - fmt += i.value.as(not null) + var str = i.value + fmt += str.replace("%", "%%") else fmt += "%" exprs.push i - fmt += exprs.length.to_s + fmt += (exprs.length-1).to_s end end fmt = fmt.escape_to_gettext v.add_string(fmt, location) - var code = "\"{fmt}\".get_translation(\"{v.domain}\", \"{v.languages_location}\").unescape_nit.format()" + var code = "\"{fmt}\".get_translation(\"{v.domain}\", \"{v.languages_location}\").format()" var parse = v.toolcontext.parse_expr(code) if not parse isa ACallExpr then v.toolcontext.error(location, "Fatal error in i18n annotation, the parsed superstring could not be generated properly") @@ -191,12 +192,6 @@ class POFile # Read from a PO file var strings: Array[PObject] - # Creates a PO file with strings built-in - init with_strings(sm: Array[PObject])do - strings = new Array[PObject].with_capacity(sm.length) - strings.add_all sm - end - redef fun write_to_file(path) do if not path.has_suffix(".po") then path += ".po" super path