Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有较大本地化的碳未使用正确的区域设置_Php_Laravel_Laravel 5.1_Php Carbon_Laravel Localization - Fatal编程技术网

Php 具有较大本地化的碳未使用正确的区域设置

Php 具有较大本地化的碳未使用正确的区域设置,php,laravel,laravel-5.1,php-carbon,laravel-localization,Php,Laravel,Laravel 5.1,Php Carbon,Laravel Localization,我在我的项目中使用了,我有一个问题,就是碳不能识别区域设置。当我使用 $event->start_time->formatLocalized('%A %d %B %Y') 它总是显示英文格式,即使我尝试时得到“de” App::getLocale() 显然,这是因为carbon使用操作系统中的语言环境,并且我的操作系统具有“de_de.utf8”,所以除非我这样做 setlocale(LC_TIME, 'de_DE.utf8') 它不起作用。我显然不能用这种方式,因为我使用多种

我在我的项目中使用了,我有一个问题,就是碳不能识别区域设置。当我使用

$event->start_time->formatLocalized('%A %d %B %Y')
它总是显示英文格式,即使我尝试时得到“de”

App::getLocale()
显然,这是因为carbon使用操作系统中的语言环境,并且我的操作系统具有“de_de.utf8”,所以除非我这样做

setlocale(LC_TIME, 'de_DE.utf8')
它不起作用。我显然不能用这种方式,因为我使用多种语言

  • 选项1(坏的和容易的,但有效):
在routes.php(或其他地方)中定义以下内容

  • 选项2(长期且可能更好的解决方案?感觉是正确的)
因为我在routes.php中定义了这个

'prefix' => LaravelLocalization::setLocale(),
我可以扩展
setLocale()
LC\u-TIME
设置为
de\u-de
或其他任何内容。但要做到这一点,我需要从

'de' => ['name' => 'German','script' => 'Latn', 'native' => 'Deutsch'],

我还需要在LaravelLocalization.php中创建一个这样的方法(显然我会扩展这个类)

现在我想知道,哪种方式更好?或者,这个问题还有其他(更简单的)解决方案吗

我正在开发Ubuntu 15.10,以防万一

-----------编辑----------------


对于阅读本文的任何人来说,选项2已经发布为1.0.12版,您始终可以在lang文件中创建一个键,告诉Carbon如何编写格式

比如:

$event->start\u time->formatLocalized(trans('general.date\u format'))

但此解决方案将在2015年11月25日和2015年11月25日之间更改,但不会更改月份或日期名称。但这仍然是一个很好的解决方案,谢谢
'de' => ['name' => 'German','script' => 'Latn', 'native' => 'Deutsch'],
'de' => ['regional' => 'de_DE.utf8', 'name' => 'German','script' => 'Latn', 'native' => 'Deutsch'],
public function getCurrentLocaleRegional()
{
    return $this->supportedLocales[ $this->getCurrentLocale() ][ 'regional' ];
}