Yani, google'd ve (btw büyük işler) lokalizasyonu için bir db adaptörü ile benim uygulama çalışması yapmak için bir yol buldum, şimdi bir sonraki yükselen sorun geri dönüş olduğunu. İşte senaryo:
- Başvuru Fransızca ve Korece, İngilizce, Almanca, için çevirileri vardır.
- İngilizce diğerleri yok,% 100 olduğunu.
- Bir dize İngilizce çare Almanca, Fransızca veya Korece ihtiyaçları lokalize değilse
- Adaptörü kullanır ve kimliği olmayan bir dize lokalize
Örnek:
<?php
// This is init'd in the bootstrap
try {
$locale = new Zend_Locale(Zend_Locale::BROWSER); /* Q1!!! */
} catch (Zend_Locale_Exception $e) {
$locale = new Zend_Locale('en_US');
}
$translate = new Zend_Translate(
'XYZ_Translate_Adapter_Db', // My adapter
$data, // Populated variable
$locale->getLanguage(), // Returns en, de, fr or ko
array() // Options to pass to the adapter, none.
);
// This is called from the view
echo $translate->_(123); /* Q2!!! */
?>
Echo'd çıkış ID 123 için karşılık gelen metin olacaktır. Şimdi Q1!!! comment , how can I validate just the en/de/fr/ko locales? And for the Q2!!! comment strong>, nasıl ID 123, diğer diller için bulunamadı durumunda İngilizce çare olabilir.
Ayrıca ben tarihleri ve para taşıma olacak, bu yüzden fr_FR, de_DE, ko_KO değil fr_CA veya de_AT gibi varyantlar için doğrulamak istiyorum. Yani ilk bölümü için ben yerel ayarlar onlar en az bir geçerli lang (ve uygun ülkeye zorlamak) eğer ihtiyaç veya ülke / DİLLER'de vardır olmadığını doğrulamak gerekir; ve son bölümü için ben çevirisi db üzerinde değilse İngilizce'ye geri düşmek doğrulamak gerekir.