如何使用translate laravel配置文件

时间:2016-12-30 11:16:35

标签: php laravel-5

我正在使用Laravel 5.3,而且我有一个配置文件,它正在调用trans()函数。当我运行php artisan时,它会给我一个错误

Class translator does not exist

这是我的配置文件

<?php

return [
'modules' => [
        'name'      =>  trans('menus.module'),
        'url'       =>  'modules',
    ],
];

1 个答案:

答案 0 :(得分:0)

简短回答:你不能。

答案很长: 在应用程序引导之前加载配置文件,因此没有转换器类,因为它尚未加载。

如果您计划缓存配置,那么您也不应该这样做,如您所见,它将无法按预期工作。

您可以通过执行此类操作在运行时更改它。

trait isA[T] {
    def aux_foo(value: T): Int
  }

  object isA {
    // "Summoner" method
    def apply[T](implicit enc: isA[T]): isA[T] = enc

    // "Constructor" method
    def instance[T](func: T => Int): isA[T] = new isA[T] {
      override def aux_foo(value: T): Int = func(value)
    }

    implicit def a1Encoder: isA[A1] = instance(i => 4)
    implicit def a2Encoder: isA[A2] = instance(i => 9)

    implicit def hnilEncoder: isA[HNil] = instance(hnil => 0)

    implicit def hlistEncoder[H, T <: HList](implicit
                                             hInstance: Lazy[isA[H]],
                                             tInstance: isA[T]
                                            ): isA[H :: T] = instance {
      case h :: t => hInstance.value.aux_foo(h) + tInstance.aux_foo(t)
    }

    implicit def genericInstance[A, R](implicit
                                       generic: Generic.Aux[A, R],
                                       rInstance: Lazy[isA[R]]
                                      ): isA[A] = instance { value => rInstance.value.aux_foo(generic.to(value)) }
  }