Downloads
Stars
Version
Apply localisation in 63 different locales to Laravel Nova's default DateTime
field that currently doesn't support localisation out of the box.
You can install the package in to a Laravel app that uses Nova via composer:
composer require techouse/intl-date-time
The API is adapted from Nova's default DateTime
Field.
The module itself offers 3 optional configurations:
config('app.locale')
. If you manually define an unsupported locale it will throw an Exception!HH:mm:ss
. The format must be MomentJS compatible! If you manually define an unsupported time format it will throw an Exception!Simply use IntlDateTime
class instead of DateTime
directly or alias it like the example below so you won't have to refactor too much existing code.
<?php
namespace App\Nova;
use Illuminate\Http\Request;
use Techouse\IntlDateTime\IntlDateTime as DateTime;
class User extends Resource
{
/**
* This is how you use and configure this module
*/
public function fields(Request $request)
{
return [
DateTime::make(__('Updated at'), 'updated_at')
/**
* The module automatically uses your app's locale
* from config('app.locale'), however you can manually
* override this by setting it like this.
*
* IMPORTANT: Check the list of supported locales below in this readme!
*
* NOTE: If the automatic locale is not supported by MomentJS
* the module defaults to 'en-gb' (British English).
*/
->locale('sl'),
DateTime::make(__('Created at'), 'created_at')
/**
* You can optionally set a custom DATE format.
*
* It has to be compatible with MomentJS!!!
* https://momentjs.com/docs/#/displaying/format/
*/
->dateFormat('DD.MM.YYYY'),
DateTime::make(__('Deleted at'), 'deleted_at')
/**
* You can optionally set a custom TIME format
*
* It has to be compatible with MomentJS!!!
* https://momentjs.com/docs/#/displaying/format/
*/
->timeFormat('HH:mm:ss'),
];
}
/**
* The rest of the Resource ... bla bla bla :)
*/
}
This module supports only locales that are SUPPORTED BY BOTH MomentJS AND Flatpickr!
The 63 locales that are currently supported are:
Language | locale |
---|---|
Albanian | sq |
Arabic | ar |
Bangla | bn |
Belarusian | be |
Bulgarian | bg |
Burmese | my |
Catalan | ca |
Chinese (China) | zh-cn |
Chinese (Hong Kong) | zh-hk |
Chinese (Taiwan) | zh-tw |
Croatian | hr |
Czech | cs |
Danish | da |
Dutch | nl |
English | en |
English (Australia) | en-au |
English (Canada) | en-ca |
English (Ireland) | en-ie |
English (New Zealand) | en-nz |
English (United Kingdom) | en-gb |
Esperanto | eo |
Estonian | et |
Finnish | fi |
French | fr |
French (Canada) | fr-ca |
French (Switzerland) | fr-ch |
German | de |
German (Austria) | de-at |
German (Switzerland) | de-ch |
Greek | el |
Hebrew | he |
Hindi | hi |
Hungarian | hu |
Indonesian | id |
Italian | it |
Japanese | ja |
Kazakh | kk |
Khmer | km |
Korean | ko |
Latvian | lv |
Lithuanian | lt |
Macedonian | mk |
Malaysian | ms |
Norwegian | nb |
Persian | fa |
Polish | pl |
Portuguese | pt |
Punjabi | pa-in |
Romanian | ro |
Russian | ru |
Serbian | sr |
Sinhala | si |
Slovak | sk |
Slovenian | sl |
Spanish | es |
Spanish (Dominican Republic) | es-do |
Spanish (United States) | es-us |
Swedish | sv |
Thai | th |
Turkish | tr |
Ukrainian | uk |
Vietnamese | vi |
Welsh | cy |
This an evolution of my original Slovenian DateTime