2015-04-23 3 views
3

У меня проблемы.Laravel 5 Lang :: get() Заменить

Вы можете использовать Lang :: get() в Laravel 5, я хочу сделать a, чтобы заменить символы.

ресурсы/языки/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) 

Причина Я не знаю.

Не знаете, что вы знаете?

+0

же проблема здесь после обновления композитора – dynamic

+0

я решил ее, удалив все файлы из кэша. (views, compiled и т. д.) – dynamic

+0

имел ту же проблему, в моем случае проблема заключалась в том, что я написал [': name' => 'Dayle']. Я удалил двоеточие перед «именем», и он сработал. – mwallisch

ответ

-1

Возможно, вы можете попробовать рекомендуемый синтаксис ->Lang::get('messages.test', ['name' => 'Dayle'])?

обновление:

можно также попробовать вспомогательную функцию:

{{ trans('messages.test', array('name' => 'Dayle')) }} 

и удалить, на конце этой линии test' => 'test message. :name', в

также было бы лучше App::setLocale('en') в вашем а не в представлении, но это только лучшие практики и, вероятно, не причина вашей проблемы.

+0

В чем разница? –

+0

К сожалению, он не исцеляет. Та же. – hiro

+0

Исцелить нет. Та же. – hiro

0

Используйте скобки в message.php: 'test' => 'тестовое сообщение. (: name) ',

Также, глядя на ваше сообщение об ошибке, я думаю, что {!! App :: setLocale ('en') !!} на ваш взгляд создает проблему по какой-то причине, поэтому просто удалите ее, она работает без нее, я попробовал.

Additionaly, add use \ Lang; в вашем контроллере.

1

Я просто решить эту проблему, выполнив действия here

Итак, попробуйте выполнить следующие шаги:

  1. УДАЛИТЬ на поставщика/compiled.php и хранения/рамки/compiled.php
  2. Запустите composer update, и если он не запустился автоматически, запустите php artisan optimise, чтобы скомпилировать его снова.
  3. Используйте двойные кавычки в файле messages.php (например "title" => "Value in double qoutes")
  4. Run composer dump-autoload -o