изменить формат даты на местный язык - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу изменить формат даты на английском языке sh («Понедельник, 04 июля 2020 года») на Индонезию (Сенин, 04 июля 2020 года). Я изменяю config / App. php

'locale' => 'id',

и добавляю некоторый код в Providers / AppServiceProvider. php

   public function boot()
    {
        config(['app.locale' => 'id']);
        Carbon::setLocale('id');
        date_default_timezone_set('Asia/Jakarta');
    }

моя модель

 public function dateFormat()
    {
        return \Carbon\Carbon::parse($this->attributes['tanggal_acara'])
        ->formatLocalized("%A, %d %B %Y");
    }

и это мой клинок

{{ $event->dateFormat() }}

но результат все тот же "Понедельник, 4 июля 2020 года"

кто-нибудь скажет мне, что я пропустил?

Ответы [ 3 ]

0 голосов
/ 15 апреля 2020

Поскольку вы используете formatLocalized(), вам нужно будет позвонить php setlocale() примерно так

public function boot()
{
    setlocale(LC_TIME, 'id_ID');
    config(['app.locale' => 'id']);
    Carbon::setLocale('id');
    date_default_timezone_set('Asia/Jakarta');
}

Также, согласно комментарию Саммитча, вы должны убедиться, что локаль настроена на вашем сервере (на linux это можно проверить с помощью команды locale -a в консоли), так как setlocale() не будет работать в противном случае

0 голосов
/ 28 апреля 2020

решено использовать эту библиотеку https://github.com/jenssegers/date

Эта библиотека дат расширяет Carbon поддержкой нескольких языков. Такие методы, как format, diffForHumans, parse, createFromFormat и новый интервал времени, теперь будут переводиться в зависимости от вашей локали.

0 голосов
/ 14 апреля 2020

Установите язык в /app/config/app.php

'timezone' => 'Asia/Jakarta',
'locale' => 'id',
'faker_locale' => 'id_ID',

// App \ Providers \ AppServiceProvider

public function boot()
{
    config(['app.locale' => 'id']);
    Carbon::setLocale('id');
    date_default_timezone_set('Asia/Jakarta');

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...