First Commit

This commit is contained in:
2025-11-02 22:52:08 +01:00
commit 73fbbf1be2
5821 changed files with 977526 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
# .htaccess-Datei für Passwortschutz
AuthType Basic
AuthName "Sternwarten-Kalender - Bitte geben Sie ein Passwort ein!"
AuthUserFile /kunden/310927_70173/.htpasswd01
require valid-user

View File

@@ -0,0 +1,42 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sternwarte Welzheim</title>
<!--[if IE 5]>
<link href="css/ie5.css" rel="stylesheet" type="text/css" />
<![endif]--><!--[if IE]>
<style type="text/css">
<link href="css/ie.css" rel="stylesheet" type="text/css" />
</style>
<![endif]-->
<link href="../css/sternwarte1.css" rel="stylesheet" type="text/css" />
</head>
<body class="thrColFixHdr">
<div id="container2sp">
<?php include '../header.php'; ?>
<?php include '../navi.php'; ?>
<div id="mainContentBig">
<!-- <h1>Aktuelle Wetterdaten von der Sternwarte Welzheim</h1> -->
<!-- <div class="fltlft2"> -->
<div id="foriframe">
<iframe src="index.html" width="813" frameborder="0" height="710px" scrolling="no"></iframe>
<!-- Maintenance nun über 'maitnenance = true' in js/wetter.js !! -->
</div>
<!-- </div> -->
<!-- <p class="center">Die Wetterstation wurde vom Zeitungsverlag Waiblingen <a href="http://www.zvw.de" target="_blank">www.zvw.de</a> gestiftet.</p>
-->
<!-- end #mainContent --></div>
<!-- Dieses clear-Element sollte direkt auf das #mainContent-div folgen, um das #container-div anzuweisen, alle untergeordneten Floats aufzunehmen. --><br class="clearfloat" />
<!-- end #container --></div>
</body>
</html>

View File

@@ -0,0 +1,49 @@
body {
/* margin: 20px 10px; */
padding: 0;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
font-size: 14px;
}
#container {
width: 95%;
margin:10px auto;
background-color: #CCC;
}
#calendar {
max-width: 1500px;
margin: 0 auto;
/* border: 1px solid black; */
padding: 20px;
background-color: #CCC;
color: black;
}
.dulabel {
margin-top: 15px;
font-size: 110%;
}
#author {
font-size:80%;
width: 100%;
margin: auto;
padding-bottom: 20px;
padding-top: 5px;
background: #DDD;
}
#mailadr {
float: left;
margin-left: 2%;
}
#versn {
float: right;
margin-right: 2%;
}
#beonamen {
font-size: 80%;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,25 @@
#Kalender Sternwarte-Welzheim
Version 1.1 vom 2020-11-13
###Anzeige:
Es wird beim Aufruf immer der aktuelle Monat angezeigt. Die normalen Führungen (Mo, Mi, Sa) werden gelb hinterlegt dargestellt, extra Einträge (z.B. BEOS, Sonderführungen etc.) sind in blau hinterlegt.
###Navigation:
Rechts oben sind 3 Navigation-Tasten. Die Pfeile führen jeweils einen Monat in die Zukunft oder in die Vergangenheit. Der **heute**-Knopf führt wieder zum aktuellen Monat zurück.
###Termin eintragen:
Ein neuer Termin wird eingetragen, indem einfach in den gewünschten Tag geklicked wird. Es erscheint ein Dialogfeld, bei dem das Datum und die Uhrzeit sowohl für den Start als auch für das Ende vorausgefüllt sind. Die Startzeit ist die der normalen Regelführung (also 20, 21 oder 22 Uhr) und die Endezeit ist immer 90 Minuten später. Alle diese Werte lassen sich jederzeit ändern. Ein Titel **muss** eingebeben werden, die Beschreibung kann frei bleiben. Mit Klick auf **Speichern** wird der Termin übernommen, im Kalender angezeigt und in der Datenbank gespeichert.
###Detail-Anzeige:
Durch Klick auf einen Termine wird eine kleine Popup-Box mit den Details des Termins angezeigt. Zum Schließen dieser Box auf 'Schließen' klicken (oder auf das kleine Kreuz rechts oben).
###Termin ändern / löschen:
Jeder der eingetragenen Termine (**nicht die 'normalen' Führungstermine**) kann geändert oder gelöscht werden. Dazu wird einfach auf den Termin geklicked. Es erscheint eine Dialogbox, die die Daten des Termins anzeigt. Mit Klick auf **Löschen** kann der Termin gelöscht werden. Ein Klick auf **Ändern** bringt die Einstell-Dialogbox wieder zur Anzeige und es können alle Daten des Termins verändert werden. Mit **Speichern** wird der neue geänderte Termin gespeichert und der alte gelöscht.
####Versionen dieses Dokuments
Version | Datum | Bemerkung
-------|-------|-------
1.2 | 2022-08-24 | Detail-Anzeige angepasst
1.1 | 2020-11-13 | Endezeit dazu, Popup für Details
1.0 | 2020-11-11 | Erste Version

View File

@@ -0,0 +1,27 @@
#ToDos
Bei dem Review mit Rolf (2020-11-11) festgestellt:
* ein Feld für den Führenden/Betreuer beim Eintragen vorsehen
* zeitliche Konflikte melden (aber eintragen lassen)
* Die Anzahl der angemeldeten Persone im Titel mit anzeigen
* ~~Detailsanzeige schon mit 'hover' und nicht erst mit 'click'~~
* Farben global definieren
Weiter Änderungen/Ideen:
* ~~die Default-Zeit abh. von der Jahreszeit nachen~~
* Feiertage, die am Sonntag sind, extra noch eintragen (die Feiertags-API gibt das nicht her)
#### Login
Eventuell ist ein individueller Login für jeden BEOs notwendig mit unterscheidlichen Berechtigungen. Dazu brauch tman.
* Eingabefenster mit Username (Email) und Passwort
* Registrierungsfenster
* 'Passwort vergessen' ermöglichen
* Username / Passwort (Hash) speichern in der DB
* Berechtigungen:
* jeder darf alles im internene Bereich anschauen
* Ändern der Sonderführung (wenige)
* Einträge im Kalender (jeder?)
* Ändern der Regelführungen (wenige)

View File

@@ -0,0 +1,131 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'/>
<title>Kalender</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<!-- <link href='/css/bootstrap.min.css' rel='stylesheet'/> -->
<link href='../css/fontawsome/all.min.css' rel='stylesheet'/>
<link href='lib/main.css' rel='stylesheet'/>
<link href='css/kalender.css' rel='stylesheet'/>
<script src='../javascript/jquery-1.11.0.min.js'></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
<!-- <script src='/javascript/bootstrap.min.js'></script> -->
<script src='../javascript/moment.min.js'></script>
<script src='lib/main.js'></script>
<script src='js/version.js'></script>
<script src='js/kalender.js'></script>
</head>
<body>
<div id="container">
<div id="calendar"></div>
<div id="author">
<div id='mailadr'>
<a href="mailto:rxf@gmx.de">mailto:rexfue@gmail.com</a>
</div>
<div id='versn'></div>
</div>
</div>
<!-- Modal -->
<div class="modal fade bd-example-modal-sm" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Neuer Eintrag</h5>
<button class="close" data-dismiss="modal" type="button">&times;</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label class="dulabel" for="txtTitle">Titel</label>
<input class="form-control" id="txtTitle" name="txtTitle" type="text">
<label class="dulabel" for="txtBeschr">Beschreibung</label>
<textarea class="form-control" id="txtBeschr" name="txtBeschr"></textarea>
<div class="form-row">
<div class="col-6">
<label class="dulabel" for="st_datum">Start-Datum</label>
<div id="st_datum">
<select id="st_date_day"></select>
<select id="st_date_month"></select>
<select id="st_date_year"></select>
</div>
<label class="dulabel" for="startzeit">Start-Zeit</label>
<div id="startzeit">
<select id="st_date_hours"></select> :
<select id="st_date_minutes"></select>
</div>
</div>
<div classs="col-6">
<label class="dulabel" for="end_datum">Ende-Datum</label>
<div id="end_datum">
<select id="end_date_day"></select>
<select id="end_date_month"></select>
<select id="end_date_year"></select>
</div>
<label class="dulabel" for="endzeit">Ende-Zeit</label>
<div id="endzeit">
<select id="end_date_hours"></select> :
<select id="end_date_minutes"></select>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button id="btn_saveentry" class="btn btn-default" type="button">Speichern</button>
<button id="btn_close" class="btn btn-default btn_close" data-dismiss="modal" type="button">Abbrechen</button>
</div>
</div>
</div>
</div>
<div class="modal fade bd-example-modal-sm" id="viewModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button class="close" data-dismiss="modal" type="button">&times;</button>
</div>
<div class="modal-body">
<div class="viewdesc"></div>
</div>
<div class="modal-footer">
<button id="btn_delete" class="btn btn-default" type="button">Löschen</button>
<button id="btn_edit" class="btn btn-default" type="button">Ändern</button>
<button class="btn btn-default btn_close" data-dismiss="modal" type="button">Schließen</button>
</div>
</div>
</div>
</div>
<div class="modal fade " id="infoModal" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Anleitung</h5>
<button class="close" data-dismiss="modal" type="button">&times;</button>
</div>
<div class="modal-body">
<div class="viewAnleitung"></div>
</div>
<div class="modal-footer">
<button class="btn btn-default btn_close" data-dismiss="modal" type="button">Schließen</button>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,546 @@
// calendar.js
document.addEventListener('DOMContentLoaded', async function () {
const months_short = [0, 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
const weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstg', 'Freitag', 'Samstag', 'Sonntag'];
const url = '../DB4js.php';
const default_dauer = 90; // Standardführung dauert 90min
let fuehrungszeiten;
let isedit;
let entryInfo;
// Von der Datenbank Werte abholen
// Param:
// body: Object mit cmd und param
// Return:
// angeforderte Daten als JSON
const fetchFromDbase = async (body) => {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/js'},
body: JSON.stringify(body)
});
return await response.json();
}
// In die Datenbank Werte eintragen
// Param:
// body: Object mit cmd und param
// Return:
// angeforderte Daten als JSON
const putToDbase = async (body) => {
const response = await fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/js'},
body: JSON.stringify(body)
});
return await response.json();
}
// Die Daten der BEOs, die in einem Führungsteam sind, abholen
// Params: keine
// Retur:
// beos direkt gesetzt
async function getBEOs() {
let data = await fetchFromDbase({cmd: 'GET_BEOS', id: 'all', onlyguides: 'true'});
return data;
}
$('#versn').html("Version: " + VERSION + ' vom ' + VDATE)
let beos = await getBEOs();
// FullCalendar aufrufen und mit den Optionen versorgen
const calendarEl = document.getElementById('calendar');
let calendar = new FullCalendar.Calendar(calendarEl, {
themeSystem: 'bootstrap',
aspectRatio: 1.75,
locale: 'de',
editable: true,
selectable: true,
businessHours: {
daysOfWeek: [1, 2, 3, 4, 5],
startTime: '00:00',
endTime: '23.59'
},
nextDayThreshold: '00:30:00',
eventTimeFormat: {
hour: '2-digit',
minute: '2-digit',
meridiem: false
},
schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
customButtons: {
anleitButton: {
text: "Anleitung",
click: function() {
showAnleitung();
}
}
},
headerToolbar: {
start: 'anleitButton',
center: 'title',
end: 'today prev next'
},
firstDay: 1,
buttonText: {
today: 'heute'
},
dayMaxEvents: true, // allow "more" link when too many events
eventSources: [
{
events: async function (info, success, failure) {
try {
let fdates = await getFdates(info.start, info.end, beos);
success(fdates);
} catch (err) {
console.log("Fehler gekommen:", err);
failure(err);
}
},
color: '#e3e839',
borderColor: '#e3e839',
textColor: 'black',
},
{
events: async function (info, success, failure) {
try {
let fdates = getSundays(info.start);
success(fdates);
} catch (err) {
console.log("Fehler gekommen:", err);
failure(err);
}
},
color: '#e3e839',
borderColor: '#e3e839',
textColor: 'black',
},
{
events: async function (info, success, failure) {
try {
let fdates = await getCaldates(info.start, info.end);
success(fdates);
} catch (err) {
console.log("Fehler gekommen:", err);
failure(err);
}
},
},
{
events: async function (info, success, failure) {
try {
let fdates = await getHolidays(info.start, info.end);
success(fdates);
} catch (err) {
console.log("Fehler gekommen:", err);
failure(err);
}
},
color: '#AAA',
borderColor: '#AAA',
textColor: 'black',
}
],
eventDisplay: 'block',
dateClick: function (info) {
entryInfo = info.event;
console.log("Dateclick ausgeführt");
isedit = false;
fillModal(info.date, null);
$('#myModal .modal-title').text('Neuer Eintrag');
$('#myModal').modal();
},
/*
eventMouseEnter: async function (info) {
isedit = true;
entryInfo = info.event;
let start = entryInfo.start;
const holiday = await checkInHoliday(start);
if (holiday == -1) {
$(info.el).popover({
container: 'body',
title: entryInfo.title,
content: (entryInfo._def.extendedProps.description !== undefined) ? getFuehrungsInfo(entryInfo) : getRegularInfo(entryInfo),
trigger: 'hover',
placement: 'auto',
html: true
});
$(info.el).popover('show');
}
},
*/
eventClick: function (info) {
isedit = true;
entryInfo = info.event;
showViewModal(entryInfo);
},
});
// *** Ende der Kalender-optionen
calendar.render();
// ************
// Button-Event-Handler für die Dialog-Boxen
// ************
$('#btn_delete').click(function () {
btnDeleteClicked(true);
});
$('#btn_edit').click(function () {
btnEditClicked();
});
$('#btn_saveentry').click(function () {
btnSaveClicked();
});
// 'Speichern' geklicked:
async function btnSaveClicked() {
let ready = await saveEntry();
if (isedit && ready) {
await deleteEntry(entryInfo._def.publicId, false);
}
calendar.refetchEvents();
console.log("gelöscht bei Edit");
}
// 'Löschen' geklicked
async function btnDeleteClicked(abfrage) {
$('#viewModal').modal('hide');
await deleteEntry(entryInfo._def.publicId, abfrage);
}
async function deleteEntry(id, abfrage) {
if (abfrage) {
if (!confirm('Wirklich löschen?')) {
return;
}
}
// let event = calendar.getEventById(id);
// event.remove();
$('#txtTitle').val('');
$('#txtBeschr').val('');
let ret = await putToDbase({cmd: 'DEL_CALENTRY', id: id});
if (ret != true) {
alert(`Fehler beim Löschen des Eintrages !`);
}
calendar.refetchEvents();
}
// 'Ändern' geklicked:
async function btnEditClicked() {
$('#viewModal').modal('hide');
$('#myModal .modal-title').text('Eintrag ändern');
$('#myModal').modal();
fillModal(entryInfo.start, entryInfo.end);
console.log(entryInfo.title, entryInfo._def.extendedProps.description);
$('#txtTitle').val(entryInfo.title);
$('#txtBeschr').val(entryInfo._def.extendedProps.description);
}
// Reaktion auf den 'Sichern'-Knopf
// Den Eintrag zusammen bauen, dann in die Datenbank eintragen und das
// Fenster wieder löschen
const saveEntry = async () => {
if ($('#txtTitle').val() == '') {
alert("Es muss ein Titel eingebeben werden!");
return false;
}
let entry = {};
entry.title = $('#txtTitle').val();
entry.description = $('#txtBeschr').val();
entry.start = $('#st_date_year option:selected').text() + '-';
entry.start += $('#st_date_month option:selected').val() + '-';
entry.start += $('#st_date_day option:selected').text() + 'T';
entry.start += $('#st_date_hours option:selected').text() + ':';
entry.start += $('#st_date_minutes option:selected').text();
entry.end = $('#end_date_year option:selected').text() + '-';
entry.end += $('#end_date_month option:selected').val() + '-';
entry.end += $('#end_date_day option:selected').text() + 'T';
entry.end += $('#end_date_hours option:selected').text() + ':';
entry.end += $('#end_date_minutes option:selected').text();
if (!isedit) {
$('#txtTitle').val('');
$('#txtBeschr').val('');
}
$('#myModal').modal('hide');
let ret = await putToDbase({cmd: 'PUT_CALENTRY', data: entry});
return ret;
}
// ********************
// Ende Button-Event-Handler
// ********************
// Die Startzeit des dritten (der liegt gesichert im aktuellen Monat)
// Regelführungstermins des Monats finden
// Params:
// keine
// Return:
// entweder die Startzeit, falls gefunden oder aber 20 [Uhr]
function getFuehrungszeitZeit() {
if (fuehrungszeiten[3].start !== undefined) {
let st = moment(fuehrungszeiten[3].start);
return st.hour();
} else {
return 20;
}
}
// das Dialog-Fenster mit den Datums/Zeit-Optionen füllen
// Params:
// st_seldate gewähltes Startdatum
// end_seldate gewähltes Enddatum (oder leer => null)
// Return:
// nix
function fillModal(st_seldate, end_seldate) {
let start, end;
if (isedit) {
start = moment(st_seldate);
end = moment(end_seldate);
} else {
start = moment(st_seldate);
start.hour(getFuehrungszeitZeit());
end = moment(st_seldate);
end.hour(getFuehrungszeitZeit());
end = end.add(default_dauer, 'm');
$('#txtTitle').val('');
$('#txtBeschr').val('');
}
$('#st_date_day #end_date_day').html('');
$('#end_date_day').html('');
for (let i = 1; i <= 31; i++) {
$('#st_date_day').append(`<option ${start.date() == i ? 'selected' : ''}>${i}</option>`);
$('#end_date_day').append(`<option ${end.date() == i ? 'selected' : ''}>${i}</option>`);
}
$('#st_date_month #end_date_month').html('');
$('#end_date_month').html('');
for (let i = 1; i <= 12; i++) {
$('#st_date_month').append(`<option value=${i} ${(start.month() + 1) == i ? 'selected' : ''}>${months_short[i]}</option>`);
$('#end_date_month').append(`<option value=${i} ${(end.month() + 1) == i ? 'selected' : ''}>${months_short[i]}</option>`);
}
$('#st_date_year #end_date_year').html('');
$('#end_date_year').html('');
for (let i = 2020; i <= 2030; i++) {
$('#st_date_year').append(`<option ${start.year() == i ? 'selected' : ''}>${i}</option>`);
$('#end_date_year').append(`<option ${end.year() == i ? 'selected' : ''}>${i}</option>`);
}
$('#st_date_hours').html('');
$('#end_date_hours').html('');
for (let i = 0; i <= 23; i++) {
$('#st_date_hours').append(`<option ${start.hour() == i ? 'selected' : ''}>${("0" + i).slice(-2)}</option>`);
$('#end_date_hours').append(`<option ${end.hour() == i ? 'selected' : ''}>${("0" + i).slice(-2)}</option>`);
}
$('#st_date_minutes').html('');
$('#end_date_minutes').html('');
for (let i = 0; i <= 50; i += 10) {
$('#st_date_minutes').append(`<option ${start.minute() == i ? 'selected' : ''}>${("0" + i).slice(-2)}</option>`);
$('#end_date_minutes').append(`<option ${end.minute() == i ? 'selected' : ''}>${("0" + i).slice(-2)}</option>`);
}
}
// Aus der BEOs-Datenbank die namen und die Kürzel der
// für den übergebenen Führungstag aktiven BEOs
// Params:
// beos Array der Daten der BEOs
// data Objekt mit dem Führungstag
// Return:
// Objekt mit den Kürzeln und den Namen der aktiven BEOs
function checkGroupinBeos(beos, data) {
let kurz = "";
let name = "";
for (let b of beos) {
let grps = b.gruppe.split(',');
for (let i in grps) {
if (data.title == grps[i]) {
kurz += b.kürzel + ',';
name += `${b.vorname} ${b.name}<br />`;
}
}
}
return {k: kurz.slice(0, -1), n: name};
}
// Aus der Datenbank die Regel-Führungstage des Monat holen und die
// aktiven BEOs dazu eintragen
// Params:
// start Startdatum zu Suche in der DB
// end Endedatum dazu
// beos Array mit den BEOs daten
// Retur:
// Array mit den Regel-Führungszeiten des Monats mit den BEOs
async function getFdates(start, end, beos) {
// Zuerst die regelmäßigen Führungen hole
fuehrungszeiten = await fetchFromDbase({cmd: 'GET_FDATES', start: start, end: end});
for (let i = 0; i < fuehrungszeiten.length; i++) {
let start = moment(fuehrungszeiten[i].start);
start.add(fuehrungszeiten[i].uhr,'h')
fuehrungszeiten[i].start = moment(start).format()
let kurz = checkGroupinBeos(beos, fuehrungszeiten[i]);
if (kurz.k != "") {
fuehrungszeiten[i].title += " " + kurz.k;
fuehrungszeiten[i].namen = kurz.n;
}
}
return fuehrungszeiten;
}
// Aus der Datenbank die eingetragenen Führungen für den laufenden Monat holen
// Params:
// start, ende Start- und Endezeitpunk für die Suche in der DB
// Return:
// Array mit Führungen des laufenden Monats
async function getCaldates(start, end) {
return await fetchFromDbase({cmd: 'GET_CALENTRIES', start: start, end: end});
}
// Prüfen, ob das übergeben Datum in der Feiertags-Liste enthalten ist
// Params:
// date das zu prüfende Datum
//
// Return:
// true: das Datum ist ein Feiertag
// false: es ist keiner
async function checkInHoliday(date) {
const feiertage = await getHolidays(date)
let month = (date.getMonth()+1) <= 9 ? "0" + (date.getMonth()+1) : (date.getMonth()+1)
let day = date.getDate() <= 9 ? "0"+date.getDate() : date.getDate()
const datum = date.getFullYear() + '-' + month + "-" + day;
return feiertage.findIndex(x => x.start == datum);
}
// Die Feiertage in Baden-Württemberg von einer API via HTTP abholen
// Params:
// start, end Jahre, für das die Feiertage geholt werden
// ACHTUNG: es werden max. 2 Jahre geholt (start und end), da der
// Kalender max. 2 folgende Jahre anfordert.
// Return:
// Array mit den Feiertagen
async function getHolidays(start, end) {
let data = [];
let startyear = moment(start).year();
let endyear = moment(end).year();
let response = await fetch('https://feiertage-api.de/api/?jahr=' + startyear + '&nur_land=BW');
let holidays = await response.json();
for (const [k, v] of Object.entries(holidays)) {
if(k == "Ostermontag") {
data.push({start: moment(v.datum).subtract(1,'days').format("YYYY-MM-DD"), title: "Ostersonntag"});
}
if(k == "Pfingstmontag") {
data.push({start: moment(v.datum).subtract(1,'days').format("YYYY-MM-DD"), title: "Pfingstsonntag"});
}
data.push({start: v.datum, title: k});
}
if (startyear != endyear) {
let response = await fetch('https://feiertage-api.de/api/?jahr=' + endyear + '&nur_land=BW');
let holidays = await response.json();
for (const [k, v] of Object.entries(holidays)) {
data.push({start: v.datum, title: k});
}
}
return data;
}
// die ersten Sonntage des Monates im laufenden Jahr finden
// Params:
// year: das Jahr, für das die Sonntage gesucht werden
// Return:
// Array mit den Sonntagen
function getSundays(dt) {
let year = moment(dt).year();
const cm = moment(dt).month()
if (moment(dt).month() == 11) {
year += 1;
}
let data = [];
for (let i = 1; i <= 12; i++) {
let d = moment(year + '-' + i + '-01');
let w = d.isoWeekday();
let dt = ''
if (w == 7) {
dt = d.format('YYYY-MM-DD');
} else {
dt = d.add(7 - w, 'd').format('YYYY-MM-DD')
}
data.push({start: dt + 'T11:00:00', uhr: 11, title: 'Sonnenführung' })
}
return data;
}
// Anzeige des Dialogfensters zum Ändern/Löschen einer Führung
//
// Dieses Dialogfenster wird nur aufgerufen, wenn auf eine händisch
// eingetragene Führung geklickt wird (nicht bei Regeleführungen).
// Params:
// entryInfo Daten des geklickten Eintrages
// Return:
// nix
function showViewModal(entryInfo) {
let str
$('#viewModal .modal-title').text(entryInfo.title);
if (entryInfo._def.extendedProps.description !== undefined) { // Führungs-Eintrag
str = getFuehrungsInfo(entryInfo);
$('#btn_delete').show()
$('#btn_edit').show()
} else {
str = getRegularInfo(entryInfo)
$('#btn_delete').hide()
$('#btn_edit').hide()
}
$('#viewModal .viewdesc').html(str);
$('#viewModal').modal();
}
// Informationen einer Regelführung für das Popup zusammenbauen
function getRegularInfo(entryInfo) {
let curDate = moment(entryInfo.start).format('YYYYMMDD');
let besucher = entryInfo._def.extendedProps.count;
if (besucher == null) { besucher = "0"}
besucher = parseInt(besucher)
let wtg = moment(entryInfo.start).isoWeekday();
let nbr = entryInfo.title.split(' ');
let str = `<h6>${weekdays[wtg - 1]}s-Team ${nbr[1]}</h6>`;
str += `<div id="beonamen">${entryInfo._def.extendedProps.namen}</div>`;
let btxt = besucher != 0 ? `<strong>${besucher}</strong> angemeldete Besucher` : 'Keine Anmeldungen';
str += btxt;
str += `<br />Von ${moment(entryInfo.start).format("HH:mm")} Uhr bis: ${moment(entryInfo.start).add(default_dauer, 'm').format("HH:mm")} Uhr`;
return str;
}
// Informationen für eine händisch eingetragene Führung zusammenbauen.
// Wird bei dem Popup und bei dem Ändern/löschen verwendent
function getFuehrungsInfo(entryInfo) {
let str = entryInfo._def.extendedProps.description;
str += `<br /><br />Start: ${moment(entryInfo.start).format("YYYY-MM-DD HH:mm")} Uhr <br />Ende: ${moment(entryInfo.end).format("YYYY-MM-DD HH:mm")} Uhr`;
return str;
}
function showAnleitung() {
console.log("Anleitung geklicked");
$('.viewAnleitung').load("docs/Anleitung.html",function() {
$('#infoModal').modal({show:true, focus:true});
});
};
}); // Ende document.addEventListener()

View File

@@ -0,0 +1,46 @@
// VersiosNummern und -Geschichte
var VERSION="1.3.2";
var VDATE="2024-09-20";
/* History
Rev. Datum Entwickler
1.3.2 2024-09-20 rxf
- Sonnenführunge mit anzeigen
1.3.1 2022-11-28 rxf
- Problem mit der Anzahl der Besucher behoben
1.3.0 2022-08-24 rxf
- semantic version numbering
- Kalender auf Premium Version -> bessere prints
- Kalender: kein 'hoover' mehr
1.24 2021-09.21 rxf
- Hover bei Feiertagen gibt kein PopUp mehr
1.23 2021-08-22 rxf
- Zugriff auf Gruppe über 'fdatum'
1.22 2021-07-25 rxf
- Anzahl der angemeldeten Besucher anzeigen
1.21 2020-11-16 rxf
- Hintergund etwas heller
- Oster/Pfingst-Sonntag dazu
1.20 2020-11-16 rxf
- Anleitung dazu
1.10 2020-11-13 rxf
- Ende-zeiten mit eingeführt
1.01 2020-11-12 rxf
- zum Testen auf test.sternwarte-welzheim.de ausgeliefert
1.0 2020-11-10 rxf
- Erste fertige Version.
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var af = {
code: "af",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Vorige",
next: "Volgende",
today: "Vandag",
year: "Jaar",
month: "Maand",
week: "Week",
day: "Dag",
list: "Agenda"
},
allDayText: "Heeldag",
moreLinkText: "Addisionele",
noEventsText: "Daar is geen gebeurtenisse nie"
};
return af;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arDz = {
code: "ar-dz",
week: {
dow: 0,
doy: 4
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arDz;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arKw = {
code: "ar-kw",
week: {
dow: 0,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arKw;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arLy = {
code: "ar-ly",
week: {
dow: 6,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arLy;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arMa = {
code: "ar-ma",
week: {
dow: 6,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arMa;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arSa = {
code: "ar-sa",
week: {
dow: 0,
doy: 6
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arSa;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var arTn = {
code: "ar-tn",
week: {
dow: 1,
doy: 4
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return arTn;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ar = {
code: "ar",
week: {
dow: 6,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u0627\u0644\u0633\u0627\u0628\u0642",
next: "\u0627\u0644\u062A\u0627\u0644\u064A",
today: "\u0627\u0644\u064A\u0648\u0645",
month: "\u0634\u0647\u0631",
week: "\u0623\u0633\u0628\u0648\u0639",
day: "\u064A\u0648\u0645",
list: "\u0623\u062C\u0646\u062F\u0629"
},
weekText: "\u0623\u0633\u0628\u0648\u0639",
allDayText: "\u0627\u0644\u064A\u0648\u0645 \u0643\u0644\u0647",
moreLinkText: "\u0623\u062E\u0631\u0649",
noEventsText: "\u0623\u064A \u0623\u062D\u062F\u0627\u062B \u0644\u0639\u0631\u0636"
};
return ar;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var az = {
code: "az",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u018Fvv\u0259l",
next: "Sonra",
today: "Bu G\xFCn",
month: "Ay",
week: "H\u0259ft\u0259",
day: "G\xFCn",
list: "G\xFCnd\u0259m"
},
weekText: "H\u0259ft\u0259",
allDayText: "B\xFCt\xFCn G\xFCn",
moreLinkText: function(n) {
return "+ daha \xE7ox " + n;
},
noEventsText: "G\xF6st\u0259rm\u0259k \xFC\xE7\xFCn hadis\u0259 yoxdur"
};
return az;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var bg = {
code: "bg",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "\u043D\u0430\u0437\u0430\u0434",
next: "\u043D\u0430\u043F\u0440\u0435\u0434",
today: "\u0434\u043D\u0435\u0441",
month: "\u041C\u0435\u0441\u0435\u0446",
week: "\u0421\u0435\u0434\u043C\u0438\u0446\u0430",
day: "\u0414\u0435\u043D",
list: "\u0413\u0440\u0430\u0444\u0438\u043A"
},
allDayText: "\u0426\u044F\u043B \u0434\u0435\u043D",
moreLinkText: function(n) {
return "+\u043E\u0449\u0435 " + n;
},
noEventsText: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0431\u0438\u0442\u0438\u044F \u0437\u0430 \u043F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435"
};
return bg;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var bn = {
code: "bn",
week: {
dow: 0,
doy: 6
},
buttonText: {
prev: "\u09AA\u09C7\u099B\u09A8\u09C7",
next: "\u09B8\u09BE\u09AE\u09A8\u09C7",
today: "\u0986\u099C",
month: "\u09AE\u09BE\u09B8",
week: "\u09B8\u09AA\u09CD\u09A4\u09BE\u09B9",
day: "\u09A6\u09BF\u09A8",
list: "\u09A4\u09BE\u09B2\u09BF\u0995\u09BE"
},
weekText: "\u09B8\u09AA\u09CD\u09A4\u09BE\u09B9",
allDayText: "\u09B8\u09BE\u09B0\u09BE\u09A6\u09BF\u09A8",
moreLinkText: function(n) {
return "+\u0985\u09A8\u09CD\u09AF\u09BE\u09A8\u09CD\u09AF " + n;
},
noEventsText: "\u0995\u09CB\u09A8\u09CB \u0987\u09AD\u09C7\u09A8\u09CD\u099F \u09A8\u09C7\u0987"
};
return bn;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var bs = {
code: "bs",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Pro\u0161li",
next: "Sljede\u0107i",
today: "Danas",
month: "Mjesec",
week: "Sedmica",
day: "Dan",
list: "Raspored"
},
weekText: "Sed",
allDayText: "Cijeli dan",
moreLinkText: function(n) {
return "+ jo\u0161 " + n;
},
noEventsText: "Nema doga\u0111aja za prikazivanje"
};
return bs;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ca = {
code: "ca",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Anterior",
next: "Seg\xFCent",
today: "Avui",
month: "Mes",
week: "Setmana",
day: "Dia",
list: "Agenda"
},
weekText: "Set",
allDayText: "Tot el dia",
moreLinkText: "m\xE9s",
noEventsText: "No hi ha esdeveniments per mostrar"
};
return ca;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var cs = {
code: "cs",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "D\u0159\xEDve",
next: "Pozd\u011Bji",
today: "Nyn\xED",
month: "M\u011Bs\xEDc",
week: "T\xFDden",
day: "Den",
list: "Agenda"
},
weekText: "T\xFDd",
allDayText: "Cel\xFD den",
moreLinkText: function(n) {
return "+dal\u0161\xED: " + n;
},
noEventsText: "\u017D\xE1dn\xE9 akce k zobrazen\xED"
};
return cs;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var cy = {
code: "cy",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Blaenorol",
next: "Nesaf",
today: "Heddiw",
year: "Blwyddyn",
month: "Mis",
week: "Wythnos",
day: "Dydd",
list: "Rhestr"
},
weekText: "Wythnos",
allDayText: "Trwy'r dydd",
moreLinkText: "Mwy",
noEventsText: "Dim digwyddiadau"
};
return cy;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var da = {
code: "da",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Forrige",
next: "N\xE6ste",
today: "I dag",
month: "M\xE5ned",
week: "Uge",
day: "Dag",
list: "Agenda"
},
weekText: "Uge",
allDayText: "Hele dagen",
moreLinkText: "flere",
noEventsText: "Ingen arrangementer at vise"
};
return da;
}());

View File

@@ -0,0 +1,59 @@
FullCalendar.globalLocales.push(function () {
'use strict';
function affix(buttonText) {
return buttonText === "Tag" || buttonText === "Monat" ? "r" : buttonText === "Jahr" ? "s" : "";
}
var deAt = {
code: "de-at",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Zur\xFCck",
next: "Vor",
today: "Heute",
year: "Jahr",
month: "Monat",
week: "Woche",
day: "Tag",
list: "Termin\xFCbersicht"
},
weekText: "KW",
weekTextLong: "Woche",
allDayText: "Ganzt\xE4gig",
moreLinkText: function(n) {
return "+ weitere " + n;
},
noEventsText: "Keine Ereignisse anzuzeigen",
buttonHints: {
prev: function(buttonText) {
return "Vorherige".concat(affix(buttonText), " ").concat(buttonText);
},
next: function(buttonText) {
return "N\xE4chste".concat(affix(buttonText), " ").concat(buttonText);
},
today: function(buttonText) {
if (buttonText === "Tag") {
return "Heute";
}
return "Diese".concat(affix(buttonText), " ").concat(buttonText);
}
},
viewHint: function(buttonText) {
var glue = buttonText === "Woche" ? "n" : buttonText === "Monat" ? "s" : "es";
return buttonText + glue + "ansicht";
},
navLinkHint: "Gehe zu $0",
moreLinkHint: function(eventCnt) {
return "Zeige " + (eventCnt === 1 ? "ein weiteres Ereignis" : eventCnt + " weitere Ereignisse");
},
closeHint: "Schlie\xDFen",
timeHint: "Uhrzeit",
eventHint: "Ereignis"
};
return deAt;
}());

View File

@@ -0,0 +1,59 @@
FullCalendar.globalLocales.push(function () {
'use strict';
function affix(buttonText) {
return buttonText === "Tag" || buttonText === "Monat" ? "r" : buttonText === "Jahr" ? "s" : "";
}
var de = {
code: "de",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Zur\xFCck",
next: "Vor",
today: "Heute",
year: "Jahr",
month: "Monat",
week: "Woche",
day: "Tag",
list: "Termin\xFCbersicht"
},
weekText: "KW",
weekTextLong: "Woche",
allDayText: "Ganzt\xE4gig",
moreLinkText: function(n) {
return "+ weitere " + n;
},
noEventsText: "Keine Ereignisse anzuzeigen",
buttonHints: {
prev: function(buttonText) {
return "Vorherige".concat(affix(buttonText), " ").concat(buttonText);
},
next: function(buttonText) {
return "N\xE4chste".concat(affix(buttonText), " ").concat(buttonText);
},
today: function(buttonText) {
if (buttonText === "Tag") {
return "Heute";
}
return "Diese".concat(affix(buttonText), " ").concat(buttonText);
}
},
viewHint: function(buttonText) {
var glue = buttonText === "Woche" ? "n" : buttonText === "Monat" ? "s" : "es";
return buttonText + glue + "ansicht";
},
navLinkHint: "Gehe zu $0",
moreLinkHint: function(eventCnt) {
return "Zeige " + (eventCnt === 1 ? "ein weiteres Ereignis" : eventCnt + " weitere Ereignisse");
},
closeHint: "Schlie\xDFen",
timeHint: "Uhrzeit",
eventHint: "Ereignis"
};
return de;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var el = {
code: "el",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u03A0\u03C1\u03BF\u03B7\u03B3\u03BF\u03CD\u03BC\u03B5\u03BD\u03BF\u03C2",
next: "\u0395\u03C0\u03CC\u03BC\u03B5\u03BD\u03BF\u03C2",
today: "\u03A3\u03AE\u03BC\u03B5\u03C1\u03B1",
month: "\u039C\u03AE\u03BD\u03B1\u03C2",
week: "\u0395\u03B2\u03B4\u03BF\u03BC\u03AC\u03B4\u03B1",
day: "\u0397\u03BC\u03AD\u03C1\u03B1",
list: "\u0391\u03C4\u03B6\u03AD\u03BD\u03C4\u03B1"
},
weekText: "\u0395\u03B2\u03B4",
allDayText: "\u039F\u03BB\u03BF\u03AE\u03BC\u03B5\u03C1\u03BF",
moreLinkText: "\u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03B1",
noEventsText: "\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B3\u03B5\u03B3\u03BF\u03BD\u03CC\u03C4\u03B1 \u03C0\u03C1\u03BF\u03C2 \u03B5\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7"
};
return el;
}());

View File

@@ -0,0 +1,24 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var enAu = {
code: "en-au",
week: {
dow: 1,
doy: 4
},
buttonHints: {
prev: "Previous $0",
next: "Next $0",
today: "This $0"
},
viewHint: "$0 view",
navLinkHint: "Go to $0",
moreLinkHint: function(eventCnt) {
return "Show ".concat(eventCnt, " more event").concat(eventCnt === 1 ? "" : "s");
}
};
return enAu;
}());

View File

@@ -0,0 +1,24 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var enGb = {
code: "en-gb",
week: {
dow: 1,
doy: 4
},
buttonHints: {
prev: "Previous $0",
next: "Next $0",
today: "This $0"
},
viewHint: "$0 view",
navLinkHint: "Go to $0",
moreLinkHint: function(eventCnt) {
return "Show ".concat(eventCnt, " more event").concat(eventCnt === 1 ? "" : "s");
}
};
return enGb;
}());

View File

@@ -0,0 +1,24 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var enNz = {
code: "en-nz",
week: {
dow: 1,
doy: 4
},
buttonHints: {
prev: "Previous $0",
next: "Next $0",
today: "This $0"
},
viewHint: "$0 view",
navLinkHint: "Go to $0",
moreLinkHint: function(eventCnt) {
return "Show ".concat(eventCnt, " more event").concat(eventCnt === 1 ? "" : "s");
}
};
return enNz;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var eo = {
code: "eo",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Anta\u016Da",
next: "Sekva",
today: "Hodia\u016D",
month: "Monato",
week: "Semajno",
day: "Tago",
list: "Tagordo"
},
weekText: "Sm",
allDayText: "Tuta tago",
moreLinkText: "pli",
noEventsText: "Neniuj eventoj por montri"
};
return eo;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var esUs = {
code: "es",
week: {
dow: 0,
doy: 6
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "D\xEDa",
list: "Agenda"
},
weekText: "Sm",
allDayText: "Todo el d\xEDa",
moreLinkText: "m\xE1s",
noEventsText: "No hay eventos para mostrar"
};
return esUs;
}());

View File

@@ -0,0 +1,45 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var es = {
code: "es",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "D\xEDa",
list: "Agenda"
},
buttonHints: {
prev: "$0 antes",
next: "$0 siguiente",
today: function(buttonText) {
return buttonText === "D\xEDa" ? "Hoy" : (buttonText === "Semana" ? "Esta" : "Este") + " " + buttonText.toLocaleLowerCase();
}
},
viewHint: function(buttonText) {
return "Vista " + (buttonText === "Semana" ? "de la" : "del") + " " + buttonText.toLocaleLowerCase();
},
weekText: "Sm",
weekTextLong: "Semana",
allDayText: "Todo el d\xEDa",
moreLinkText: "m\xE1s",
moreLinkHint: function(eventCnt) {
return "Mostrar ".concat(eventCnt, " eventos m\xE1s");
},
noEventsText: "No hay eventos para mostrar",
navLinkHint: "Ir al $0",
closeHint: "Cerrar",
timeHint: "La hora",
eventHint: "Evento"
};
return es;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var et = {
code: "et",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Eelnev",
next: "J\xE4rgnev",
today: "T\xE4na",
month: "Kuu",
week: "N\xE4dal",
day: "P\xE4ev",
list: "P\xE4evakord"
},
weekText: "n\xE4d",
allDayText: "Kogu p\xE4ev",
moreLinkText: function(n) {
return "+ veel " + n;
},
noEventsText: "Kuvamiseks puuduvad s\xFCndmused"
};
return et;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var eu = {
code: "eu",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Aur",
next: "Hur",
today: "Gaur",
month: "Hilabetea",
week: "Astea",
day: "Eguna",
list: "Agenda"
},
weekText: "As",
allDayText: "Egun osoa",
moreLinkText: "gehiago",
noEventsText: "Ez dago ekitaldirik erakusteko"
};
return eu;
}());

View File

@@ -0,0 +1,30 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var fa = {
code: "fa",
week: {
dow: 6,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u0642\u0628\u0644\u06CC",
next: "\u0628\u0639\u062F\u06CC",
today: "\u0627\u0645\u0631\u0648\u0632",
month: "\u0645\u0627\u0647",
week: "\u0647\u0641\u062A\u0647",
day: "\u0631\u0648\u0632",
list: "\u0628\u0631\u0646\u0627\u0645\u0647"
},
weekText: "\u0647\u0641",
allDayText: "\u062A\u0645\u0627\u0645 \u0631\u0648\u0632",
moreLinkText: function(n) {
return "\u0628\u06CC\u0634 \u0627\u0632 " + n;
},
noEventsText: "\u0647\u06CC\u0686 \u0631\u0648\u06CC\u062F\u0627\u062F\u06CC \u0628\u0647 \u0646\u0645\u0627\u06CC\u0634"
};
return fa;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var fi = {
code: "fi",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Edellinen",
next: "Seuraava",
today: "T\xE4n\xE4\xE4n",
month: "Kuukausi",
week: "Viikko",
day: "P\xE4iv\xE4",
list: "Tapahtumat"
},
weekText: "Vk",
allDayText: "Koko p\xE4iv\xE4",
moreLinkText: "lis\xE4\xE4",
noEventsText: "Ei n\xE4ytett\xE4vi\xE4 tapahtumia"
};
return fi;
}());

View File

@@ -0,0 +1,24 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var frCa = {
code: "fr",
buttonText: {
prev: "Pr\xE9c\xE9dent",
next: "Suivant",
today: "Aujourd'hui",
year: "Ann\xE9e",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekText: "Sem.",
allDayText: "Toute la journ\xE9e",
moreLinkText: "en plus",
noEventsText: "Aucun \xE9v\xE9nement \xE0 afficher"
};
return frCa;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var frCh = {
code: "fr-ch",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Pr\xE9c\xE9dent",
next: "Suivant",
today: "Courant",
year: "Ann\xE9e",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekText: "Sm",
allDayText: "Toute la journ\xE9e",
moreLinkText: "en plus",
noEventsText: "Aucun \xE9v\xE9nement \xE0 afficher"
};
return frCh;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var fr = {
code: "fr",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Pr\xE9c\xE9dent",
next: "Suivant",
today: "Aujourd'hui",
year: "Ann\xE9e",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Planning"
},
weekText: "Sem.",
allDayText: "Toute la journ\xE9e",
moreLinkText: "en plus",
noEventsText: "Aucun \xE9v\xE9nement \xE0 afficher"
};
return fr;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var gl = {
code: "gl",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Ant",
next: "Seg",
today: "Hoxe",
month: "Mes",
week: "Semana",
day: "D\xEDa",
list: "Axenda"
},
weekText: "Sm",
allDayText: "Todo o d\xEDa",
moreLinkText: "m\xE1is",
noEventsText: "Non hai eventos para amosar"
};
return gl;
}());

View File

@@ -0,0 +1,24 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var he = {
code: "he",
direction: "rtl",
buttonText: {
prev: "\u05D4\u05E7\u05D5\u05D3\u05DD",
next: "\u05D4\u05D1\u05D0",
today: "\u05D4\u05D9\u05D5\u05DD",
month: "\u05D7\u05D5\u05D3\u05E9",
week: "\u05E9\u05D1\u05D5\u05E2",
day: "\u05D9\u05D5\u05DD",
list: "\u05E1\u05D3\u05E8 \u05D9\u05D5\u05DD"
},
allDayText: "\u05DB\u05DC \u05D4\u05D9\u05D5\u05DD",
moreLinkText: "\u05D0\u05D7\u05E8",
noEventsText: "\u05D0\u05D9\u05DF \u05D0\u05D9\u05E8\u05D5\u05E2\u05D9\u05DD \u05DC\u05D4\u05E6\u05D2\u05D4",
weekText: "\u05E9\u05D1\u05D5\u05E2"
};
return he;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var hi = {
code: "hi",
week: {
dow: 0,
doy: 6
},
buttonText: {
prev: "\u092A\u093F\u091B\u0932\u093E",
next: "\u0905\u0917\u0932\u093E",
today: "\u0906\u091C",
month: "\u092E\u0939\u0940\u0928\u093E",
week: "\u0938\u092A\u094D\u0924\u093E\u0939",
day: "\u0926\u093F\u0928",
list: "\u0915\u093E\u0930\u094D\u092F\u0938\u0942\u091A\u0940"
},
weekText: "\u0939\u092B\u094D\u0924\u093E",
allDayText: "\u0938\u092D\u0940 \u0926\u093F\u0928",
moreLinkText: function(n) {
return "+\u0905\u0927\u093F\u0915 " + n;
},
noEventsText: "\u0915\u094B\u0908 \u0918\u091F\u0928\u093E\u0913\u0902 \u0915\u094B \u092A\u094D\u0930\u0926\u0930\u094D\u0936\u093F\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F"
};
return hi;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var hr = {
code: "hr",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Prija\u0161nji",
next: "Sljede\u0107i",
today: "Danas",
month: "Mjesec",
week: "Tjedan",
day: "Dan",
list: "Raspored"
},
weekText: "Tje",
allDayText: "Cijeli dan",
moreLinkText: function(n) {
return "+ jo\u0161 " + n;
},
noEventsText: "Nema doga\u0111aja za prikaz"
};
return hr;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var hu = {
code: "hu",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "vissza",
next: "el\u0151re",
today: "ma",
month: "H\xF3nap",
week: "H\xE9t",
day: "Nap",
list: "Lista"
},
weekText: "H\xE9t",
allDayText: "Eg\xE9sz nap",
moreLinkText: "tov\xE1bbi",
noEventsText: "Nincs megjelen\xEDthet\u0151 esem\xE9ny"
};
return hu;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var hyAm = {
code: "hy-am",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u0546\u0561\u056D\u0578\u0580\u0564",
next: "\u0540\u0561\u057B\u0578\u0580\u0564",
today: "\u0531\u0575\u057D\u0585\u0580",
month: "\u0531\u0574\u056B\u057D",
week: "\u0547\u0561\u0562\u0561\u0569",
day: "\u0555\u0580",
list: "\u0555\u0580\u057E\u0561 \u0581\u0578\u0582\u0581\u0561\u056F"
},
weekText: "\u0547\u0561\u0562",
allDayText: "\u0531\u0574\u0562\u0578\u0572\u057B \u0585\u0580",
moreLinkText: function(n) {
return "+ \u0587\u057D " + n;
},
noEventsText: "\u0532\u0561\u0581\u0561\u056F\u0561\u0575\u0578\u0582\u0574 \u0567 \u056B\u0580\u0561\u0564\u0561\u0580\u0571\u0578\u0582\u0569\u0575\u0578\u0582\u0576\u0568 \u0581\u0578\u0582\u0581\u0561\u0564\u0580\u0565\u056C\u0578\u0582"
};
return hyAm;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var id = {
code: "id",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "mundur",
next: "maju",
today: "hari ini",
month: "Bulan",
week: "Minggu",
day: "Hari",
list: "Agenda"
},
weekText: "Mg",
allDayText: "Sehari penuh",
moreLinkText: "lebih",
noEventsText: "Tidak ada acara untuk ditampilkan"
};
return id;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var is = {
code: "is",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Fyrri",
next: "N\xE6sti",
today: "\xCD dag",
month: "M\xE1nu\xF0ur",
week: "Vika",
day: "Dagur",
list: "Dagskr\xE1"
},
weekText: "Vika",
allDayText: "Allan daginn",
moreLinkText: "meira",
noEventsText: "Engir vi\xF0bur\xF0ir til a\xF0 s\xFDna"
};
return is;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var it = {
code: "it",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Prec",
next: "Succ",
today: "Oggi",
month: "Mese",
week: "Settimana",
day: "Giorno",
list: "Agenda"
},
weekText: "Sm",
allDayText: "Tutto il giorno",
moreLinkText: function(n) {
return "+altri " + n;
},
noEventsText: "Non ci sono eventi da visualizzare"
};
return it;
}());

View File

@@ -0,0 +1,25 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ja = {
code: "ja",
buttonText: {
prev: "\u524D",
next: "\u6B21",
today: "\u4ECA\u65E5",
month: "\u6708",
week: "\u9031",
day: "\u65E5",
list: "\u4E88\u5B9A\u30EA\u30B9\u30C8"
},
weekText: "\u9031",
allDayText: "\u7D42\u65E5",
moreLinkText: function(n) {
return "\u4ED6 " + n + " \u4EF6";
},
noEventsText: "\u8868\u793A\u3059\u308B\u4E88\u5B9A\u306F\u3042\u308A\u307E\u305B\u3093"
};
return ja;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ka = {
code: "ka",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "\u10EC\u10D8\u10DC\u10D0",
next: "\u10E8\u10D4\u10DB\u10D3\u10D4\u10D2\u10D8",
today: "\u10D3\u10E6\u10D4\u10E1",
month: "\u10D7\u10D5\u10D4",
week: "\u10D9\u10D5\u10D8\u10E0\u10D0",
day: "\u10D3\u10E6\u10D4",
list: "\u10D3\u10E6\u10D8\u10E1 \u10EC\u10D4\u10E1\u10E0\u10D8\u10D2\u10D8"
},
weekText: "\u10D9\u10D5",
allDayText: "\u10DB\u10D7\u10D4\u10DA\u10D8 \u10D3\u10E6\u10D4",
moreLinkText: function(n) {
return "+ \u10D9\u10D8\u10D3\u10D4\u10D5 " + n;
},
noEventsText: "\u10E6\u10DD\u10DC\u10D8\u10E1\u10EB\u10D8\u10D4\u10D1\u10D4\u10D1\u10D8 \u10D0\u10E0 \u10D0\u10E0\u10D8\u10E1"
};
return ka;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var kk = {
code: "kk",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "\u0410\u043B\u0434\u044B\u04A3\u0493\u044B",
next: "\u041A\u0435\u043B\u0435\u0441\u0456",
today: "\u0411\u04AF\u0433\u0456\u043D",
month: "\u0410\u0439",
week: "\u0410\u043F\u0442\u0430",
day: "\u041A\u04AF\u043D",
list: "\u041A\u04AF\u043D \u0442\u04D9\u0440\u0442\u0456\u0431\u0456"
},
weekText: "\u041D\u0435",
allDayText: "\u041A\u04AF\u043D\u0456 \u0431\u043E\u0439\u044B",
moreLinkText: function(n) {
return "+ \u0442\u0430\u0493\u044B " + n;
},
noEventsText: "\u041A\u04E9\u0440\u0441\u0435\u0442\u0443 \u04AF\u0448\u0456\u043D \u043E\u049B\u0438\u0493\u0430\u043B\u0430\u0440 \u0436\u043E\u049B"
};
return kk;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var km = {
code: "km",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u1798\u17BB\u1793",
next: "\u1794\u1793\u17D2\u1791\u17B6\u1794\u17CB",
today: "\u1790\u17D2\u1784\u17C3\u1793\u17C1\u17C7",
year: "\u1786\u17D2\u1793\u17B6\u17C6",
month: "\u1781\u17C2",
week: "\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD",
day: "\u1790\u17D2\u1784\u17C3",
list: "\u1794\u1789\u17D2\u1787\u17B8"
},
weekText: "\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD",
allDayText: "\u1796\u17C1\u1789\u1798\u17BD\u1799\u1790\u17D2\u1784\u17C3",
moreLinkText: "\u1785\u17D2\u179A\u17BE\u1793\u1791\u17C0\u178F",
noEventsText: "\u1782\u17D2\u1798\u17B6\u1793\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u178F\u17D2\u179A\u17BC\u179C\u1794\u1784\u17D2\u17A0\u17B6\u1789"
};
return km;
}());

View File

@@ -0,0 +1,23 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ko = {
code: "ko",
buttonText: {
prev: "\uC774\uC804\uB2EC",
next: "\uB2E4\uC74C\uB2EC",
today: "\uC624\uB298",
month: "\uC6D4",
week: "\uC8FC",
day: "\uC77C",
list: "\uC77C\uC815\uBAA9\uB85D"
},
weekText: "\uC8FC",
allDayText: "\uC885\uC77C",
moreLinkText: "\uAC1C",
noEventsText: "\uC77C\uC815\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"
};
return ko;
}());

View File

@@ -0,0 +1,28 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ku = {
code: "ku",
week: {
dow: 6,
doy: 12
},
direction: "rtl",
buttonText: {
prev: "\u067E\u06CE\u0634\u062A\u0631",
next: "\u062F\u0648\u0627\u062A\u0631",
today: "\u0626\u06D5\u0645\u0695\u0648",
month: "\u0645\u0627\u0646\u06AF",
week: "\u0647\u06D5\u0641\u062A\u06D5",
day: "\u0695\u06C6\u0698",
list: "\u0628\u06D5\u0631\u0646\u0627\u0645\u06D5"
},
weekText: "\u0647\u06D5\u0641\u062A\u06D5",
allDayText: "\u0647\u06D5\u0645\u0648\u0648 \u0695\u06C6\u0698\u06D5\u06A9\u06D5",
moreLinkText: "\u0632\u06CC\u0627\u062A\u0631",
noEventsText: "\u0647\u06CC\u0686 \u0695\u0648\u0648\u062F\u0627\u0648\u06CE\u0643 \u0646\u06CC\u06D5"
};
return ku;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var lb = {
code: "lb",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Zr\xE9ck",
next: "Weider",
today: "Haut",
month: "Mount",
week: "Woch",
day: "Dag",
list: "Terminiwwersiicht"
},
weekText: "W",
allDayText: "Ganzen Dag",
moreLinkText: "m\xE9i",
noEventsText: "Nee Evenementer ze affich\xE9ieren"
};
return lb;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var lt = {
code: "lt",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Atgal",
next: "Pirmyn",
today: "\u0160iandien",
month: "M\u0117nuo",
week: "Savait\u0117",
day: "Diena",
list: "Darbotvark\u0117"
},
weekText: "SAV",
allDayText: "Vis\u0105 dien\u0105",
moreLinkText: "daugiau",
noEventsText: "N\u0117ra \u012Fvyki\u0173 rodyti"
};
return lt;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var lv = {
code: "lv",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Iepr.",
next: "N\u0101k.",
today: "\u0160odien",
month: "M\u0113nesis",
week: "Ned\u0113\u013Ca",
day: "Diena",
list: "Dienas k\u0101rt\u012Bba"
},
weekText: "Ned.",
allDayText: "Visu dienu",
moreLinkText: function(n) {
return "+v\u0113l " + n;
},
noEventsText: "Nav notikumu"
};
return lv;
}());

View File

@@ -0,0 +1,25 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var mk = {
code: "mk",
buttonText: {
prev: "\u043F\u0440\u0435\u0442\u0445\u043E\u0434\u043D\u043E",
next: "\u0441\u043B\u0435\u0434\u043D\u043E",
today: "\u0414\u0435\u043D\u0435\u0441",
month: "\u041C\u0435\u0441\u0435\u0446",
week: "\u041D\u0435\u0434\u0435\u043B\u0430",
day: "\u0414\u0435\u043D",
list: "\u0413\u0440\u0430\u0444\u0438\u043A"
},
weekText: "\u0421\u0435\u0434",
allDayText: "\u0426\u0435\u043B \u0434\u0435\u043D",
moreLinkText: function(n) {
return "+\u043F\u043E\u0432\u0435\u045C\u0435 " + n;
},
noEventsText: "\u041D\u0435\u043C\u0430 \u043D\u0430\u0441\u0442\u0430\u043D\u0438 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0436\u0443\u0432\u0430\u045A\u0435"
};
return mk;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ms = {
code: "ms",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Sebelum",
next: "Selepas",
today: "hari ini",
month: "Bulan",
week: "Minggu",
day: "Hari",
list: "Agenda"
},
weekText: "Mg",
allDayText: "Sepanjang hari",
moreLinkText: function(n) {
return "masih ada " + n + " acara";
},
noEventsText: "Tiada peristiwa untuk dipaparkan"
};
return ms;
}());

View File

@@ -0,0 +1,38 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var nb = {
code: "nb",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Forrige",
next: "Neste",
today: "I dag",
month: "M\xE5ned",
week: "Uke",
day: "Dag",
list: "Agenda"
},
weekText: "Uke",
weekTextLong: "Uke",
allDayText: "Hele dagen",
moreLinkText: "til",
noEventsText: "Ingen hendelser \xE5 vise",
buttonHints: {
prev: "Forrige $0",
next: "Neste $0",
today: "N\xE5v\xE6rende $0"
},
viewHint: "$0 visning",
navLinkHint: "G\xE5 til $0",
moreLinkHint: function(eventCnt) {
return "Vis ".concat(eventCnt, " flere hendelse").concat(eventCnt === 1 ? "" : "r");
}
};
return nb;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ne = {
code: "ne",
week: {
dow: 7,
doy: 1
},
buttonText: {
prev: "\u0905\u0918\u093F\u0932\u094D\u0932\u094B",
next: "\u0905\u0930\u094D\u0915\u094B",
today: "\u0906\u091C",
month: "\u092E\u0939\u093F\u0928\u093E",
week: "\u0939\u092A\u094D\u0924\u093E",
day: "\u0926\u093F\u0928",
list: "\u0938\u0942\u091A\u0940"
},
weekText: "\u0939\u092A\u094D\u0924\u093E",
allDayText: "\u0926\u093F\u0928\u092D\u0930\u093F",
moreLinkText: "\u0925\u092A \u0932\u093F\u0902\u0915",
noEventsText: "\u0926\u0947\u0916\u093E\u0909\u0928\u0915\u094B \u0932\u093E\u0917\u093F \u0915\u0941\u0928\u0948 \u0918\u091F\u0928\u093E\u0939\u0930\u0942 \u091B\u0948\u0928\u0928\u094D"
};
return ne;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var nl = {
code: "nl",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Vorige",
next: "Volgende",
today: "Vandaag",
year: "Jaar",
month: "Maand",
week: "Week",
day: "Dag",
list: "Agenda"
},
allDayText: "Hele dag",
moreLinkText: "extra",
noEventsText: "Geen evenementen om te laten zien"
};
return nl;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var nn = {
code: "nn",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "F\xF8rre",
next: "Neste",
today: "I dag",
month: "M\xE5nad",
week: "Veke",
day: "Dag",
list: "Agenda"
},
weekText: "Veke",
allDayText: "Heile dagen",
moreLinkText: "til",
noEventsText: "Ingen hendelser \xE5 vise"
};
return nn;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var pl = {
code: "pl",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Poprzedni",
next: "Nast\u0119pny",
today: "Dzi\u015B",
month: "Miesi\u0105c",
week: "Tydzie\u0144",
day: "Dzie\u0144",
list: "Plan dnia"
},
weekText: "Tydz",
allDayText: "Ca\u0142y dzie\u0144",
moreLinkText: "wi\u0119cej",
noEventsText: "Brak wydarze\u0144 do wy\u015Bwietlenia"
};
return pl;
}());

View File

@@ -0,0 +1,25 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ptBr = {
code: "pt-br",
buttonText: {
prev: "Anterior",
next: "Pr\xF3ximo",
today: "Hoje",
month: "M\xEAs",
week: "Semana",
day: "Dia",
list: "Lista"
},
weekText: "Sm",
allDayText: "dia inteiro",
moreLinkText: function(n) {
return "mais +" + n;
},
noEventsText: "N\xE3o h\xE1 eventos para mostrar"
};
return ptBr;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var pt = {
code: "pt",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Anterior",
next: "Seguinte",
today: "Hoje",
month: "M\xEAs",
week: "Semana",
day: "Dia",
list: "Agenda"
},
weekText: "Sem",
allDayText: "Todo o dia",
moreLinkText: "mais",
noEventsText: "N\xE3o h\xE1 eventos para mostrar"
};
return pt;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ro = {
code: "ro",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "precedent\u0103",
next: "urm\u0103toare",
today: "Azi",
month: "Lun\u0103",
week: "S\u0103pt\u0103m\xE2n\u0103",
day: "Zi",
list: "Agend\u0103"
},
weekText: "S\u0103pt",
allDayText: "Toat\u0103 ziua",
moreLinkText: function(n) {
return "+alte " + n;
},
noEventsText: "Nu exist\u0103 evenimente de afi\u0219at"
};
return ro;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ru = {
code: "ru",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u041F\u0440\u0435\u0434",
next: "\u0421\u043B\u0435\u0434",
today: "\u0421\u0435\u0433\u043E\u0434\u043D\u044F",
month: "\u041C\u0435\u0441\u044F\u0446",
week: "\u041D\u0435\u0434\u0435\u043B\u044F",
day: "\u0414\u0435\u043D\u044C",
list: "\u041F\u043E\u0432\u0435\u0441\u0442\u043A\u0430 \u0434\u043D\u044F"
},
weekText: "\u041D\u0435\u0434",
allDayText: "\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",
moreLinkText: function(n) {
return "+ \u0435\u0449\u0451 " + n;
},
noEventsText: "\u041D\u0435\u0442 \u0441\u043E\u0431\u044B\u0442\u0438\u0439 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F"
};
return ru;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var siLk = {
code: "si-lk",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u0DB4\u0DD9\u0DBB",
next: "\u0DB4\u0DC3\u0DD4",
today: "\u0D85\u0DAF",
month: "\u0DB8\u0DCF\u0DC3\u0DBA",
week: "\u0DC3\u0DAD\u0DD2\u0DBA",
day: "\u0DAF\u0DC0\u0DC3",
list: "\u0DBD\u0DD0\u0DBA\u0DD2\u0DC3\u0DCA\u0DAD\u0DD4\u0DC0"
},
weekText: "\u0DC3\u0DAD\u0DD2",
allDayText: "\u0DC3\u0DD2\u0DBA\u0DBD\u0DD4",
moreLinkText: "\u0DAD\u0DC0\u0DAD\u0DCA",
noEventsText: "\u0DB8\u0DD4\u0D9A\u0DD4\u0DAD\u0DCA \u0DB1\u0DD0\u0DAD"
};
return siLk;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sk = {
code: "sk",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Predch\xE1dzaj\xFAci",
next: "Nasleduj\xFAci",
today: "Dnes",
month: "Mesiac",
week: "T\xFD\u017Ede\u0148",
day: "De\u0148",
list: "Rozvrh"
},
weekText: "Ty",
allDayText: "Cel\xFD de\u0148",
moreLinkText: function(n) {
return "+\u010Fal\u0161ie: " + n;
},
noEventsText: "\u017Diadne akcie na zobrazenie"
};
return sk;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sl = {
code: "sl",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Prej\u0161nji",
next: "Naslednji",
today: "Trenutni",
month: "Mesec",
week: "Teden",
day: "Dan",
list: "Dnevni red"
},
weekText: "Teden",
allDayText: "Ves dan",
moreLinkText: "ve\u010D",
noEventsText: "Ni dogodkov za prikaz"
};
return sl;
}());

View File

@@ -0,0 +1,23 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sm = {
code: "sm",
buttonText: {
prev: "Talu ai",
next: "Mulimuli atu",
today: "Aso nei",
month: "Masina",
week: "Vaiaso",
day: "Aso",
list: "Faasologa"
},
weekText: "Vaiaso",
allDayText: "Aso atoa",
moreLinkText: "sili atu",
noEventsText: "Leai ni mea na tutupu"
};
return sm;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sq = {
code: "sq",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "mbrapa",
next: "P\xEBrpara",
today: "sot",
month: "Muaj",
week: "Jav\xEB",
day: "Dit\xEB",
list: "List\xEB"
},
weekText: "Ja",
allDayText: "Gjith\xEB dit\xEBn",
moreLinkText: function(n) {
return "+m\xEB tep\xEBr " + n;
},
noEventsText: "Nuk ka evente p\xEBr t\xEB shfaqur"
};
return sq;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var srCyrl = {
code: "sr-cyrl",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "\u041F\u0440\u0435\u0442\u0445\u043E\u0434\u043D\u0430",
next: "\u0441\u043B\u0435\u0434\u0435\u045B\u0438",
today: "\u0414\u0430\u043D\u0430\u0441",
month: "\u041C\u0435\u0441\u0435\u0446",
week: "\u041D\u0435\u0434\u0435\u0459\u0430",
day: "\u0414\u0430\u043D",
list: "\u041F\u043B\u0430\u043D\u0435\u0440"
},
weekText: "\u0421\u0435\u0434",
allDayText: "\u0426\u0435\u043E \u0434\u0430\u043D",
moreLinkText: function(n) {
return "+ \u0458\u043E\u0448 " + n;
},
noEventsText: "\u041D\u0435\u043C\u0430 \u0434\u043E\u0433\u0430\u0452\u0430\u0458\u0430 \u0437\u0430 \u043F\u0440\u0438\u043A\u0430\u0437"
};
return srCyrl;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sr = {
code: "sr",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "Prethodna",
next: "Sledec\u0301i",
today: "Danas",
month: "M\u0435s\u0435c",
week: "N\u0435d\u0435lja",
day: "Dan",
list: "Plan\u0435r"
},
weekText: "Sed",
allDayText: "C\u0435o dan",
moreLinkText: function(n) {
return "+ jo\u0161 " + n;
},
noEventsText: "N\u0435ma doga\u0111aja za prikaz"
};
return sr;
}());

View File

@@ -0,0 +1,47 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var sv = {
code: "sv",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "F\xF6rra",
next: "N\xE4sta",
today: "Idag",
month: "M\xE5nad",
week: "Vecka",
day: "Dag",
list: "Program"
},
buttonHints: {
prev: function(buttonText) {
return "F\xF6reg\xE5ende ".concat(buttonText.toLocaleLowerCase());
},
next: function(buttonText) {
return "N\xE4sta ".concat(buttonText.toLocaleLowerCase());
},
today: function(buttonText) {
return (buttonText === "Program" ? "Detta" : "Denna") + " " + buttonText.toLocaleLowerCase();
}
},
viewHint: "$0 vy",
navLinkHint: "G\xE5 till $0",
moreLinkHint: function(eventCnt) {
return "Visa ytterligare ".concat(eventCnt, " h\xE4ndelse").concat(eventCnt === 1 ? "" : "r");
},
weekText: "v.",
weekTextLong: "Vecka",
allDayText: "Heldag",
moreLinkText: "till",
noEventsText: "Inga h\xE4ndelser att visa",
closeHint: "St\xE4ng",
timeHint: "Klockan",
eventHint: "H\xE4ndelse"
};
return sv;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var taIn = {
code: "ta-in",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF",
next: "\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BA4\u0BC1",
today: "\u0B87\u0BA9\u0BCD\u0BB1\u0BC1",
month: "\u0BAE\u0BBE\u0BA4\u0BAE\u0BCD",
week: "\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD",
day: "\u0BA8\u0BBE\u0BB3\u0BCD",
list: "\u0BA4\u0BBF\u0BA9\u0B9A\u0BB0\u0BBF \u0B85\u0B9F\u0BCD\u0B9F\u0BB5\u0BA3\u0BC8"
},
weekText: "\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD",
allDayText: "\u0BA8\u0BBE\u0BB3\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1\u0BB5\u0BA4\u0BC1\u0BAE\u0BCD",
moreLinkText: function(n) {
return "+ \u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD " + n;
},
noEventsText: "\u0B95\u0BBE\u0BA3\u0BCD\u0BAA\u0BBF\u0B95\u0BCD\u0B95 \u0BA8\u0BBF\u0B95\u0BB4\u0BCD\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8"
};
return taIn;
}());

View File

@@ -0,0 +1,30 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var th = {
code: "th",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
next: "\u0E16\u0E31\u0E14\u0E44\u0E1B",
prevYear: "\u0E1B\u0E35\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
nextYear: "\u0E1B\u0E35\u0E16\u0E31\u0E14\u0E44\u0E1B",
year: "\u0E1B\u0E35",
today: "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49",
month: "\u0E40\u0E14\u0E37\u0E2D\u0E19",
week: "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C",
day: "\u0E27\u0E31\u0E19",
list: "\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E01\u0E32\u0E23"
},
weekText: "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C",
allDayText: "\u0E15\u0E25\u0E2D\u0E14\u0E27\u0E31\u0E19",
moreLinkText: "\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21",
noEventsText: "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07"
};
return th;
}());

View File

@@ -0,0 +1,27 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var tr = {
code: "tr",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "geri",
next: "ileri",
today: "bug\xFCn",
month: "Ay",
week: "Hafta",
day: "G\xFCn",
list: "Ajanda"
},
weekText: "Hf",
allDayText: "T\xFCm g\xFCn",
moreLinkText: "daha fazla",
noEventsText: "G\xF6sterilecek etkinlik yok"
};
return tr;
}());

View File

@@ -0,0 +1,17 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var ug = {
code: "ug",
buttonText: {
month: "\u0626\u0627\u064A",
week: "\u06BE\u06D5\u067E\u062A\u06D5",
day: "\u0643\u06C8\u0646",
list: "\u0643\u06C8\u0646\u062A\u06D5\u0631\u062A\u0649\u067E"
},
allDayText: "\u067E\u06C8\u062A\u06C8\u0646 \u0643\u06C8\u0646"
};
return ug;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var uk = {
code: "uk",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439",
next: "\u0434\u0430\u043B\u0456",
today: "\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456",
month: "\u041C\u0456\u0441\u044F\u0446\u044C",
week: "\u0422\u0438\u0436\u0434\u0435\u043D\u044C",
day: "\u0414\u0435\u043D\u044C",
list: "\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0434\u0435\u043D\u043D\u0438\u0439"
},
weekText: "\u0422\u0438\u0436",
allDayText: "\u0423\u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",
moreLinkText: function(n) {
return "+\u0449\u0435 " + n + "...";
},
noEventsText: "\u041D\u0435\u043C\u0430\u0454 \u043F\u043E\u0434\u0456\u0439 \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F"
};
return uk;
}());

View File

@@ -0,0 +1,21 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var uz = {
code: "uz",
buttonText: {
month: "Oy",
week: "Xafta",
day: "Kun",
list: "Kun tartibi"
},
allDayText: "Kun bo'yi",
moreLinkText: function(n) {
return "+ yana " + n;
},
noEventsText: "Ko'rsatish uchun voqealar yo'q"
};
return uz;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var vi = {
code: "vi",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "Tr\u01B0\u1EDBc",
next: "Ti\u1EBFp",
today: "H\xF4m nay",
month: "Th\xE1ng",
week: "Tu\xE2\u0300n",
day: "Ng\xE0y",
list: "L\u1ECBch bi\u1EC3u"
},
weekText: "Tu",
allDayText: "C\u1EA3 ng\xE0y",
moreLinkText: function(n) {
return "+ th\xEAm " + n;
},
noEventsText: "Kh\xF4ng c\xF3 s\u1EF1 ki\u1EC7n \u0111\u1EC3 hi\u1EC3n th\u1ECB"
};
return vi;
}());

View File

@@ -0,0 +1,29 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var zhCn = {
code: "zh-cn",
week: {
dow: 1,
doy: 4
},
buttonText: {
prev: "\u4E0A\u6708",
next: "\u4E0B\u6708",
today: "\u4ECA\u5929",
month: "\u6708",
week: "\u5468",
day: "\u65E5",
list: "\u65E5\u7A0B"
},
weekText: "\u5468",
allDayText: "\u5168\u5929",
moreLinkText: function(n) {
return "\u53E6\u5916 " + n + " \u4E2A";
},
noEventsText: "\u6CA1\u6709\u4E8B\u4EF6\u663E\u793A"
};
return zhCn;
}());

View File

@@ -0,0 +1,23 @@
FullCalendar.globalLocales.push(function () {
'use strict';
var zhTw = {
code: "zh-tw",
buttonText: {
prev: "\u4E0A\u6708",
next: "\u4E0B\u6708",
today: "\u4ECA\u5929",
month: "\u6708",
week: "\u9031",
day: "\u5929",
list: "\u6D3B\u52D5\u5217\u8868"
},
weekText: "\u5468",
allDayText: "\u6574\u5929",
moreLinkText: "\u986F\u793A\u66F4\u591A",
noEventsText: "\u6CA1\u6709\u4EFB\u4F55\u6D3B\u52D5"
};
return zhTw;
}());

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long