var map = {}; // 'string=> md5sum'
var _this = this;
- toks.forEach(function (t) {
- if (t.type == 'STRN' && t.name == 'DOUBLE_QUOTE') {
- var sval = t.data.substring(1,t.data.length-1);
- var ffn = fn.substring(_this.prefix.length);
-
- t.trsum = _this.md5(ffn + '-' + sval);
- map[sval] = t.trsum;
+ var t, last, next;
+
+
+ for (var i=0;i<toks.length;i++) {
+
+ t = toks[i];
+ if (t.type != 'STRN') {
+ continue;
}
+ if (t.name != 'DOUBLE_QUOTE') {
+ continue;
+ }
+
+ last = i > 0 ? toks[i-1] : false;
+ next = i+1 < toks.length ? toks[i+1] : false;
+
+ // we have to ignore key values on objects
+
+ // defined by
+ // last == '{' or ',' and
+ // next == ':'
+
+ if (next &&
+ next.type == 'PUNC' &&
+ next.data == ':' &&
+ last &&
+ last.type == 'PUNC' &&
+ (last.data == ',' || last.data == '{')
+ ){
+ continue; // found object key... - we can not translate these
+ }
+
+ var sval = t.data.substring(1,t.data.length-1);
+ var ffn = fn.substring(_this.prefix.length);
+
+ t.trsum = _this.md5(ffn + '-' + sval);
+ map[sval] = t.trsum;
+
+
+
+ }
+ toks.forEach(function (t) {
+
})
var transfile = minfile + '.lang.trans';