mertjr

Başarılı
Katılım
24 Şubat 2024
Mesajlar
381
Beğeniler
205
Selam, HTML CSS JS kullanarak bir internet sitesi yaptım. 2 adet de dil seçeneği butonu var. Nasıl tıkladığımda o dile çevrili halde gösterebilirim? Çeviriyi kendim yapacağım.
 
Bu yaklaşımın beğenmediğim birçok yanı var fakat ilk aklıma gelen çözümlerden biri oldu, buyurun:



JSFiddle ön izlemesi gelmiş Sosyal'e, vay! Bayağı iyi.

Yoksa başından beri var mıydı?..

Mantık şu şekilde:
  • Metin yazan her yerde aynı metnin alt alta Türkçe ve İngilizce versiyonlarını barındıran elementler bulunuyor, sırasıyla tr ve en sınıflarına sahip. Ben bu iki dilin olacağını varsaydım.
  • Script kısmında şu anki dili tutuyoruz curLang değişkeninde.
  • Dil değiştirme butonu ve bu butona atanmış bir onclick etkinliği var. Butona basıldığı zaman changeLanguage fonksiyonu çağrılıyor ki bu fonksiyon yine script kısmında tanımlı.
  • Fonksiyon şu şekilde çalışıyor: Şu anki dile sahip elementlere hidden sınıfı ekle, diğer dile sahip elementlerden hidden sınıfını kaldır. hidden sınıfı da sadece display: none; özelliğini kapsıyor.
En azından fikir olsun.
 
Bu yaklaşımın beğenmediğim birçok yanı var fakat ilk aklıma gelen çözümlerden biri oldu, buyurun:



JSFiddle ön izlemesi gelmiş Sosyal'e, vay! Bayağı iyi.

Yoksa başından beri var mıydı?

Mantık şu şekilde:
  • Metin yazan her yerde aynı metnin alt alta Türkçe ve İngilizce versiyonlarını barındıran elementler bulunuyor, sırasıyla tr ve en sınıflarına sahip. Ben bu iki dilin olacağını varsaydım.
  • Script kısmında şu anki dili tutuyoruz curLang değişkeninde.
  • Dil değiştirme butonu ve bu butona atanmış bir onclick etkinliği var. Butona basıldığı zaman changeLanguage fonksiyonu çağrılıyor ki bu fonksiyon yine script kısmında tanımlı.
  • Fonksiyon şu şekilde çalışıyor: Şu anki dile sahip elementlere hidden sınıfı ekle, diğer dile sahip elementlerden hidden sınıfını kaldır. hidden sınıfı da sadece display: none; özelliğini kapsıyor.
En azından fikir olsun.


Peki beğendiğiniz yanları daha çok olan çözümler nelerdir? Söyleyebilir misiniz onları da? :)
 
Peki beğendiğiniz yanları daha çok olan çözümler nelerdir? Söyleyebilir misiniz onları da? :)

Keşke daha iyi çözümler düşünebilsem de onları paylaşsam. : D
Ne düşünebildiysem onu paylaştım. Kötü yanlarını görebilmekle birlikte nasıl iyileştirebileceğimi bilemedim.

React gibi bir kütüphaneyle yapmak rahatıma gelirdi.