Iam은 수동 언어 변환과 jquery-translate libray를 사용한 Google 번역의 혼합 된 접근 방식을 사용합니다. 나는 제대로 작동하는 구글 메소드를 얻었지만 구글은 내 고용주의 클라이언트가 필요로하는 몇몇 언어가 빠져있다 ...jQuery XML 변환에 대한 문자 집합 문제
그래서 jquery를 사용하여 영어 + 프랑스어 캐나다 언어가있는 샘플 페이지를 읽으며, 나는 xml을 읽고 nodeContainsText를 사용하여 페이지의 텍스트를 대체 할 수 있지만 그렇게 할 때 가능합니다. 텍스트의 악센트는 Google 번역 즉 프랑스를 통해 완벽하게 표시됩니다.
그래서 내 문제는 올바르게 표시 할 수 있도록 XML 데이터를 올바른 charset/content 형식으로 가져 오는 것입니다.
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "xmldata.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml)
{
//find every Tutorial and print the author
$(xml).find("english").each(function()
{
$(this).find('phrase').each(function(){
english[count] = $(this).text();
console.log('Adding to english array..['+english[count]+']');
count = count + 1;
});
});
count = 1;
$(xml).find("french_canadian").each(function()
{
$(this).find('phrase').each(function(){
frca[count] = $(this).text();
console.log('Adding to frca array..['+frca[count]+']');
count = count + 1;
});
});
$('body').nodesContainingText().each(function(){
// step 1 search through all text nodes
var $el = $(this), text = $el.text() || $el.val();
var nn = this.nodeName;
// step 2 find position in english array for word
for(var i=0;i<english.length;i++) {
// step 3 replace with french canadian version from array
if (english[i] == text) {
// which node dot text = value
console.log('Replacing...'+english[i]+' with '+frca[i]);
$el.text(frca[i]);
}
}
});
}
당신은
난 그냥 변환하는 구문을 파악 수없는 것 ... 나는 내용/문자 집합 문제에서 오는 디버깅을 돕기 위해 불을 지르고 통해 CONSOLE.LOG 사용하고 볼 수 있듯이 xml 파일에서 올바른 htmlentities 코딩으로 들어오는 데이터.
나는 .html()이 있어야한다는 것을 알고 있지만 추가 할 때 오류가 발생합니다. 그래서 누군가 나에게 단서를 줄 수 있습니까?
감사합니다.