2012-02-22 10 views
1

自分の環境でlanguage.phpというクラスがあり、これは言語の検出を処理し、すべての変数に適切な言語ファイルが含まれています。多言語テンプレートのキャッシング

テンプレートがすでにキャッシュされていない場合は、APCでキャッシュし、キャッシュエントリを訪問者に送信しました。

しかし、今、私は私の環境の多言語をしよう、と私は戻っEN-USからデDEにEN-USから私の言語を変更して私はまだキャッシュされたドを取得-DEテンプレート。

私はこの問題に取り組んで精巧に取り組むことができますか?

EDIT: マイ解析/キャッシング機能:http://pastebin.com/PpHJ14Wv

答えて

1

私はあなたが(あなたがサポートしようとしているかのように多くの言語)2つの異なるテンプレートなどのテンプレートを扱うべきだと思います。たとえば、template.htmlをキャッシュする代わりに、テンプレート-en.htmlとtemplate-de.htmlをキャッシュすることができます。

適切なキャッシュテンプレートをロードするには、url(example.com/enまたはexample.com/de)または$ _SESSION ['lang']変数などを使用します。そのような

EDIT

public function parseTemplate($requestedTemplate, $lang) 
{ 
    $template = $requestedTemplate . '-' . $lang; 
    $filename = $this->templateDir . $template . '.php'; 

    //and so on... 
} 
+0

ありがとう! - 私の問題を解決するための素晴らしい試みのように思える。後でそれを試してからフィードバックを与えます。 – pila