拉拉维尔与拉拉朗的本地化路线

2026年8月1日2 次浏览来源:Dev.to阅读原文

在Laravel app中翻译文本是一个问题,允许本地化的URL是一个不同的问题.

您想用英语和西班牙语, 两种真正的路线解决, 手工操作是指每个语言的路由组,重复定义,并用胶粘在上方的地语检测.

拉朗做那一半。

您声明过一条路线, 列出各种语言, 它登记了一个真实的路线 每个地方, 命名它们, 并持续工作。

这是整件事,包括容易出错的部分。

安装出版实际上不是可选的。

装有单一语言的配置船,中间软件和URL生成器都从那里读取该列表,所以直到您用您的其他语言填充之前,它不被识别.

关于保存调试会话的前缀的两个规则.

无前缀语言是.,而不是数组中的第一个项目.

如果你的应用用西班牙语运行, 是什么使活在根并带有前缀。

一个值是字面前缀,不使用一个地块代码.

一个缺失的密钥,和一个空字符串都算作无值,所以只有默认语言才能最终被收到根上,两个地块永远不能为同一个URL而相争.

宣布本地化路线交换 。

第二个论点是地语列表.

裸露的地块可以再利用基础路径,并赋予该语言自己的URL.

登记和.

你连锁的一切都适用于每一个生成的路线,所以中间的软件,约束和其余的都照常工作.

每个动词(,,,,,,,)外加有方法.

资源工作也是如此, 这样的软件包通常会放弃: Laravel 自己的资源注册员 建造路线, 所以,,,,,,,,,,, 继续工作,并同时应用到每种语言。

你得到和, 和两者的名字 以他们的地盘。

路由名称带有所生成的每个路由被命名,没有在赤名下注册的路由.

需要特定语言时要明确: 并随处取出平平名: 因为它取代了Laravel的URL生成器。

寻找当应用语言是西班牙语时, 回到一个字面上命名的路线, 如果没有本地化的, 正在航行的国家也继续工作,因为理解命名: 被翻译的流涕,不只是被翻译的路径 这就是它不再是化妆品的地方。

路由模型绑定接受每个地块不同的一列,因此每种语言都会解决自己的弹出:并用同一种模型打出同一个控制器,通过不同的一列解决.

并且因为选择当前地块的本地化路径,所以用右侧的弹片来构建正确的URL,在视图中没有任何分支.

一个用动态地块前缀注册单一路由的软件包不能表达这一点:有一个定义,所以有一个绑定字段.

当前页面的每个URL,在一个调用语言切换器,标记和多地块站点地图中都是同样的问题:这个页面在其他语言中叫什么?

将当前路由参数带过,因此动态段能活下来,它只返回实际拥有已注册路由的地段.

以您三种语言中的两种语言存在的页面会生成两个链接而不是一个死链接 。

组合和前缀 地语前缀总是先行,甚至在前缀组内: 检测每一个已经由中间软件创建的路线,所以本地化路线不需要接线.

中间器件对其它所有东西都很重要:平坦路线,以及任何部分的应用软件在路径中没有地块.

读取路由名称或URL前缀中的地块,并保存在会话中。

不论会议举行与否。

这是用于管理面板的,语言是用户设置,而不是URL的一部分.

选择最好的匹配 从第一次访问。

组合它们:当有一个,会话或浏览器不存在时的前缀.

他们是天分,所以堆放是安全的。 2个b

分享