diff options
-rw-r--r-- | tools/lpgen/lpgen.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/lpgen/lpgen.js b/tools/lpgen/lpgen.js index dc6edfdc97..b9bb283ee0 100644 --- a/tools/lpgen/lpgen.js +++ b/tools/lpgen/lpgen.js @@ -418,8 +418,8 @@ function ParseRCFile(RC_File,array) { rcline=RC_File_stream.ReadLine();
//find string to translate in rcline by regexp
rc_regexp=rcline.match(/\s*(?:CONTROL|(?:DEF)?PUSHBUTTON|[LRC]TEXT|AUTORADIOBUTTON|GROUPBOX|(?:AUTO)?CHECKBOX|CAPTION|MENUITEM|POPUP)\s*"((?:(?:""[^"]+?"")*[^"]*?)*)"\s*?(,|$|\\)/);
- // if exist rc_regexp, and our string length longer, than one symbol (indeed, translate only one simbol?) do checks, double "" removal and add strings into array
- if (rc_regexp && rc_regexp[1].length>1) {
+ // if exist rc_regexp, and our string length at least one symbol do checks, double "" removal and add strings into array
+ if (rc_regexp && rc_regexp[1].length>0) {
// check for some garbage like "List1","Tab1" etc. in *.rc files, we do not need this.
switch (rc_regexp[1]) {
case "List1": {break};
@@ -438,6 +438,8 @@ function ParseRCFile(RC_File,array) { case "Slider2": {break};
//default action is to wrote text inside quoted into array
default:
+ //check result. If it does not match [a-z] (no any letter in results, such as "..." or "->" it's a crap, break further actions.
+ if (!rc_regexp[1].match(/[a-z]/gi)) {break};
//if there is double "", replace with single one
stringtolangpack=rc_regexp[1].replace(/\"{2}/g,"\"");
//add string to array
|