2009-11-24 4 views
0

jQuery에서 복잡한 언어 번역을하고 있습니다. jQuery/Google 번역에 사용 된 일부 메소드를 복사하고 있지만 고유 한 XML 파일을 사용하여 원본 영어와 번역 된 언어를 가져오고 있습니다.jQuery 검색/모든 본문 텍스트 문제 대체

영어와 다른 언어를 쉽게 읽을 수 있습니다.

그러나 내 문제는 번역 할 누군가에게 돈을 지불하고있는 이러한 텍스트 문구 중 일부는 많은 다른 페이지의 다른 문장 안에있을 것입니다.

나는 다른 접근법을 시도하면서도 쓸모없는 해결책을 찾는 데 여전히 큰 행운이 없었습니다.

지난 노력으로 jQuery-translate의 $ ('body') nodesContainingText()를 사용하여 각 텍스트 노드를 구문 분석 한 다음 영어 배열 내에서 해당 텍스트를 검색하고 해당 위치를 잡아서 사용합니다. 다른 언어 배열에서 번역 된 버전을 가져 오는 것입니다.

다른 텍스트 노드가있는 경우에도 제대로 작동하지만 부분적으로 교체 작업을 계속해서 수행하는 것은 아닙니다.

문제를 해결하기 위해 시도 할수록 문제가 덜 발생합니다.

그래서 내가 뭘 잘못하고 있는지에 대한 지침이 있습니까?

여기에 제가 사용하고있는 코드가 있습니다. 아마도 도움이 될지도 모릅니다.

http://crosenblum.pastebin.com/f6468aae8

+0

다른 사람이라면 누구나 아이디어 나 제안 사항이 있으십니까? – crosenblum

답변

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