2010-03-04 1 views
9

Về cơ bản, cần tạo ra các thông điệp tùy chỉnh (một số khác nhau sau đó có không) trong JS, cách xử lý bản dịch trong đó?dịch trong JS?

+1

bạn có nghĩa là dịch từ tiếng Anh sang tiếng Tây Ban Nha không? – Jason

+0

Vâng cho phép nói rằng chúng tôi có một số cảnh báo để hiển thị như "bạn có thực sự muốn xóa mục này" và những gì sẽ là DRY và cách hiệu quả để đối phó với nó trong trang web đa ngôn ngữ? – simple

+0

Bạn đã sử dụng thư viện javascript hiện tại chưa? Nhiều người trong số họ đã có một số cách để làm nội địa hóa. – Annie

Trả lời

19

Plese hãy nhìn vào Plugin jQuery-i18n dịch

var my_dictionary = { 
    "some text" : "a translation", 
    "some more text" : "another translation" 
} 
$.i18n.load(my_dictionary); 


$('div#example').text($.i18n._('some text')); 

jQuery localisation

$.localise('js/greeting'); 
$('#greeting').val(greeting); 
$('#languages').val($.localise.defaultLanguage); 
$('#changeLocale').change(function() { 
    var newLang = $(this).val(); 
    $.localise('js/greeting', {language: newLang, loadBase: true}); 
    $('#greeting').val(greeting); 
    $('#languages').val(newLang); 
}); 

Hoặc, nếu bạn thực sự muốn dịch hơn nhìn lên dữ liệu, hãy thử google translate api

google.language.translate("Hello world", "en", "es", function(result) { 
    if (!result.error) { 
    var container = document.getElementById("translation"); 
    container.innerHTML = result.translation; 
    } 
}); 
+1

+1 wow 3 câu trả lời trong 1! –

2

Sử dụng plugin JQuery này http://www.openxrest.com/translatejs

1 - Bao gồm các lớp "TRN" vào văn bản mà bạn muốn dịch:

<span class="trn">text to translate</span> 

2 - Xác định một từ điển:

var dict = { 
    "text to translate": { 
    pt: "texto para traduzir" 
    }, 
    "Download plugin": { 
    pt: "Descarregar plugin", 
    en: "Download plugin" 
    } 
} 

3 - Dịch toàn bộ cơ thể trang:

var translator = $('body').translate({lang: "en", t: dict}); //use English 

4 - Thay đổi ngôn ngữ khác:

translator.lang("pt"); //change to Portuguese