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 回答