Пожалуйста, я стараюсь делать финики и арабский в моем приложении Laravel 5.4, но всегда на английском.
это мой код:
AppServiceProvider
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
/**
* The Config::get('app.locate') value: fr , ar
*/
\Carbon\Carbon::setLocale(Config::get('app.locate'));
....
}
}
Посмотреть
{{ $user->created_at->formatLocalized('%A %d %B %Y') }}
Результат всегда:
«Четверг 05 октября 2017»
Я стараюсь также использовать Setlocale функционировать так:
setlocale(LC_TIME, 'fr_FR');
setlocale(LC_TIME, 'ar_AR');
Он отлично работает на французском (франц.), Но не на арабском (ар).
Результат setlocale (LC_TIME, ‘fr_FR’);
«Jeudi 05 октября 2017»
Результат setlocale (LC_TIME, ‘ar_AR’);
«Четверг 05 октября 2017»
Я пользователь Mac OS, поэтому я проверяю языки пакетов
locale -a
Я не нашел пакет ar_AR, я пробую локаль поколения команда, но это не работает для меня.
Любая помощь, пожалуйста.
Если у вас возникли проблемы с переводами, проверьте локали, установленные в вашей системе (локальные и производственные).
locale -a
перечислить включенные локали.
sudo locale-gen fr_FR.UTF-8
установить новую локаль.
sudo dpkg-reconfigure
локали для публикации всех локали включены.
И перезагрузите вашу систему.
К сожалению, базовый класс DateTime не поддерживает локализацию. Для начала поддержки локализации был добавлен метод formatLocalized ($ format). Реализация делает вызов strftime, используя временную метку текущего экземпляра. Если вы сначала установите текущую локаль с помощью PHP-функции setlocale (), то возвращаемая строка будет отформатирована в правильной локали.
setlocale(LC_TIME, 'German');
echo $dt->formatLocalized('%A %d %B %Y'); // Mittwoch 21 Mai 1975
setlocale(LC_TIME, '');
echo $dt->formatLocalized('%A %d %B %Y'); // Wednesday 21 May 1975
Других решений пока нет …