2014-09-10 42 views
0

我面临的问题是我必须将更大的html和javascript项目翻译成多种语言。 html内容没有问题,但是众多的javascript文件是有问题的,因为在开发过程中我有点懒。例如,如果我需要一个消息文本,我只是将它添加到相关位置。查找javascript文件中的所有字符串变量

我现在的做法是,我对每个出现的"'都使用内置文件搜索(Eclipse),我正在逐线查看。这将非常耗时且错误是不可避免的。

以下是发生在文件中的一些例子:

var d = "Datum: " + d.getDate()+"."+(d.getMonth()+1)+"."+d.getFullYear(); 

showYesNoDialog("heading text","Are you sure?",function(){}; 

有时我正在混合"',有时一去串几行:

var list=""; 
list+='<li data-role="list-divider">'; 
list+='Text To Translate'; 
list+='</li>'; 

的事情,我不想得到,是jquery选择器,例如:

$("input[name^=checkbox]").each(function() {}; 

您是否看到了节省时间的方法来获取我想要翻译的所有字符串? 正则表达式?一个Java解释器? grep的?

我知道,这是一个不寻常的问题。 所以任何建议都会很棒。

在此先感谢!

回答

2

这是更好地使用某种类型的代码转换成记号的词法扫描,然后走过去令牌(或语法树)的列表。有一些这样的工具(我甚至自己创建了其中的一个 - 在这里你可以找到一些例子https://github.com/AlexAtNet/spelljs/blob/master/test/scan.js)。

有了它,你可以扫描JS文件,只是遍历令牌:

var scan = require('./..../scan.js'); 

scan(text).forEach(function (item) { 
    if (item.str) { 
     console.log(item); 
    } 
}); 
+0

这是一个伟大的提示。非常感谢你! 还有下https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=11538&lngWId=3 很好地解决这不正是我需要的。 – Heidschnucke 2014-09-13 13:20:15

相关问题