2011-07-23 11 views
1

私はcakePHPでデータベース駆動型翻訳サイトを開発しようとしています。存在しない翻訳のための 'デフォルト'翻訳を取得する

私は、以下のようなデドなどの言語にモデルロケールまたはConfig.languageを設定しています:

Configure::write("Config.language", "de-de"); 

それは国際化テーブルからde_DEの正しい翻訳をロードします。

私の問題は、別の行の翻訳が存在しない場合、何も返されないということです。それが何も見つからない場合は、セットアップしなければならないものはありますか?それは 'デフォルト'の言語翻訳またはモデルから直接データを返しますか?

私は

...それはあなたが望むデフォルトの言語にロケール/言語設定のすべての時間を変更し、データが返された場合、すべての時間をチェックし、そうでない場合は滞在するのにあまりにも多くの仕事だと思うそれとも、私はこれをやっています違う?


コード:国際化テーブル内

データ:

id locale model foreign_key field  content 
2 de_DE Suite 4   description description in en_US for vilhena 
3 en_US Suite 3   description description in en_Us for del Monte 
4 en_US Suite 2   description description in en_Us for Pinto 
5 en_US Suite 1   description description in en_Us for Hompesch 


Configure::write("Config.language", "de-de"); 
$this->Suite->find("all"); 

戻り

Array 
(
    [0] => Array 
     (
      [Suite] => Array 
       (
        [id] => 4 
        [name] => Vilhena 
        [enabled] => 1 
        [description] => description in en_US for vilhena 
        [locale] => de_de 
       ) 

     ) 

) 
+0

デフォルトの動作では、翻訳が見つからない場合は翻訳されていない文字列が表示されます。たぶんあなたはそれが正しく動作していない例を示した場合? – JJJ

+0

@Juhana - thxの関心のために! i18nテーブルのデータで質問を更新しました。使用しているコードと結果が表示されています – hex4

答えて

0

が設定::書き込み( "Config.language"、「脱DEなければなりません");