Bilgi Bankası

Dil Desteği Nedir, Ne Değildir, Ne, Nasıl Yapılır

Dil desteği lisansı ile siteniz için sağdan yazmalı (Arapça vb.) diller hariç diğer dillere çevirme yapabiliyorsunuz. Burada dikkat edilmesi gereken husus ise Proticaret’in yapısıdır. Peki nasıl ve neye dikkat etmek gerekir?

Proticaret modüler bir yapıdadır. Şöyle ki örnek olarak ana sayfa üzerinde var olan “Ürünler” başlıklı olan modülümüz, ürünlerinizi girerken “Anasayfada Göster” seçeneğini işaretlediğiniz ürünleri burada gösterir. Başka bir modül olarak tüm kategorileri solda gösteren “categorypro” isimli Kategoriler modülümüz de E-Ticaret yönetiminden girmiş olduğunuz Kategoriler ve Alt Kategorileri listeletir ve tıkladığınızda ilgili ürünleri listeleyen bir modüldür. Diğer yandan da HTML Modülümüzü kullanarak resimler, menüler vb. HTML sayfalar oluşturabilirsiniz. Modülleri sitemize eklerken Sayfa Tanımları > Anasayfa > {Düzenle} > Modül Tipi, Modül Adı şeklinde adımları takip etmeniz gerekir. Burada önemli olan ise MODÜL ADI ‘nın tarafınızca veriliyor olması.

Dolayısıyla tüm bunlar şunun için önemli; Modül adlarını kendiniz atadığınız için dil dosyalarında bu isimlere göre tanımları yazmanız gerekecektir. Diğer yandan modülleri birden fazla yere ekleyebildiğiniz için bunlara da farklı isimler verdiğiniz zaman bunu da dil dosyası içinde yazmanız gerekecektir. Öte yandan Ürün isimleri, Kategori İsimleri, Marka isimleri gibi kendinizin yazmış olduğu kısımları da yazarken değiştirmeniz gerekecektir.

 Peki bunu nasıl aşabilirsiniz?

Dünyada dil hizmeti 2 şekilde sunuluyor. Birincisi alt domainlar şeklinde verilen dil hizmeti, ikincisi ürünler bazındaki dil hizmetidir. Hizmet vereceğiniz ülkelere göre subdomainler – alt alan adları – oluşturup aynı siteyi orada hangi dil ile hizmet verecekseniz o şekilde ayarlamanız gerekecek. Ürünler noktasında da aynı üründen Türkçe, İngilizce vs. tanımlayıp listeletmek gerekecektir.

Kısacası Dil lisansı ile dil dosyalarını düzenleyebilir hale geldiğinizde sistem ile alakalı temel işlevleri yapan noktaların dillerini değiştirebilirsiniz. Lakin belirttiğim gibi ürün adı, kategori adı vb. elle – manuel – girdiğiniz verileri dil dosyası ile değiştiremezsiniz. Çünkü o veriler dinamik yapıdadır.

Örnek için;

http://www.amazon.com adresine girdiğinizde sizi uluslararası dil olan İngilizce ile karşılarlar. Siz almanyadan bağlanıyorsanız İngilizce değil de kendi dilinizde görmek istiyorsanız ne yapacaksınız? www.amazon.com ‘un en altına doğru indiğinizde ufak bir Amazon.com logosunun hemen altında şu ifadeleri göreceksiniz;

Canada China France Germany Italy Japan Spain United Kingdom

Senaryomuza göre siz Almanya’dan bağlanıyordunuz. O zaman Germany yazan yere tıklayın ve sonucu görelim. Sizi yönlendirdiği adres;  http://www.amazon.de

Gördüğünüz üzere gittiğiniz amazon.de adresinde herşey Almanca.

Dil Desteği ile sadece belli kelimeler/cümleler tanımlı App_GlobalResource klasörü içindeki .resx dosyalarında. Dil lisansını aldıktan sonra bunları kendisi düzenleyip değiştirebilir. Ama ürünler, kategori isimleri, modül isimleri vs. bunlar ne girerse o gelecektir, değişmeyecektir.

 Peki Nasıl?

Kökdizin/App_GlobalResources/lang.resx dosyasını bir editör yardımı ile açın ve aşağıdaki gibi satırları bulun.

// ÖRNEKTİR…

<data name=”PayIpara” xml:space=”preserve”>

<value>Kredi Kartsız Alışveriş</value>

</data>

// ÖRNEKTİR…

<value> .. </value> içindeki değeri istediğiniz gibi değiştirip kaydedebilirsiniz. Yalnız silerseniz hata alırsınız. Ancak bu kodun çağrıldığı dosyadan silerseniz hata yaşamazsınız, manuel olarak bir şey yazdığınızda Türkçe karakter sıkıntıları yaşayabilirsiniz. Dolayısıyla buradan isteğinize göre değiştirin ya da aşağıdaki yolu takip ederek, ilgili alanı silin.

Örnek olarak Kökdizin/themes/[kullandığınız_tema]/store/orderstep3d.ascx dosyasını bir editör ile açın ve aşağıdaki satırı bulun. (Bunu neredeyse tüm dosyalar için de yapabilirsiniz.)

// ÖRNEKTİR…

<asp:Label ID=”lblOdemeIpara” runat=”server”><%=GetGlobalResourceObject(“lang”, “PayIpara”)%></asp:Label>

// ÖRNEKTİR…

Language / Dil dosyasından <%=GetGlobalResourceObject(“lang”, “Tanımlı_Alan”) %> şeklinde çağrılır. Buna göre PayIpara yerine PayiPara yazarsanız da hata alırsınız.

Bu uyarıları ve yolları dikkate alarak işlem yaparsanız, istekleriniz yerine gelmiş olur.

Unutulmamalıdır ki dil dosyalarının isimlerini kısa isimleri ile değiştirmeniz gerekir. Örneğin Rusça için ru gibi…

 

Yazar hakkında

Proticaret

Yorum Yap