Laravel 资源控制器的语言
Posted
技术标签:
【中文标题】Laravel 资源控制器的语言【英文标题】:Language of Laravel Resource Controller 【发布时间】:2016-04-29 23:30:27 【问题描述】:我来自荷兰,我正在使用荷兰语的 Laravel 5.2 创建一个网站。我希望能够使用带有荷兰名称的Route::resource('test', 'testController')
作为控制器的方法。所以基本上我想更改以下动作名称:
-
/index 变为 /thuis
/create 变成 /maken
/store 变成 /opslaan
...
等等..
这可能吗?我该怎么做?我不想为每一个可能的动作创建一个单一的路线。 提前致谢!
【问题讨论】:
如果你能有点耐心......这太有趣了,因为现在我正在为此构建一个包!我也是荷兰人。使用该软件包,您可以像这样使用它:TranslatableRoute::resource('recipe', 'recepten', 'RecipeController');
唯一的问题是我使用与普通资源路由相同的路由结构,因此 /index 仍然只是 / 并且 store 也只是 /。只有创建和编辑变成“nieuw”和“wijzig”
@TimvanUum 太棒了!完成后请联系我 :-) 你所做的足以满足我的需要,只是为了让网站的客户能够理解 URL。不过方法可以是英文的,没关系。
如果您访问 webchat.freenode.net 并添加“translatableroute”作为频道,我们可以更轻松地交谈。
几乎完成了,在自动加载包时遇到了一些问题。 @Helix
【参考方案1】:
我认为方法和路由的命名必须是英文的,这样你的代码才能被世界上的其他开发者阅读。
使用通用语言更容易进行贡献和调试。
【讨论】:
所以您希望不会说英语的人的网址中包含“创建”和“编辑”字样? 是的,使用英语更符合惯例。我是法国人,一开始我使用法语来命名方法和路线。这种方法的问题是代码不是传统的,因此所有其他开发人员都无法阅读。如果您编写要共享或发布的包,其他不讲您的特定语言的开发人员将无法正确理解您的代码。贡献,声明问题非常有限,......用英语学习和编写代码是更容易的解决方案。此外,Composer 和 laravel 所需的开发工具都是用英文编写的。只翻译内容 @chalasr 使用特定语言的 url 完全没问题。这对 SEO 来说甚至更好。但确实,方法名称和编码应该是英文的。 可能是英文代码,但面向用户的网址应该有意义。【参考方案2】:我的包裹可以使用了。只需按照说明进行操作。不要忘记将您的语言环境设置为 nl 或将来设置为另一种语言。
https://github.com/doitonlinemedia/TranslatableRoutes
你可以像这样调用资源路由:
TranslatableRoute::resource('recipe', 'recepten', 'RecipeController');
其中第二个参数是翻译后的名称,第一个参数定义您的路线名称。
另见:https://codeneverlied.com/translatable-resource-routes-in-laravel/
【讨论】:
以上是关于Laravel 资源控制器的语言的主要内容,如果未能解决你的问题,请参考以下文章