Ana içeriğe atla

Çok Dil Desktekli Web Siteler

Web sitesi yapan ve ya bu işle yakından uzaktan ilişkisi olan herkesin karşılaştığı durumlardan bir tanesi web sitesinin çoklu dil destekli geliştirilmesidir.
Statik web sitelerinin olduğu dönemlerde web siteleri için çoklu dil desteği demek aynı html içerik içindeki verileri tekrardan başka bir html sayfada tutarak içerik dilini değiştirmekti. Örneğin bir web sitesinde 100 tane sayfanız varsa bunu 5 dile çevirdiğinizde 500 sayfa yapmanız gerekiyordu. 

Zamanla gelişen web teknolojisi bu yöntemin maliyetli, içeriğin ve web sayfa sayısının gereğinden fazla artmasına neden olduğunu ortaya çıkardı. Bu sorunu çözmek için zamanla birçok teknoloji geliştirildi. Belirli dönemlerde çok dil desteği sadece servis tabanlı geliştirilse de bunun da optimal çözüm olmadığı anlaşıldı. Buna rağmen halen birçok web sitesi bu yöntemi kullanmaya devam ediyor. Bunlara facebook’u, twitter’ı da örnek verebiliriz. Sunucularının yüksek düzeyde işlemleri karşılayabiliyor olması bu gibi siteleri etkileyemiyor olsa da, bizim yer aldığımız projelerde sadece çeviri işlemleri için web sunucuları bu işlemler için yormak mantıklı bir çözüm olmasa gerek. Zira bu sistemi kullanan projelere de bakarsanız çoğunun sunucu tabanlı dillerle(php, asp, asp.net) geliştirildiği görülür.  Teknolojilerin gelişmesiyle, kullanıcılar  tarafında kullanılan bilgisayarlar, mobil cihazlar, tabletler yüksek işlem gücünü desteklemesi sunucu tarafında yapılan işlemlerin bazılarını, neden client tarafına aktarmıyoruz sorusunu ortaya çıkarır. Ki buradan yola çıkarak son zamanlardaki web teknolojilerinin gelişme sürecinde sadece sunucu tabanlı işlemleri destekleyen web programlama dillerinin de, giderek popülerliğini kaybettiğini görüyoruz. Bunun yerine ise daha çok client bazlı işlemler yapan frameworkler’e rağbet her geçen gün artıyor. Bu teknolojik gelişmeler ışığında web sitelerinin çoklu dil desteği için client side çözümler üretilmiştir ve üretilmeye de devam ediliyor. Eğer AngularJS’e aşinaysanız en tercih edilen yöntemlerden bir tanesinin Angular-translate olduğunu söyleyeceğim. Aşina değilseniz bile web sitesi yapımında başka bir mvc veya mvvm modeli kullanıyorsanız Angular Translete mantığını kendi yapınıza uyarlayabilirsiniz.

 Peki Doğru Tercüme Mantığı Nedir?

Temel olarak çeviri için, tercüme edilecek verileri bir değişkenle eşleştirip bu değişene karşılık gelen sonucu değişkenler tablosundan dile uygun olarak çekmektir. Bu verileri bir tablo halinde, json dosyasında, javascript değişkenlerinde, hatta metin dosyalarında bile tutabilirsiniz. Bundan sonra yapacağınız tek şey verdiğiniz değişkenle eşleşen ve seçtiğiniz dile uygun verinin çağırmak olacaktır. Buradan sonra yapılacak tek işlem dillerin değişmesiyle, web sitesine tekrar yüklemeden sadece içindeki değişkenlere karşılık gelen dil verilerini değiştirmek olmalıdır. Angular-translatebu yapıyı desteklediği için kullanmanızı tavsiye ederim. Kullanmak istemiyorsanız da two-way -binding yöntemini destekleyen bir framework kullanmanızı tavsiye edeceğim.

Anlattığım yöntemleri kullanırsanız sonucunda bu durumla karşılaşacaksınız. Web sitenizde dil butonlarına tıkladığınızda anlık olarak web sitenizin, seçtiğiniz dile çevrildiğini göreceksiniz, üstelik sayfayı tekrar yüklemeden sadece içindeki verileri değiştireceksiniz. Bu da web sitenizi kullananlarda pozitif izlenim bırakacak ve yaptığınız işte büyük bir adım attığınız ve web dünyasında ilerlediğinizi görebileceksiniz. 

Yorumlar

Bu blogdaki popüler yayınlar

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s