2009-11-24 51 views
0

我正在做一個複雜的語言翻譯jQuery。我正在複製jQuery/Google翻譯中使用的一些方法,但是使用我們自己的XML文件獲取原始英文和翻譯語言。jQuery搜索/替換所有正文文本問題

我能夠輕鬆地讀取英文和其他語言到數組中。

但我的問題是,這些文本短語,我們正在付錢的人翻譯,將在許多不同的頁面內的其他句子。

我一直在爆破,嘗試不同的方法,並且仍然沒有真正的運氣找到可用的解決方案。

在過去的工作中,我使用jQuery-translate中的$('body')。nodesContainingText()來解析每個文本節點,然後搜索英文數組中的文本,獲取該位置並使用以獲取其他語言數組中的翻譯版本。

而且在單獨的文本節點處工作正常,但仍然不能一致地進行部分替換。

似乎我試圖解決的問題越多,它的工作就越少。

所以我真正喜歡的是關於我在做什麼錯的一些指導?

這是我使用的代碼,也許這會有所幫助。

http://crosenblum.pastebin.com/f6468aae8

+0

其他人有什麼想法或建議嗎? – crosenblum 2009-12-01 17:53:02

回答

0

好像你可能需要使用文本週圍的子部分<span>標籤來試試。例如:

<!-- Header up to Here --> 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque lacinia 
vehicula interdum. Nam aliquet auctor mollis. Suspendisse non orci arcu, id 
commodo augue. Aliquam quam enim, mollis in lacinia quis, pretium scelerisque 
leo. Cras volutpat arcu sit amet purus malesuada non bibendum sem euismod. 
Fusce ut augue in eros imperdiet <span class="translateMe">interdum. Mauris eleifend rhoncus lacinia. Vivamus auctor scelerisque nulla</span>, sed 
consectetur velit sodales porttitor. Nullam a neque eget mauris blandit facilisis. 
Nunc bibendum enim vel est venenatis ac posuere ligula condimentum. Nullam tortor 
neque, bibendum eget vestibulum at, interdum in diam.</p> 
<!-- Rest of HTML after Here -->
這樣,您不僅可以執行 $('body').nodesContainingText(),還可以執行 $('span.translateMe')來檢索要翻譯的節點。

+0

令人遺憾的是,我們沒有足夠的資金對全部內容進行全局更改,因此我們必須使用全局搜索/替換。 – crosenblum 2009-11-24 23:05:11