From 97e17ccdbf9cce42049fca3dd58ae1f2e5e48280 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 3 Mar 2015 14:44:50 +0800 Subject: [PATCH] src/JsRender/Roo.vala --- src/JsRender/Roo.vala | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/JsRender/Roo.vala b/src/JsRender/Roo.vala index 706eb428d..97582e3ec 100644 --- a/src/JsRender/Roo.vala +++ b/src/JsRender/Roo.vala @@ -313,7 +313,38 @@ namespace JsRender { public Gee.ArrayList transStrings(Node node, Gee.ArrayList ret) { // iterate properties... - // use doubleStringProps + // use doubleStringProps + var iter = node.props.map_iterator(); + while (iter.next()) { + // key formats : XXXX + // XXX - plain + // string XXX - with type + // $ XXX - with flag (no type) + // $ string XXX - with flag + string kname; + string ktype; + string kflag; + node.normalize_key(iter.get_key(), out kname, out ktype, out kflag); + if (kflag == "$") { + continue; + } + var str = iter.get_value(); + if (this.doubleStringProps.indexOf(kname) > -1) { + this.transStrings.set(str, + GLib.Checksum.compute_for_string (ChecksumType.MD5, str) + ); + continue; + } + if (ktype == "string" && kname[0] == '_') { + this.transStrings.set(str, + GLib.Checksum.compute_for_string (ChecksumType.MD5, str) + ); + continue; + } + + } + + for (var i =0;i < this.doubleStringProps.size; i++) { var k = this.doubleStringProps.get(i); if (if (!node.has(k)) { @@ -329,6 +360,12 @@ namespace JsRender { GLib.Checksum.compute_for_string (ChecksumType.MD5, str) ); } + // flagging a translatable string.. + // the code would use string _astring to indicate a translatable string + // the to use it it would do String.format(this._message, somedata); + + // loop through and find string starting with '_' + // iterate children.. -- 2.39.2