Web Sitesinde çoklu dil özelliği

Bu özelliği bir Web Sitesinde uygulamanın bir yol

html - 07-06-2021 16:07

Bir web sitesi için çoklu dil özelliği önemlidir. Herkes çeşitli dilleri (ya da en azından anlama) konusunda sorun yaşamkta  sizin için bu özelliği eklediğinizde, bu yüzden, Web sitesi , ben senin kullanıcı deneyimini geliştirmeye yardımcı olur .

 Statik bir web sayfası için çoklu dil özelliğini uygulamanın yalnızca bir yolunu açıklar, belki bunu çözmenin başka yollarını biliyorsunuzdur, ancak bu örnekte diller arasında geçiş yapmak için JavaScript kullanacağız (yalnızca İngilizce/İspanyolca) ) ve <span>a'yı dil geçişi olarak kullanmak .

1.Etiketleri Kimlikle Tanımlayın
Bu adım, HTML yapınızı tanımlarken önemlidir, çünkü çevirmek istediğiniz tüm HTML öğeleriniz için bir kimlik tanımlamanız gerekir.

KOPYALA <h1 id="l_title">Title</h1> <div> <h2 id="l_subtitle">Subtitle</h2> <p id="l_text1">some text in english</p> <p id="l_text2">aditional text in english</p> </div>

❕Kimlik adlarını "l_*" terminolojisiyle tanımlamak önemlidir , çünkü JavaScript mantığında çeviri için kullanılacaktır.

Oluşturmak <span>geçiş
için sayfanın üst kısmında Ekle <span>İngilizce / İspanyolca arasında geçiş yapar geçiş ve ilave olacak click olayını JavaScript şimdi biz sadece böyle bir şey tanımlamak için, kodu bölümünde (sonraki adım).

KOPYALA <div> <span id="link-toggle-lang">Español</span> </div>

JavaScript kodunu ekleyin
İlk önce, önceki adımda tanımlanan öğeyi alan link_toggle_lang değişkenini bildirin<span> ve bu değişken çeviri işlevinde kullanılacaktır.

KOPYALA let link_toggle_lang = document.getElementById("link-toggle-lang")

Şimdi Web Sitenizde göstermek ve çevirmek istediğiniz tüm metinleri içeren iki nesne tanımlayalım .

KOPYALA const label_en = { l_title: "Title", l_subtitle: "Subtitle", l_text1: "this is an example text", l_text2: "additional text" } const label_es = { l_title: "Titulo", l_subtitle: "Subtitulo", l_text1: "este es un texto de ejemplo", l_text2: "texto adicional" }

İşlevi tanımlayın ve uygun etkinliği tıkla It zamanı link_toggle_lang böylece bunu yapmak için, biz kullanacağız, tercüme olacağını tüm DOM öğelerini almak edeceğiz bu işlevde, değişken querySelectorAll bir kombinasyon halinde mülkiyet düzenli ifade almak için çevrilecek tüm öğeler, bu öğeler myLabels dizisinde depolanacaktır .

KOPYALA link_toggle_lang.addEventListener('click', function () { let lang = {} let myLabels = document.querySelectorAll("[id^='l_']") let current_lang = "es" ... })

Şimdi, Web Sitesindeki mevcut dili yönetmek ve mevcut dili kontrol etmek için current_lang bayrağını tanımlamak ve ayarlamak gereklidir .

KOPYALA link_toggle_lang.addEventListener('click', function () { let lang = {} let myLabels = document.querySelectorAll("[id^='l_']") //Define the language flag let current_lang = "en" //Check the current_lang flag current_lang = link_toggle_lang.innerHTML.includes("English") === true ? "en" : "es" switch (current_lang) { case "es": link_toggle_lang.innerHTML = 'English' lang = label_es break case "en": link_toggle_lang.innerHTML = 'Español' lang = label_en break } ... })

Son olarak JavaScript kodunun son bölümünde , for ifadesi myLabels dizisinde depolanan tüm DOM öğelerinin çevirisini yapar , mantık sadece lang nesnesinin (ID ile tanımlanan) her değerini dizi öğelerine atamak içindir.

KOPYALA link_toggle_lang.addEventListener('click', function () { let lang = {} let myLabels = document.querySelectorAll("[id^='l_']") //Define the language flag let current_lang = "en" //Check the current_lang flag current_lang = link_toggle_lang.innerHTML.includes("English") === true ? "en" : "es" switch (current_lang) { case "es": link_toggle_lang.innerHTML = 'English' lang = label_es break case "en": link_toggle_lang.innerHTML = 'Espau00f1ol' lang = label_en break } for (let i = 0; i < myLabels.length; i++) { myLabels[i].innerHTML = lang[myLabels[i].id] } }) Son sonuç

 

     
Günün Diğer Haberleri