Db ile Zend_Locale yapmak ve çare nasıl?

0 Cevap php

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 , 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.

0 Cevap