我在 Laravel 的完整日历中的区域设置有问题。 我使用"maddhatter/laravel-fullcalendar":"~1.0",我无法在FR中传递语言环境。 如果你有任何想法,我接受。 谢谢
我的控制器
class EventController extends Controller
{
public function index() {
$events = [];
$events[] = Calendar::event(
'Event One', //event title
false, //full day event?
'2017-07-31T1000', //start time (you can also use Carbon instead of DateTime)
'2017-07-31T1200', //end time (you can also use Carbon instead of DateTime)
0 //optionally, you can specify an event ID
);
$calendar = Calendar::addEvents($events)
->setOptions([ //set fullcalendar options
'header' => array('left' => 'prev,next today', 'center' => 'title', 'right' => ''),
'locale' => 'fr',
'editable'=> true,
'navLinks'=> true,
'selectable' => true,
'defaultView' => 'month'
])->setCallbacks([ //set fullcalendar callback options (will not be JSON encoded)
'viewRender' => 'function() {alert("Callbacks!");}'
]); //add an array with addEvents
return view('agenda', array('calendar' => $calendar));
}
1.下载完整日历包。
2.随心所欲地提取它。
3. 转到区域设置目录并复制所需的语言文件。
4. 转到您的 public/js 目录并创建一个名为"fullcalendar"的目录,您将复制的语言文件粘贴到该目录中。
4. 或者,您可以将文件复制到资源目录并使用 laravel-mix 编译它们。
5. 正好在完整日历脚本下方(例如<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.js"></script>
(,使用 if 或 switch 条件添加语言脚本,例如:
@if ($locale == 'fr') {{-- $locale is a predefined variable holding the user's locale--}}
<script src="{{ asset('js/fullcalendar/fr.js') }}"></script>
@endif
6.一切就绪!!
一个适用的解决方案是:
编辑类calendar
中的默认选项:
protected $defaultOptions = [
'header' => [
'left' => 'prev,next today',
'center' => 'title',
'right' => 'month,agendaWeek,agendaDay',
],
'monthNames' => ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
'dayNames' => ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
'dayNamesShort' => ['Dom','Lun','Mar','Mie','Jue','Vie','Sáb'],
'monthNamesShort' => ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
'buttonText' => [
'month' => 'mes',
'week' => 'semana',
'day' => 'día',
'today' => 'Hoy',
],
'eventLimit' => true,
];