【问题标题】:Laravel trans helper function not picking the right fileLaravel trans 辅助函数没有选择正确的文件
【发布时间】:2015-06-18 18:59:46
【问题描述】:

我正在 Laravel 中建立一个网站, 我让它获取浏览器语言并相应地设置网站的语言。

问题是,Registrar.php 中的任何内容似乎都没有在 EnglishDutch 中翻译

谁能帮帮我? 谢谢, g3

【问题讨论】:

  • 你能显示你到目前为止所做的代码吗?您需要为要支持的所有语言创建单独的文件夹并进行相应的翻译。可以先将 resources/lang/en 的内容对应到 resources/lang/nl-be,然后将 nl-be 的内容翻译成荷兰语
  • Registrar.php, EnglishDutch 是链接 :)
  • 怎么样?不明白,你用的是什么版本的Laravel
  • Laravel 5,我的意思是在问题中这些是链接
  • 我刚刚在 pastebin 中看到了您的代码,我的建议是您应该始终将您的代码包含在您的答案中以使其更清晰,pastebin 很好,但链接可能会在稍后断开,而不是每个人都可以访问 pastebin .你如何在 laravel 中设置你的语言环境。如果您正确设置语言环境,将使用正确的语言文件。我在这里回答了类似的问题:stackoverflow.com/questions/29723344/…

标签: php laravel translation language-translation registrar


【解决方案1】:

要完成这项工作,您需要使用中间件来设置区域设置:

app/http/middleware目录中创建一个LocaleMiddleware.php

//LocaleMiddleware.php

<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Session\Store as Session;
use Illuminate\Contracts\Auth\Guard as Auth;


class LocaleMiddleware {

    public function __construct(Session $session)
    {
        $this->session      = $session;
    }


  //Languages available in your resources/lang

   protected $languages = ['en','es', 'nl-be'];



   public function handle($request, Closure $next)
   {
       $langlist = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

       // We just want the main language
        $lang = substr($langlist,0,2);

        if(isset($this->languages[$lang])){
           app()->setLocale($lang);
        }else{
           //You may log this here
        }

        return $next($request);
     }

 }

然后在app\httpe.kernel.php$middleware数组中注册中间件

/**
 * The application's global HTTP middleware stack.
 *
 * @var array
 */
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

     .........

    \App\Http\Middleware\LocaleMiddleware::class,
];

创建语言文件

您需要为要支持的所有语言创建单独的文件夹并相应地翻译其中的文件,例如nl-be\validation.php

您可以首先将 resources/lang/en to resources/lang/nl-be, then translate the contents ofnl-be\validation.php` 的内容转换为荷兰语等价物

【讨论】:

  • 像魅力一样工作!谢谢:D
  • 我知道如何创建 lang 文件 :) 可能对其他人有用 :D
猜你喜欢
  • 2020-08-14
  • 2022-08-04
  • 2015-12-07
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 2016-03-27
  • 2015-04-13
  • 2014-04-19
相关资源
最近更新 更多