2014-09-10 41 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

相關問題