0

私は SF2 の gettext 翻訳を使用しており、翻訳ファイルを通常のバンドルとは異なるフォルダー構造に配置しています (特定のニーズに合わせて独自のミニ プラグイン システムを作成したようなものです)。

いずれにせよ、これは翻訳ファイルをロードする方法です。

$finder = new Finder();
$finder->files()->filter(function (\SplFileInfo $file)
{
    return 2 === substr_count($file->getBasename(), '.') && preg_match('/\.\w+$/', $file->getBasename());
})->in($dirs);
foreach ($finder as $file) {
    // filename is domain.locale.format
    list($domain, $locale, $format) = explode('.', $file->getBasename(), 3);

    // we have to add resource right away or it will be too late
    $translator->addResource($format, (string)$file, $locale, $domain);
}

うまく機能しますが、唯一の問題はキャッシュされないことであり、あまり効率的ではありません。これらの翻訳をキャッシュするにはどうすればよいのでしょうか?

4

1 に答える 1

0

私の問題は、構成ファイルでトランスレーターの宣言を忘れたため、翻訳パスが機能しないことでした

framework:
  translator: { fallback: %locale% }
于 2012-12-08T04:48:26.520 に答える