35 lines
629 B
PHP
35 lines
629 B
PHP
<?php
|
|
|
|
namespace Illuminate\Support\Traits;
|
|
|
|
use Illuminate\Container\Container;
|
|
|
|
trait Localizable
|
|
{
|
|
/**
|
|
* Run the callback with the given locale.
|
|
*
|
|
* @param string $locale
|
|
* @param \Closure $callback
|
|
* @return mixed
|
|
*/
|
|
public function withLocale($locale, $callback)
|
|
{
|
|
if (! $locale) {
|
|
return $callback();
|
|
}
|
|
|
|
$app = Container::getInstance();
|
|
|
|
$original = $app->getLocale();
|
|
|
|
try {
|
|
$app->setLocale($locale);
|
|
|
|
return $callback();
|
|
} finally {
|
|
$app->setLocale($original);
|
|
}
|
|
}
|
|
}
|