gpt4 book ai didi

laravel - Laravel 4 中的多语言 URL

转载 作者:行者123 更新时间:2023-12-01 01:08:29 25 4
gpt4 key购买 nike

我正在尝试实现多语言 URL。因此,我想要像这样的 URL:/de/ueber-uns/kontakt/en/about-us/contact到目前为止一切顺利,我使用 App::before()在filters.php 中检查给定的语言环境。我想我需要在 routes.php 中为每种语言的每个 Controller 操作设置一个路由。

所以我想到了动态创建文件routes.php。我所需要的只是知道如何访问所有可用的 Controller 或在代码中获取所有注册的路由(如工匠路由,但不是使用 CLI)。

所以问题是:

  • 多语言网址的一般方法是否正确?
  • 是否可以访问所有 Controller 以某种方式提取方法?
  • 我怎样才能获得在\Illuminate\Routing\Router.php 中使用的 RouteCollection?

  • 先感谢您!

    最佳答案

    我最终做了以下事情:

    1) routes.php 中的路由是使用自定义 artisan 命令动态创建的。它解析所有 Controller 并为支持的每种语言的每个操作创建路由。语言字符串使用类似的路由处理
    Route::get('{lang}/customer/login', 'CustomerController@getLogin')->where('lang', '[a-z]{2}').
    这样用户只需更改语言字符串,站点就会以正确的语言加载(如果支持)。
    不同语言的路由都会导致相同的 Controller 操作。对于除英语之外的这些语言,我需要翻译(/app/lang 中的routes.php)。

    2)在构造函数中设置了那些 Action 被翻译的 Controller 的前置过滤器。它基本上检查语言字符串是否有效,如果无效则替换它。所选语言将在 session 中设置。

    我希望任何人都可以使用它:)

    关于laravel - Laravel 4 中的多语言 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16813219/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com