Laravel 5 Lang :: get()替换

时间:2015-04-23 07:24:16

标签: php laravel

我遇到了问题。

你可以在Laravel 5中使用Lang :: get(),我想做一个替换字符。

资源/郎/ EN / messages.php

<?php
    return array(
    'test' => 'test message. :name',

视图/ top.blade.php

{!! App::setLocale('en') !!}
{!! Lang::get('messages.test', array('name' => 'Dayle')) !!}

然而,这是一个错误。

ErrorException in Translator.php line 148:
Missing argument 2 for Illuminate\Translation\Translator::Illuminate\Translation\{closure}(), called in /home/my-site/www/my-site/vendor/compiled.php on line 11547 and defined (View: /home/my-site/www/my-site/resources/views/top.blade.php)

因为我不知道。

难道你不认识的人?

3 个答案:

答案 0 :(得分:1)

我只需按照here

步骤解决此问题

总结一下,请尝试以下步骤:

  1. 删除vendor / compiled.php和storage / framework / compiled.php
  2. 运行<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="test2.xsl" type="text/xsl" ?> <document> <date>2013-01-01</date> <date>2013-05-24</date> <date>2013-12-25</date> <date>1957-07-13</date> <date>1776-07-04</date> </document> 如果它没有自动运行,请运行composer update再次编译。
  3. 在messages.php文件中使用双引号(例如php artisan optimise
  4. 运行"title" => "Value in double qoutes"

答案 1 :(得分:0)

在message.php中使用括号:     'test'=&gt; '测试消息。 (:名称)”,

另外,看看你的错误信息,我想是的     {! App :: setLocale('en')!!} 在你的视图中出于某种原因出现了问题,所以只需删除它,没有它就行,我试过了。

另外,添加     用\郎; 在你的控制器中。

答案 2 :(得分:-1)

也许你可以尝试推荐的语法 - &gt; test' => 'test message. :name',

更新

您也可以尝试辅助功能:

App::setLocale('en')

并删除

中此行server末尾的

对你的控制器中的x-expires而不是在视图中也会更好,但这只是最佳做法,可能不是你问题的原因。