当前位置: 首页 > 知识库问答 >
问题:

Symfony 4如何一步一步地改变语言

郭逸清
2023-03-14

我无法理解页面翻译机制。我保存在yml文件翻译中的特定语言的翻译可以通过两种方式获得:

  1. 在会话中保留当前选定的翻译

只有在什么时候语言才会改变?我创建了一个单独的控制器,使用GET将参数传递给该控制器,并在控制器中执行代码?

$lang = $request->query->get('lang', null);
if(!is_null($lang)) { 
    request->setLocale($lang);
}
return $this->redirect($this->generateUrl('index.index'));

为了不在任何控制器中编写相同的代码,我应该有一个只更改语言并将页面返回到上一个页面的控制器。仅通过重定向返回到上一页不会使用新语言传递请求,只有文档中给出的类使用默认语言。

我遇到的第一个问题是,@Road ("/") 主页的默认路由不会通过我localhost:8000/en/因为Symfony将查找en控制器,这是语言的选择,而不是控制器。解决方案是提供路径localhost:8000/index/en但此时此刻,我只提供页面的地址,阻止了显示页面的可能性。@Road选项("/{_locale}",默认={"_locale"="en"})不起作用,我不明白为什么,因为我总是必须指定pl/en等来显示语言。

阅读留档时,我应该做到以下几点:

  1. 配置文件配置/包/translation.yaml

默认语言环境:“en”

配置/translation.yaml文件

框架:默认语言环境:“en”转换器:~

共有1个答案

端木冷勋
2023-03-14

要使本地化为您的用户工作,您必须遵循三个教程:https://symfony.com/doc/current/translation.htmlhttps://symfony.com/doc/current/translation/locale.html和https://symfony.com/doc/current/session/locale_sticky_session.html第一个教程解释了如何设置翻译以及如何使用它们。第二个解释了如何读取当前会话的区域设置,以及您应该使用_locale参数来设置您的路由(因为前缀是开始时的最佳选项)。第三个教程解释了如何使区域设置对用户会话具有粘性(这样用户就不必每次都在浏览器中键入正确的网址)。所有这些都是一起工作的,而不是作为单独的选项。

 类似资料:
  • 本文向大家介绍一步一步跟我学易语言之关于变量,包括了一步一步跟我学易语言之关于变量的使用技巧和注意事项,需要的朋友参考一下 下面来介绍变量相关的知识。 什么是变量? 顾名思义变量就是一种自身可改变值的可使用的虚拟的质体。简单的说把变量比作一个盒子,当你的东西需要保存时这个盒子派上了用场把你想要存放的东西放到盒子里,如果需要用盒子里的东西就把东西拿出来不需要时再放回去,或这里的部分或全部的不需要了就

  • 问题内容: 随着去除传统的C风格的for循环雨燕3.0的,我该怎么办下面? 在Python中,for-in控制流语句具有可选的step值: 但是Swift范围运算符似乎没有等效项: 问题答案: “步骤”的Swift同义词是“跨步”(stride)- 实际上是可跨步协议,由许多常见的数值类型实现。 等效于: 或者,要获取等价的,请使用变体: 请注意,返回/ ,这符合,所以任何你可以用序列做,你可以用

  • 我想对一个网站进行压力测试。主要目的是在并发用户数和命中视频数/秒(RPS)方面找到性能下降点。 我使用了ultimate thread group,并将用户数量设置为200,加速时间为200秒。我已经为终极线程组添加了吞吐量整形计时器,并将每秒请求数设置为8。(如果我每秒钟只有一次采样器点击,那就控制得很好,是8次点击/秒。如果我有一个以上的采样器点击不受控制,他们甚至达到20,25,40等..

  • 先创建规范 在 NEI 平台 上点击“工程规范 -> 新建规范”,输入规范名称,比如 TodoSpec,点击“保存” 点击“工程结构”,新建一个文件,文件名为 ``,在右边选择“数据模型列表填充” 将 JavaBean 文件的示例模板中的内容复制到新创建的文件内容中 然后创建工程 点击“项目管理”,在某个项目组下创建一个项目,比如 TodoWeb 在刚才创建的 TodoWeb 项目下,点击“资源管

  • 本文向大家介绍一步一步跟我学易语言之变量的有效范围,包括了一步一步跟我学易语言之变量的有效范围的使用技巧和注意事项,需要的朋友参考一下 大家好,今天我们要学习的是变量的知识,还将解答一些初学者的一些常见问题。 什么是变量? 变量是用名称代表一个可变化的值,变量的类型也分多种多样,每种变量类型都是存储的特定的值。变量也好象是一种容器,把所有的数据都存储在变量中。 下面我们就来详细了解变量的有关知识。