在javascript文件中查找所有字符串变量

Find all string variables in javascript files

本文关键字:字符串 变量 查找 javascript 文件      更新时间:2023-09-26

我面临的问题是,我必须将一个更大的html和javascript项目翻译成几种语言。html内容没有问题,但大量的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 () {};

你看到任何节省时间的方法来获得我想要翻译的所有字符串吗?Regex?java解释器?Grep?

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

提前感谢!

最好使用某种词法扫描程序,将代码转换为标记,然后遍历标记列表(或语法树)。有很多这样的工具(我甚至自己创建了其中一个——在这里你可以找到一些例子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);
    }
});