PHP - Bir web sitesi birden fazla dilde tercüme nasıl?

4 Cevap php

Ben şu anda İngilizce olan bir web sitesi var; Ben bir kullanıcı başka bir dilde (sitede küçük ülke bayrağı simgeleri vardır) tıkladığında farklı bir dile geçmek için mümkün olmak istiyorum. Ben şu anda çalışıyorum yolu diziler, örneğin ile:

$english = array('index',
           array('h1' => 'this is some h1 text', 
                 'h2' => 'this is some h2 text'));

$japanese = array('index',
            array('h1' => '世界交換への歓迎',
                  'h2' => 世界交換への'));


print $english[index][h1];
print $japanese[index][h2];

Gördüğünüz gibi ben ayrı dilde her sayfa için bu yaptıysa, bu kodun bir deli miktarı olacaktır. Ben ne diğer yöntem deneyebilirsiniz?

4 Cevap

Sonunda l10n destek sağlayacaktır tam i18n destek arıyor göz önüne alındığında, ben kutudan bunları destekleyen bir PHP çerçevesinde sayfanızı yazmaya öneririm.

Şahsen ben sadece Symfony çerçeve ile çevirileri yaptık. Onlar arayüzü çeviriler için içerik DB i18n tabla uzatma ve XLIFF dosyaların bir arada kullanın. Bu kurulum oldu bir zamanlar oldukça şeffaf, ve bir çerçeve kullanarak elle bütün bu desteği yazmak zorunda önler.

Ben de i18n Zend, CakePHP, ve Kod Ateşleyici desteklenen olduğunu biliyoruz.

  • Içerik veritabanı (sanırım ya da dosyası)
  • Her dil için sayfa başına giriş
  • Kimliği tarafından başvurulan Dil
  • Kimlik $ _SESSION değişkeni ayarlanır
  • İsteğe bağlı olarak daha sonraki ziyaretleri için çerez hatırladı

Ben bir özel CMS @ ile bu sistemi kullandım www.grandhall.eu. Eğer broşür ve benzeri şeyler almak için gereken zaman özellikle eğlenceli olur dikkate diğer indirme.

Ben API'lerini Çevir Windows Live veya Google'da sitenizi çengel öneririm. Ben Google biri hakkında bilmiyorum, ama Windows Live API kullanımı gerçekten çok kolay görünüyor.

http://msdn.microsoft.com/en-us/magazine/dd569750.aspx

Yani, ya kullanıcı dil değiştir butonuna tıkladığında yüklenen hangi tablo değiştirmek sonra, bir "içerik" veritabanında farklı tablolarda hem bunları saklamak, iki dilde sayfadaki tüm içeriği yazabilirsiniz. Şimdi, angarya çoğunluğu her iki dilde de içeriği yeniden olacaktır.

Sadece Google translate api kullanabilirsiniz:

http://code.google.com/apis/ajaxlanguage/

Bu belgelerin ton ve google kod oyun alanında nasıl kullanılacağını örnekleri vardır:

http://code.google.com/apis/ajax/playground/

Sadece ajax göz atın> çeviri