我正在使用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);
}
它运行良好,唯一的问题是它没有缓存,效率不高。我想知道我该怎么做才能缓存这些翻译?
答案 0 :(得分:0)
我的问题是我在配置文件中忘记了声明翻译,因此翻译通行证不起作用
framework:
translator: { fallback: %locale% }