【问题标题】:How to set language for Carbon?如何为 Carbon 设置语言?
【发布时间】:2017-06-12 23:36:16
【问题描述】:

所以我想为 Carbon 设置语言,但我总是得到相同的结果。

  Carbon::setLocale('es');
$archive_current_year = Articles::whereBetween('created_at', [
    Carbon::now()->startOfYear(),
    Carbon::now()->endOfYear(),
  ])->get()->groupBy(function($item) {
    return $item->created_at->format('F');
  });

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2


    【解决方案1】:

    尝试使用 PHP 函数 setlocale 并检查您的主机是否允许并为您提供所需的语言环境。

     setlocale(LC_TIME, 'es_ES');
     Carbon::setLocale('es');
     $archive_current_year = Articles::whereBetween('created_at', [
     ....
    

    【讨论】:

      【解决方案2】:

      Carbon 实际上使用的是 php setlocale();Carbon::setLocale('es') 方法仅适用于本地化 Carbon 方法,例如 ->diffForHumans() 方法。

      正如here 解释的那样,请注意php setlocale() 引用了存储在您的操作系统上的语言环境。要选择已安装的其中之一,请在控制台上键入 locale -a。 其次,您必须使用 ->formatLocalized() 方法而不是 ->format() 才能使用所需语言环境的格式,该格式可在以下链接中找到。

      http://php.net/manual/en/function.strftime.php

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多