Tôi đang làm việc trên trang web GUI có thể sử dụng một số ngôn ngữ. Các tệp HTML gốc mà tôi đã làm việc hoàn toàn tĩnh. Vì vậy, nếu dịch là cần thiết tôi đã phải phân tích thông qua các tập tin, lưu ý nơi một số từ hoặc thuật ngữ được, thu thập tất cả chúng tay cho bộ phận dịch thuật và nhập những bản dịch trong các tập tin ngôn ngữ mới.Sử dụng Javascript để thay đổi ngôn ngữ trang web
Vì các tệp đó hoàn toàn tĩnh nên có nghĩa là phải dịch toàn bộ các phần nhiều lần. Không phải là rất hiệu quả.
Vì vậy, bây giờ tôi đang làm việc trên một số loại từ điển trong Javascript, để chỉ trao đổi các điều khoản trong các trang web đó. Chủ yếu hoạt động theo cách này:
var dicEnglish = {
term 1: "This is the English text"
Ref: "Another English text"
}
var dicFrench = {
term 1: "This is the French text"
Ref: "Another French text"
}
Trong đó có tất cả nội dung có thể cần thay đổi. Mỗi ứng cử viên trong mã HTML được một class="dicRef" id="l_dicTag_#"
như nhận dạng, mà tôi cắt xuống thẻ từ điển và trao đổi với đoạn mã sau:
var imgSrc = "en";
var ActiveDic;
var langSel;
if(window.name){
langSel=window.name;
}
else{langSel="English";
}
function LangChange(){
langClass = document.getElementsByClassName("dicRef");
var i = langClass.length;
var Start, Stop, idSrc, idDic;
var navText;
switch(langSel){
case "French":
langSel="French";
imgSrc = "en";
navText="Anglais";
break;
case "English":
case "Anglais":
default:
langSel="English";
imgSrc = "fr";
navText="French";
break;
}
ActiveDic="dic"+langSel;
window.name=langSel;
while(i--){
idSrc = langClass[i].id;
Start=idSrc.indexOf("_")+1;
Stop=idSrc.lastIndexOf("_");
idDic=idSrc.slice(Start,Stop);
if(window[ActiveDic][idDic]){
document.getElementById(idSrc).innerHTML=window[ActiveDic][idDic];}
else{
document.getElementById(idSrc).innerHTML="N/A";
}
}
if(document.getElementById("imgSel")){
document.getElementById("imgSel").src="../../img/"+imgSrc+".gif";
}
if (document.getElementById("l_SelLang1_1")){
document.getElementById("l_SelLang1_1").innerHTML=navText;
}
}
Vấn đề nằm ở sự độc đáo của id-tag. Vì một số cụm từ có thể xảy ra nhiều lần và một số từ khóa được tạo nên cần thiết. Tôi muốn ommit truy cập, nhưng không thể tìm thấy bất kỳ định danh khác để sắp xếp tất cả các điều khoản mục tiêu và thay đổi nội dung của họ.
Vì tôi muốn an toàn cho tương lai, tôi thích giải pháp giúp bạn có thể xử lý ngôn ngữ thứ ba có thể. Làm việc với HTML bên trong sẽ cần phải gắn thẻ cùng một cụm từ nhiều lần, một lần cho mỗi ngôn ngữ.
Vì vậy, có cách nào để nhắm mục tiêu tất cả các cụm từ được trao đổi hiệu quả hơn và dễ dàng hơn hoặc cách tốt hơn để làm điều đó không? Tôi chỉ có thể làm việc với các giải pháp phía máy khách, vì vậy không có PHP và như vậy.
Xin cảm ơn trước và hy vọng điều này không quá dài để đọc.
Tôi phải thừa nhận, kể từ khi tôi mới HTML sâu hơn và hoàn toàn sang Javascript Tôi không biết điều đó, bởi vì các trường W3C bắt đầu bằng HTML 4.;) Về khả năng tương thích ngược. Thông số kỹ thuật nói rằng nó phải làm việc với IE 7 hoặc Firefox 3.5 (và sau đó tất nhiên). Tôi tìm thấy thông tin mâu thuẫn trên HTML 5 và các trình duyệt cũ. –