首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4翻译没有显示

Symfony 4翻译没有显示
EN

Stack Overflow用户
提问于 2018-01-15 19:19:18
回答 1查看 3.2K关注 0票数 5

因此,我为Symfony 4框架提供了以下演示,该框架运行良好,并按预期翻译所有内容:

代码语言:javascript
复制
$translator = new \Symfony\Component\Translation\Translator('en_GB');
$translator->addLoader('array', new \Symfony\Component\Translation\Loader\ArrayLoader());
$translator->addResource('array', [
    'sample' => 'The English translation goes here...',
], 'en_GB');
echo $translator->trans('sample');

然而,我似乎无法让下面的演示工作起来:

代码语言:javascript
复制
echo $this->get('translator')->trans('sample');

下面的配置已经到位:

/config/services.yaml:

代码语言:javascript
复制
parameters:
    locale: en

/config/packages/铲运站:

代码语言:javascript
复制
framework:
    default_locale: en
    translator:
        fallbacks: ['en']
        paths:
            - '%kernel.project_dir%/translations'

/翻译/信息.en.yaml:

代码语言:javascript
复制
sample: The English translation goes here...

倾倒以下物品:

代码语言:javascript
复制
$request->getLocale();
$request->getDefaultLocale();

生成以下字符串:

代码语言:javascript
复制
'en_GB'
'en'

然后,我尝试将翻译文件重命名为'messages.en.yaml','messages.en_GB.yaml','messages.en_US.yaml‘,然后运行"php /console缓存:清除“,以确保缓存被完全清除。

我似乎无法从yaml文件中显示翻译。显示没有错误,但只有翻译键是可见的。

有人能看到我在某个地方犯了什么明显的错误或者忽略了什么吗?

PHP7.2.0-2+ubuntu16.04.1+deb.sury.org+2 (cli) (建于2017年12月7日20:14:31) ( Apache2 Ubuntu ) Linux 18。

EN

回答 1

Stack Overflow用户

发布于 2018-02-13 20:10:09

我也遇到了同样的问题,我找到了解决办法。也许这也是其他人的解决方案。在我的例子中,命令

代码语言:javascript
复制
./bin/console cache:clear

没有清除/var/cache/translations文件夹。手动删除此文件夹后

代码语言:javascript
复制
rm -rf var/log/translations

翻译和预期的一样加载。

我不知道为什么缓存:clear可能在这种情况下不起作用,但目前我与它相处得很好。也许我下个星期有时间去调试原因。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48269384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档