dhtmlx-scheduler 7.2.6 → 7.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /** @license
2
2
 
3
- dhtmlxScheduler v.7.2.6 Standard
3
+ dhtmlxScheduler v.7.2.8 Standard
4
4
 
5
5
  To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
6
6
 
@@ -163,21 +163,21 @@ function dragHighlightPos(scheduler2) {
163
163
  }
164
164
  return unitMarkersArray;
165
165
  }
166
- scheduler2.attachEvent("onBeforeDrag", function(id2, mode, e) {
166
+ scheduler2.attachEvent("onBeforeDrag", function(id, mode, e) {
167
167
  if (isEnabled2()) {
168
168
  dragStarted = true;
169
- event2 = scheduler2.getEvent(id2);
169
+ event2 = scheduler2.getEvent(id);
170
170
  eventNode = e.target.closest(`[${scheduler2.config.event_attribute}]`);
171
171
  const viewName = scheduler2.getState().mode;
172
172
  const layout = checkViewName(viewName);
173
173
  if (layout == "units" && scheduler2.config.cascade_event_display) {
174
- scheduler2.unselect(id2);
174
+ scheduler2.unselect(id);
175
175
  eventNode = e.target.closest(`[${scheduler2.config.event_attribute}]`);
176
176
  }
177
177
  }
178
178
  return true;
179
179
  });
180
- scheduler2.attachEvent("onEventDrag", function(id2, mode, e) {
180
+ scheduler2.attachEvent("onEventDrag", function(id, mode, e) {
181
181
  if (dragStarted && isEnabled2()) {
182
182
  dragStarted = false;
183
183
  const viewName = scheduler2.getState().mode;
@@ -189,7 +189,7 @@ function dragHighlightPos(scheduler2) {
189
189
  }
190
190
  }
191
191
  });
192
- scheduler2.attachEvent("onDragEnd", function(id2, mode, e) {
192
+ scheduler2.attachEvent("onDragEnd", function(id, mode, e) {
193
193
  for (let i = 0; i < dndMarkers.length; i++) {
194
194
  scheduler2.unmarkTimespan(dndMarkers[i]);
195
195
  }
@@ -200,13 +200,13 @@ function dragHighlightPos(scheduler2) {
200
200
  }
201
201
  function undoDelete(scheduler2) {
202
202
  const undoableDeletes = {};
203
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
204
- undoableDeletes[id2] = true;
203
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
204
+ undoableDeletes[id] = true;
205
205
  return true;
206
206
  });
207
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
208
- if (undoableDeletes[id2]) {
209
- delete undoableDeletes[id2];
207
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
208
+ if (undoableDeletes[id]) {
209
+ delete undoableDeletes[id];
210
210
  } else {
211
211
  return;
212
212
  }
@@ -564,10 +564,17 @@ function limitPlugin(scheduler2) {
564
564
  scheduler2._get_block_by_config = function(config) {
565
565
  var block = document.createElement("div");
566
566
  if (config.html) {
567
- if (typeof config.html == "string")
567
+ let html = config.html;
568
+ if (typeof html == "function") {
569
+ html = html(config);
570
+ }
571
+ if (typeof html == "string")
568
572
  block.innerHTML = config.html;
569
- else
570
- block.appendChild(config.html);
573
+ else if (scheduler2.config.external_render && scheduler2.config.external_render.isElement(html)) {
574
+ scheduler2.config.external_render.renderElement(html, block);
575
+ } else {
576
+ block.appendChild(html);
577
+ }
571
578
  }
572
579
  return block;
573
580
  };
@@ -726,14 +733,14 @@ function limitPlugin(scheduler2) {
726
733
  scheduler2._addMarkerTimespanConfig = function(config) {
727
734
  var global2 = "global";
728
735
  var timespans = scheduler2._marked_timespans;
729
- var id2 = config.id;
736
+ var id = config.id;
730
737
  var ids = scheduler2._marked_timespans_ids;
731
- if (!ids[id2])
732
- ids[id2] = [];
738
+ if (!ids[id])
739
+ ids[id] = [];
733
740
  var day = config.days;
734
741
  var sections = config.sections;
735
742
  var type = config.type;
736
- config.id = id2;
743
+ config.id = id;
737
744
  if (sections) {
738
745
  for (var view_key in sections) {
739
746
  if (sections.hasOwnProperty(view_key)) {
@@ -755,7 +762,7 @@ function limitPlugin(scheduler2) {
755
762
  var day_configs = timespans_view[unit_id][day][type];
756
763
  config._array = day_configs;
757
764
  day_configs.push(config);
758
- ids[id2].push(config);
765
+ ids[id].push(config);
759
766
  }
760
767
  }
761
768
  } else {
@@ -770,7 +777,7 @@ function limitPlugin(scheduler2) {
770
777
  var day_configs = timespans[global2][day][type];
771
778
  config._array = day_configs;
772
779
  day_configs.push(config);
773
- ids[id2].push(config);
780
+ ids[id].push(config);
774
781
  }
775
782
  };
776
783
  scheduler2._marked_timespans_ids = {};
@@ -778,11 +785,11 @@ function limitPlugin(scheduler2) {
778
785
  var configs = scheduler2._prepare_timespan_options(configuration);
779
786
  if (!configs.length)
780
787
  return;
781
- var id2 = configs[0].id;
788
+ var id = configs[0].id;
782
789
  for (var i = 0; i < configs.length; i++) {
783
790
  scheduler2._addMarkerTimespanConfig(configs[i]);
784
791
  }
785
- return id2;
792
+ return id;
786
793
  };
787
794
  scheduler2._add_timespan_zones = function(current_zones, zones) {
788
795
  var resulting_zones = current_zones.slice();
@@ -844,8 +851,8 @@ function limitPlugin(scheduler2) {
844
851
  scheduler2.invertZones = function(zones) {
845
852
  return scheduler2._subtract_timespan_zones([0, 1440], zones.slice());
846
853
  };
847
- scheduler2._delete_marked_timespan_by_id = function(id2) {
848
- var configs = scheduler2._marked_timespans_ids[id2];
854
+ scheduler2._delete_marked_timespan_by_id = function(id) {
855
+ var configs = scheduler2._marked_timespans_ids[id];
849
856
  if (configs) {
850
857
  for (var i = 0; i < configs.length; i++) {
851
858
  var config = configs[i];
@@ -1287,12 +1294,12 @@ function createHandlers(scheduler2) {
1287
1294
  return;
1288
1295
  }
1289
1296
  const { type, event: event2 } = message2;
1290
- if (scheduler2._dp._in_progress[event2.id]) {
1297
+ if (scheduler2._dp && scheduler2._dp._in_progress[event2.id]) {
1291
1298
  return;
1292
1299
  }
1293
1300
  if (type === "add-event") {
1294
- for (const id2 in scheduler2._dp._in_progress) {
1295
- if (scheduler2._dp.getState(id2) === "inserted") {
1301
+ for (const id in scheduler2._dp._in_progress) {
1302
+ if (scheduler2._dp.getState(id) === "inserted") {
1296
1303
  scheduler2._dp.attachEvent("onFullSync", function() {
1297
1304
  if (!scheduler2.getEvent(event2.id)) {
1298
1305
  processUpdate(type, event2);
@@ -1366,7 +1373,7 @@ function createHandlers(scheduler2) {
1366
1373
  function handleDeleteEvent(eventData) {
1367
1374
  const sid = eventData.id;
1368
1375
  if (!scheduler2.getEvent(sid)) {
1369
- if (eventData.event_pid) {
1376
+ if (eventData.event_pid || eventData.recurring_event_id) {
1370
1377
  ignore(() => {
1371
1378
  scheduler2.addEvent(eventData);
1372
1379
  });
@@ -1548,7 +1555,7 @@ function assert(scheduler2) {
1548
1555
  }
1549
1556
  function extend$n(scheduler2) {
1550
1557
  var commonViews = { agenda: "https://docs.dhtmlx.com/scheduler/agenda_view.html", grid: "https://docs.dhtmlx.com/scheduler/grid_view.html", map: "https://docs.dhtmlx.com/scheduler/map_view.html", unit: "https://docs.dhtmlx.com/scheduler/units_view.html", timeline: "https://docs.dhtmlx.com/scheduler/timeline_view.html", week_agenda: "https://docs.dhtmlx.com/scheduler/weekagenda_view.html", year: "https://docs.dhtmlx.com/scheduler/year_view.html", anythingElse: "https://docs.dhtmlx.com/scheduler/views.html" };
1551
- var requiredExtensions = { agenda: "ext/dhtmlxscheduler_agenda_view.js", grid: "ext/dhtmlxscheduler_grid_view.js", map: "ext/dhtmlxscheduler_map_view.js", unit: "ext/dhtmlxscheduler_units.js", timeline: "ext/dhtmlxscheduler_timeline.js, ext/dhtmlxscheduler_treetimeline.js, ext/dhtmlxscheduler_daytimeline.js", week_agenda: "ext/dhtmlxscheduler_week_agenda.js", year: "ext/dhtmlxscheduler_year_view.js", limit: "ext/dhtmlxscheduler_limit.js" };
1558
+ var requiredExtensions = { agenda: "scheduler.plugins({ agenda_view: true })", grid: "scheduler.plugins({ grid_view: true })", map: "scheduler.plugins({ map_view: true })", unit: "scheduler.plugins({ units: true })", timeline: "scheduler.plugins({ timeline: true, treetimeline: true, daytimeline: true})", week_agenda: "scheduler.plugins({ week_agenda: true })", year: "scheduler.plugins({ year_view: true })", limit: "scheduler.plugins({ limit: true })" };
1552
1559
  scheduler2._commonErrorMessages = { unknownView: function(view) {
1553
1560
  var relatedDoc = "Related docs: " + (commonViews[view] || commonViews.anythingElse);
1554
1561
  var relatedExtension = requiredExtensions[view] ? "You're probably missing " + requiredExtensions[view] + "." : "";
@@ -1566,10 +1573,10 @@ function extend$n(scheduler2) {
1566
1573
  throw new Error("scheduler.createGridView is not implemented. Be sure to add the required extension: " + requiredExtensions.grid + "\nRelated docs: " + commonViews.grid);
1567
1574
  };
1568
1575
  scheduler2.addMarkedTimespan = function() {
1569
- throw new Error("scheduler.addMarkedTimespan is not implemented. Be sure to add the required extension: ext/dhtmlxscheduler_limit.js\nRelated docs: https://docs.dhtmlx.com/scheduler/limits.html");
1576
+ throw new Error("scheduler.addMarkedTimespan is not implemented. Be sure to add the required extension: scheduler.plugins({ limit: true })\nRelated docs: https://docs.dhtmlx.com/scheduler/limits.html");
1570
1577
  };
1571
1578
  scheduler2.renderCalendar = function() {
1572
- throw new Error("scheduler.renderCalendar is not implemented. Be sure to add the required extension: ext/dhtmlxscheduler_minical.js\nhttps://docs.dhtmlx.com/scheduler/minicalendar.html");
1579
+ throw new Error("scheduler.renderCalendar is not implemented. Be sure to add the required extension: scheduler.plugins({ minical: true })\nhttps://docs.dhtmlx.com/scheduler/minicalendar.html");
1573
1580
  };
1574
1581
  scheduler2.exportToPNG = function() {
1575
1582
  throw new Error(["scheduler.exportToPNG is not implemented.", "This feature requires an additional module, be sure to check the related doc here https://docs.dhtmlx.com/scheduler/png.html", "Licensing info: https://dhtmlx.com/docs/products/dhtmlxScheduler/export.shtml"].join("\n"));
@@ -1959,8 +1966,8 @@ const createEventStorage = function(obj) {
1959
1966
  }
1960
1967
  return false;
1961
1968
  };
1962
- eventStorage.removeEvent = function(id2) {
1963
- delete handlers[id2];
1969
+ eventStorage.removeEvent = function(id) {
1970
+ delete handlers[id];
1964
1971
  };
1965
1972
  eventStorage.clear = function() {
1966
1973
  handlers = {};
@@ -2003,13 +2010,13 @@ function makeEventable(obj) {
2003
2010
  const listeners = eventHost.listeners;
2004
2011
  return !!listeners["ev_" + name.toLowerCase()];
2005
2012
  };
2006
- obj.detachEvent = function(id2) {
2007
- if (id2) {
2013
+ obj.detachEvent = function(id) {
2014
+ if (id) {
2008
2015
  let listeners = eventHost.listeners;
2009
2016
  for (const i in listeners) {
2010
- listeners[i].removeEvent(id2);
2017
+ listeners[i].removeEvent(id);
2011
2018
  }
2012
- const list = id2.split(":");
2019
+ const list = id.split(":");
2013
2020
  listeners = eventHost.listeners;
2014
2021
  if (list.length === 2) {
2015
2022
  const eventName = list[0];
@@ -2029,11 +2036,11 @@ function makeEventable(obj) {
2029
2036
  function extend$j(scheduler2) {
2030
2037
  makeEventable(scheduler2);
2031
2038
  extend$l(scheduler2);
2032
- scheduler2._detachDomEvent = function(el2, event2, handler) {
2033
- if (el2.removeEventListener) {
2034
- el2.removeEventListener(event2, handler, false);
2035
- } else if (el2.detachEvent) {
2036
- el2.detachEvent("on" + event2, handler);
2039
+ scheduler2._detachDomEvent = function(el, event2, handler) {
2040
+ if (el.removeEventListener) {
2041
+ el.removeEventListener(event2, handler, false);
2042
+ } else if (el.detachEvent) {
2043
+ el.detachEvent("on" + event2, handler);
2037
2044
  }
2038
2045
  };
2039
2046
  scheduler2._init_once = function() {
@@ -2084,7 +2091,7 @@ function extend$j(scheduler2) {
2084
2091
  });
2085
2092
  return views.concat(date).concat(nav);
2086
2093
  }
2087
- scheduler2.init = function(id2, date, mode) {
2094
+ scheduler2.init = function(id, date, mode) {
2088
2095
  if (this.$destroyed) {
2089
2096
  return;
2090
2097
  }
@@ -2093,7 +2100,7 @@ function extend$j(scheduler2) {
2093
2100
  if (this._obj) {
2094
2101
  this.unset_actions();
2095
2102
  }
2096
- this._obj = typeof id2 == "string" ? document.getElementById(id2) : id2;
2103
+ this._obj = typeof id == "string" ? document.getElementById(id) : id;
2097
2104
  this.$container = this._obj;
2098
2105
  this.$root = this._obj;
2099
2106
  if (!this.$container.offsetHeight && this.$container.offsetWidth && this.$container.style.height === "100%") {
@@ -2277,20 +2284,20 @@ function extend$j(scheduler2) {
2277
2284
  return returnValue;
2278
2285
  });
2279
2286
  };
2280
- scheduler2.select = function(id2) {
2281
- if (this._select_id == id2)
2287
+ scheduler2.select = function(id) {
2288
+ if (this._select_id == id)
2282
2289
  return;
2283
2290
  scheduler2._close_not_saved();
2284
2291
  this.editStop(false);
2285
2292
  if (this._select_id) {
2286
2293
  this.unselect();
2287
2294
  }
2288
- this._select_id = id2;
2289
- this.updateEvent(id2);
2290
- this.callEvent("onEventSelected", [id2]);
2295
+ this._select_id = id;
2296
+ this.updateEvent(id);
2297
+ this.callEvent("onEventSelected", [id]);
2291
2298
  };
2292
- scheduler2.unselect = function(id2) {
2293
- if (id2 && id2 != this._select_id) {
2299
+ scheduler2.unselect = function(id) {
2300
+ if (id && id != this._select_id) {
2294
2301
  return;
2295
2302
  }
2296
2303
  const previousSelection = this._select_id;
@@ -2311,19 +2318,19 @@ function extend$j(scheduler2) {
2311
2318
  scheduler2._ignore_next_click = false;
2312
2319
  return false;
2313
2320
  }
2314
- const id2 = scheduler2._locate_event(e.target);
2315
- if (!id2) {
2321
+ const id = scheduler2._locate_event(e.target);
2322
+ if (!id) {
2316
2323
  scheduler2.callEvent("onEmptyClick", [scheduler2.getActionData(e).date, e]);
2317
2324
  } else {
2318
- if (!scheduler2.callEvent("onClick", [id2, e]) || scheduler2.config.readonly)
2325
+ if (!scheduler2.callEvent("onClick", [id, e]) || scheduler2.config.readonly)
2319
2326
  return;
2320
2327
  }
2321
- if (id2 && scheduler2.config.select) {
2322
- scheduler2.select(id2);
2328
+ if (id && scheduler2.config.select) {
2329
+ scheduler2.select(id);
2323
2330
  const icon = e.target.closest(".dhx_menu_icon");
2324
2331
  const mask = scheduler2._getClassName(icon);
2325
2332
  if (mask.indexOf("_icon") != -1)
2326
- scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id2);
2333
+ scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id);
2327
2334
  } else {
2328
2335
  scheduler2._close_not_saved();
2329
2336
  if (scheduler2.getState().select_id && (/* @__PURE__ */ new Date()).valueOf() - (scheduler2._new_event || 0) > 500) {
@@ -2348,20 +2355,20 @@ function extend$j(scheduler2) {
2348
2355
  const deprecated_name = this.getAttribute("name");
2349
2356
  const mode = name || deprecated_name.substring(0, deprecated_name.search("_tab"));
2350
2357
  scheduler2.setCurrentView(scheduler2._date, mode);
2351
- }, buttons: { delete: function(id2) {
2358
+ }, buttons: { delete: function(id) {
2352
2359
  const c = scheduler2.locale.labels.confirm_deleting;
2353
- scheduler2._dhtmlx_confirm({ message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
2354
- scheduler2.deleteEvent(id2);
2360
+ scheduler2._delete_event_confirm({ event: scheduler2.getEvent(id), message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
2361
+ scheduler2.deleteEvent(id);
2355
2362
  }, config: { ok: scheduler2.locale.labels.icon_delete } });
2356
- }, edit: function(id2) {
2357
- scheduler2.edit(id2);
2358
- }, save: function(id2) {
2363
+ }, edit: function(id) {
2364
+ scheduler2.edit(id);
2365
+ }, save: function(id) {
2359
2366
  scheduler2.editStop(true);
2360
- }, details: function(id2) {
2361
- scheduler2.showLightbox(id2);
2362
- }, form: function(id2) {
2363
- scheduler2.showLightbox(id2);
2364
- }, cancel: function(id2) {
2367
+ }, details: function(id) {
2368
+ scheduler2.showLightbox(id);
2369
+ }, form: function(id) {
2370
+ scheduler2.showLightbox(id);
2371
+ }, cancel: function(id) {
2365
2372
  scheduler2.editStop(false);
2366
2373
  } } };
2367
2374
  scheduler2._dhtmlx_confirm = function({ message: message2, title, callback, config }) {
@@ -2436,13 +2443,13 @@ function extend$j(scheduler2) {
2436
2443
  case "dhx_grid_event":
2437
2444
  case "dhx_cal_event_line":
2438
2445
  case "dhx_cal_event_clear": {
2439
- const id2 = this._locate_event(src);
2440
- if (!this.callEvent("onDblClick", [id2, e]))
2446
+ const id = this._locate_event(src);
2447
+ if (!this.callEvent("onDblClick", [id, e]))
2441
2448
  return;
2442
- if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id2)._timed || !this.config.select)
2443
- this.showLightbox(id2);
2449
+ if (this.config.details_on_dblclick || this._table_view || !this.getEvent(id)._timed || !this.config.select)
2450
+ this.showLightbox(id);
2444
2451
  else
2445
- this.edit(id2);
2452
+ this.edit(id);
2446
2453
  break;
2447
2454
  }
2448
2455
  case "dhx_time_block":
@@ -2846,8 +2853,8 @@ function extend$j(scheduler2) {
2846
2853
  }
2847
2854
  } else {
2848
2855
  if (scheduler2.checkEvent("onMouseMove")) {
2849
- var id2 = this._locate_event(e.target || e.srcElement);
2850
- this.callEvent("onMouseMove", [id2, e]);
2856
+ var id = this._locate_event(e.target || e.srcElement);
2857
+ this.callEvent("onMouseMove", [id, e]);
2851
2858
  }
2852
2859
  }
2853
2860
  };
@@ -2905,11 +2912,11 @@ function extend$j(scheduler2) {
2905
2912
  break;
2906
2913
  }
2907
2914
  if (this._drag_mode) {
2908
- var id2 = this._locate_event(src);
2909
- if (!this.config["drag_" + this._drag_mode] || !this.callEvent("onBeforeDrag", [id2, this._drag_mode, e]))
2915
+ var id = this._locate_event(src);
2916
+ if (!this.config["drag_" + this._drag_mode] || !this.callEvent("onBeforeDrag", [id, this._drag_mode, e]))
2910
2917
  this._drag_mode = this._drag_id = 0;
2911
2918
  else {
2912
- this._drag_id = id2;
2919
+ this._drag_id = id;
2913
2920
  if (this._edit_id != this._drag_id || this._edit_id && this._drag_mode == "create")
2914
2921
  this._close_not_saved();
2915
2922
  if (!this._drag_mode)
@@ -2964,6 +2971,7 @@ function extend$j(scheduler2) {
2964
2971
  if (is_new && this.config.edit_on_create) {
2965
2972
  this.unselect();
2966
2973
  this._new_event = /* @__PURE__ */ new Date();
2974
+ ev.$new = true;
2967
2975
  if (this._table_view || this.config.details_on_create || !this.config.select || !this.isOneDayEvent(this.getEvent(drag_id))) {
2968
2976
  scheduler2.callEvent("onDragEnd", [drag_id, mode, e]);
2969
2977
  return this.showLightbox(drag_id);
@@ -3638,30 +3646,30 @@ function extend$j(scheduler2) {
3638
3646
  return state.lightbox_id !== null && state.lightbox_id !== void 0;
3639
3647
  };
3640
3648
  }
3641
- const defaultDomEvents = { event: function(el2, event2, handler) {
3642
- if (el2.addEventListener)
3643
- el2.addEventListener(event2, handler, false);
3644
- else if (el2.attachEvent)
3645
- el2.attachEvent("on" + event2, handler);
3646
- }, eventRemove: function(el2, event2, handler) {
3647
- if (el2.removeEventListener)
3648
- el2.removeEventListener(event2, handler, false);
3649
- else if (el2.detachEvent)
3650
- el2.detachEvent("on" + event2, handler);
3649
+ const defaultDomEvents = { event: function(el, event2, handler) {
3650
+ if (el.addEventListener)
3651
+ el.addEventListener(event2, handler, false);
3652
+ else if (el.attachEvent)
3653
+ el.attachEvent("on" + event2, handler);
3654
+ }, eventRemove: function(el, event2, handler) {
3655
+ if (el.removeEventListener)
3656
+ el.removeEventListener(event2, handler, false);
3657
+ else if (el.detachEvent)
3658
+ el.detachEvent("on" + event2, handler);
3651
3659
  } };
3652
3660
  function createEventScope() {
3653
3661
  var domEvents = function(addEvent, removeEvent) {
3654
3662
  addEvent = addEvent || defaultDomEvents.event;
3655
3663
  removeEvent = removeEvent || defaultDomEvents.eventRemove;
3656
3664
  var handlers = [];
3657
- var eventScope = { attach: function(el2, event2, callback, capture) {
3658
- handlers.push({ element: el2, event: event2, callback, capture });
3659
- addEvent(el2, event2, callback, capture);
3660
- }, detach: function(el2, event2, callback, capture) {
3661
- removeEvent(el2, event2, callback, capture);
3665
+ var eventScope = { attach: function(el, event2, callback, capture) {
3666
+ handlers.push({ element: el, event: event2, callback, capture });
3667
+ addEvent(el, event2, callback, capture);
3668
+ }, detach: function(el, event2, callback, capture) {
3669
+ removeEvent(el, event2, callback, capture);
3662
3670
  for (var i = 0; i < handlers.length; i++) {
3663
3671
  var handler = handlers[i];
3664
- if (handler.element === el2 && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3672
+ if (handler.element === el && handler.event === event2 && handler.callback === callback && handler.capture === capture) {
3665
3673
  handlers.splice(i, 1);
3666
3674
  i--;
3667
3675
  }
@@ -4166,13 +4174,13 @@ if (Element.prototype.closest) {
4166
4174
  } else {
4167
4175
  var matches = Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
4168
4176
  closest = function(element, selector) {
4169
- var el2 = element;
4177
+ var el = element;
4170
4178
  do {
4171
- if (matches.call(el2, selector)) {
4172
- return el2;
4179
+ if (matches.call(el, selector)) {
4180
+ return el;
4173
4181
  }
4174
- el2 = el2.parentElement || el2.parentNode;
4175
- } while (el2 !== null && el2.nodeType === 1);
4182
+ el = el.parentElement || el.parentNode;
4183
+ } while (el !== null && el.nodeType === 1);
4176
4184
  return null;
4177
4185
  };
4178
4186
  }
@@ -4841,7 +4849,7 @@ function extend$c(scheduler2) {
4841
4849
  this.clear_view();
4842
4850
  this.callEvent("onClearAll", []);
4843
4851
  };
4844
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
4852
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
4845
4853
  if (!arguments.length)
4846
4854
  return this.addEventNow();
4847
4855
  var ev = start_date;
@@ -4850,7 +4858,7 @@ function extend$c(scheduler2) {
4850
4858
  ev.start_date = start_date;
4851
4859
  ev.end_date = end_date;
4852
4860
  ev.text = text;
4853
- ev.id = id2;
4861
+ ev.id = id;
4854
4862
  }
4855
4863
  ev.id = ev.id || scheduler2.uid();
4856
4864
  ev.text = ev.text || "";
@@ -4860,7 +4868,7 @@ function extend$c(scheduler2) {
4860
4868
  ev.end_date = this.templates.api_date(ev.end_date);
4861
4869
  var d = (this.config.event_duration || this.config.time_step) * 6e4;
4862
4870
  if (new Date(ev.end_date).valueOf() - new Date(ev.start_date).valueOf() <= d)
4863
- ev.end_date.setTime(ev.end_date.valueOf() + d);
4871
+ ev.end_date.setTime(ev.start_date.valueOf() + d);
4864
4872
  ev.start_date.setMilliseconds(0);
4865
4873
  ev.end_date.setMilliseconds(0);
4866
4874
  ev._timed = this.isOneDayEvent(ev);
@@ -4871,15 +4879,15 @@ function extend$c(scheduler2) {
4871
4879
  this.callEvent(is_new ? "onEventAdded" : "onEventChanged", [ev.id, ev]);
4872
4880
  return ev.id;
4873
4881
  };
4874
- scheduler2.deleteEvent = function(id2, silent) {
4875
- var ev = this._events[id2];
4876
- if (!silent && (!this.callEvent("onBeforeEventDelete", [id2, ev]) || !this.callEvent("onConfirmedBeforeEventDelete", [id2, ev])))
4882
+ scheduler2.deleteEvent = function(id, silent) {
4883
+ var ev = this._events[id];
4884
+ if (!silent && (!this.callEvent("onBeforeEventDelete", [id, ev]) || !this.callEvent("onConfirmedBeforeEventDelete", [id, ev])))
4877
4885
  return;
4878
4886
  if (ev) {
4879
- if (scheduler2.getState().select_id == id2) {
4887
+ if (scheduler2.getState().select_id == id) {
4880
4888
  scheduler2.unselect();
4881
4889
  }
4882
- delete this._events[id2];
4890
+ delete this._events[id];
4883
4891
  this.event_updated(ev);
4884
4892
  if (this._drag_id == ev.id) {
4885
4893
  this._drag_id = null;
@@ -4887,50 +4895,50 @@ function extend$c(scheduler2) {
4887
4895
  this._drag_pos = null;
4888
4896
  }
4889
4897
  }
4890
- this.callEvent("onEventDeleted", [id2, ev]);
4898
+ this.callEvent("onEventDeleted", [id, ev]);
4891
4899
  };
4892
- scheduler2.getEvent = function(id2) {
4893
- return this._events[id2];
4900
+ scheduler2.getEvent = function(id) {
4901
+ return this._events[id];
4894
4902
  };
4895
- scheduler2.setEvent = function(id2, hash) {
4903
+ scheduler2.setEvent = function(id, hash) {
4896
4904
  if (!hash.id)
4897
- hash.id = id2;
4898
- this._events[id2] = hash;
4905
+ hash.id = id;
4906
+ this._events[id] = hash;
4899
4907
  };
4900
- scheduler2.for_rendered = function(id2, method) {
4908
+ scheduler2.for_rendered = function(id, method) {
4901
4909
  for (var i = this._rendered.length - 1; i >= 0; i--)
4902
- if (this._rendered[i].getAttribute(this.config.event_attribute) == id2)
4910
+ if (this._rendered[i].getAttribute(this.config.event_attribute) == id)
4903
4911
  method(this._rendered[i], i);
4904
4912
  };
4905
- scheduler2.changeEventId = function(id2, new_id) {
4906
- if (id2 == new_id)
4913
+ scheduler2.changeEventId = function(id, new_id) {
4914
+ if (id == new_id)
4907
4915
  return;
4908
- var ev = this._events[id2];
4916
+ var ev = this._events[id];
4909
4917
  if (ev) {
4910
4918
  ev.id = new_id;
4911
4919
  this._events[new_id] = ev;
4912
- delete this._events[id2];
4920
+ delete this._events[id];
4913
4921
  }
4914
- this.for_rendered(id2, function(r) {
4922
+ this.for_rendered(id, function(r) {
4915
4923
  r.setAttribute("event_id", new_id);
4916
4924
  r.setAttribute(scheduler2.config.event_attribute, new_id);
4917
4925
  });
4918
- if (this._select_id == id2)
4926
+ if (this._select_id == id)
4919
4927
  this._select_id = new_id;
4920
- if (this._edit_id == id2)
4928
+ if (this._edit_id == id)
4921
4929
  this._edit_id = new_id;
4922
- this.callEvent("onEventIdChange", [id2, new_id]);
4930
+ this.callEvent("onEventIdChange", [id, new_id]);
4923
4931
  };
4924
4932
  (function() {
4925
4933
  var attrs = ["text", "Text", "start_date", "StartDate", "end_date", "EndDate"];
4926
4934
  var create_getter = function(name) {
4927
- return function(id2) {
4928
- return scheduler2.getEvent(id2)[name];
4935
+ return function(id) {
4936
+ return scheduler2.getEvent(id)[name];
4929
4937
  };
4930
4938
  };
4931
4939
  var create_setter = function(name) {
4932
- return function(id2, value) {
4933
- var ev = scheduler2.getEvent(id2);
4940
+ return function(id, value) {
4941
+ var ev = scheduler2.getEvent(id);
4934
4942
  ev[name] = value;
4935
4943
  ev._changed = true;
4936
4944
  ev._timed = this.isOneDayEvent(ev);
@@ -4972,18 +4980,18 @@ function extend$c(scheduler2) {
4972
4980
  };
4973
4981
  scheduler2.get_visible_events = function(only_timed) {
4974
4982
  var stack = [];
4975
- for (var id2 in this._events)
4976
- if (this.is_visible_events(this._events[id2])) {
4977
- if (!only_timed || this._events[id2]._timed) {
4978
- if (this.filter_event(id2, this._events[id2]))
4979
- stack.push(this._events[id2]);
4983
+ for (var id in this._events)
4984
+ if (this.is_visible_events(this._events[id])) {
4985
+ if (!only_timed || this._events[id]._timed) {
4986
+ if (this.filter_event(id, this._events[id]))
4987
+ stack.push(this._events[id]);
4980
4988
  }
4981
4989
  }
4982
4990
  return stack;
4983
4991
  };
4984
- scheduler2.filter_event = function(id2, ev) {
4992
+ scheduler2.filter_event = function(id, ev) {
4985
4993
  var filter = this["filter_" + this._mode];
4986
- return filter ? filter(id2, ev) : true;
4994
+ return filter ? filter(id, ev) : true;
4987
4995
  };
4988
4996
  scheduler2._is_main_area_event = function(ev) {
4989
4997
  return !!ev._timed;
@@ -5054,27 +5062,27 @@ function extend$c(scheduler2) {
5054
5062
  var count = scheduler2.getEvents(curr, date.add(curr, 1, "day")).length;
5055
5063
  var pos = this._get_event_bar_pos(toRender);
5056
5064
  var widt = pos.x2 - pos.x;
5057
- var el2 = document.createElement("div");
5058
- scheduler2.event(el2, "click", function(e) {
5065
+ var el = document.createElement("div");
5066
+ scheduler2.event(el, "click", function(e) {
5059
5067
  scheduler2._view_month_day(e);
5060
5068
  });
5061
- el2.className = "dhx_month_link";
5062
- el2.style.top = pos.y + "px";
5063
- el2.style.left = pos.x + "px";
5064
- el2.style.width = widt + "px";
5065
- el2.innerHTML = scheduler2.templates.month_events_link(curr, count);
5066
- this._rendered.push(el2);
5067
- parent.appendChild(el2);
5069
+ el.className = "dhx_month_link";
5070
+ el.style.top = pos.y + "px";
5071
+ el.style.left = pos.x + "px";
5072
+ el.style.width = widt + "px";
5073
+ el.innerHTML = scheduler2.templates.month_events_link(curr, count);
5074
+ this._rendered.push(el);
5075
+ parent.appendChild(el);
5068
5076
  }
5069
5077
  };
5070
- scheduler2._recalculate_timed = function(id2) {
5071
- if (!id2)
5078
+ scheduler2._recalculate_timed = function(id) {
5079
+ if (!id)
5072
5080
  return;
5073
5081
  var ev;
5074
- if (typeof id2 != "object")
5075
- ev = this._events[id2];
5082
+ if (typeof id != "object")
5083
+ ev = this._events[id];
5076
5084
  else
5077
- ev = id2;
5085
+ ev = id;
5078
5086
  if (!ev)
5079
5087
  return;
5080
5088
  ev._timed = scheduler2.isOneDayEvent(ev);
@@ -5378,11 +5386,11 @@ function extend$c(scheduler2) {
5378
5386
  var chunks_info = {};
5379
5387
  for (var i = 0; i < evs.length; i++) {
5380
5388
  var ev = evs[i];
5381
- var id2 = ev.id;
5382
- if (!chunks_info[id2]) {
5383
- chunks_info[id2] = { first_chunk: true, last_chunk: true };
5389
+ var id = ev.id;
5390
+ if (!chunks_info[id]) {
5391
+ chunks_info[id] = { first_chunk: true, last_chunk: true };
5384
5392
  }
5385
- var chunk_info = chunks_info[id2];
5393
+ var chunk_info = chunks_info[id];
5386
5394
  var sd = start_date || ev.start_date;
5387
5395
  var ed = ev.end_date;
5388
5396
  if (sd < this._min_date) {
@@ -5463,10 +5471,10 @@ function extend$c(scheduler2) {
5463
5471
  }
5464
5472
  this._rendered = [];
5465
5473
  };
5466
- scheduler2.updateEvent = function(id2) {
5467
- var ev = this.getEvent(id2);
5468
- this.clear_event(id2);
5469
- if (ev && this.is_visible_events(ev) && this.filter_event(id2, ev) && (this._table_view || this.config.multi_day || ev._timed)) {
5474
+ scheduler2.updateEvent = function(id) {
5475
+ var ev = this.getEvent(id);
5476
+ this.clear_event(id);
5477
+ if (ev && this.is_visible_events(ev) && this.filter_event(id, ev) && (this._table_view || this.config.multi_day || ev._timed)) {
5470
5478
  if (this.config.update_render) {
5471
5479
  this.render_view_data();
5472
5480
  } else {
@@ -5478,8 +5486,8 @@ function extend$c(scheduler2) {
5478
5486
  }
5479
5487
  }
5480
5488
  };
5481
- scheduler2.clear_event = function(id2) {
5482
- this.for_rendered(id2, function(node, i) {
5489
+ scheduler2.clear_event = function(id) {
5490
+ this.for_rendered(id, function(node, i) {
5483
5491
  if (node.parentNode)
5484
5492
  node.parentNode.removeChild(node);
5485
5493
  scheduler2._rendered.splice(i, 1);
@@ -5626,23 +5634,23 @@ function extend$c(scheduler2) {
5626
5634
  };
5627
5635
  scheduler2._render_v_bar = function(ev, x, y, w, h, style, contentA, contentB, bottom) {
5628
5636
  var d = document.createElement("div");
5629
- var id2 = ev.id;
5630
- var cs2 = bottom ? "dhx_cal_event dhx_cal_select_menu" : "dhx_cal_event";
5637
+ var id = ev.id;
5638
+ var cs = bottom ? "dhx_cal_event dhx_cal_select_menu" : "dhx_cal_event";
5631
5639
  var state = scheduler2.getState();
5632
5640
  if (state.drag_id == ev.id) {
5633
- cs2 += " dhx_cal_event_drag";
5641
+ cs += " dhx_cal_event_drag";
5634
5642
  }
5635
5643
  if (state.select_id == ev.id) {
5636
- cs2 += " dhx_cal_event_selected";
5644
+ cs += " dhx_cal_event_selected";
5637
5645
  }
5638
5646
  var cse = scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
5639
5647
  if (cse)
5640
- cs2 = cs2 + " " + cse;
5648
+ cs = cs + " " + cse;
5641
5649
  if (this.config.cascade_event_display) {
5642
- cs2 += " dhx_cal_event_cascade";
5650
+ cs += " dhx_cal_event_cascade";
5643
5651
  }
5644
5652
  var boxWidth = w - 1;
5645
- var html = `<div event_id="${id2}" ${this.config.event_attribute}="${id2}" class="${cs2}"
5653
+ var html = `<div event_id="${id}" ${this.config.event_attribute}="${id}" class="${cs}"
5646
5654
  style="position:absolute; top:${y}px; ${this.config.rtl ? "right:" : "left:"}${x}px; width:${boxWidth}px; height:${h}px; ${style || ""}"
5647
5655
  data-bar-start="${ev.start_date.valueOf()}" data-bar-end="${ev.end_date.valueOf()}">
5648
5656
  </div>`;
@@ -5740,16 +5748,16 @@ function extend$c(scheduler2) {
5740
5748
  var resize_left = resizable && (ev._timed || left_chunk);
5741
5749
  var resize_right = resizable && (ev._timed || right_chunk);
5742
5750
  var timed = true;
5743
- var cs2 = "dhx_cal_event_clear";
5751
+ var cs = "dhx_cal_event_clear";
5744
5752
  if (!ev._timed || resizable) {
5745
5753
  timed = false;
5746
- cs2 = "dhx_cal_event_line";
5754
+ cs = "dhx_cal_event_line";
5747
5755
  }
5748
5756
  if (left_chunk) {
5749
- cs2 += " dhx_cal_event_line_start";
5757
+ cs += " dhx_cal_event_line_start";
5750
5758
  }
5751
5759
  if (right_chunk) {
5752
- cs2 += " dhx_cal_event_line_end";
5760
+ cs += " dhx_cal_event_line_end";
5753
5761
  }
5754
5762
  if (resize_left) {
5755
5763
  resize_handle += "<div class='dhx_event_resize dhx_event_resize_start'></div>";
@@ -5759,12 +5767,12 @@ function extend$c(scheduler2) {
5759
5767
  }
5760
5768
  var cse = scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
5761
5769
  if (cse) {
5762
- cs2 += " " + cse;
5770
+ cs += " " + cse;
5763
5771
  }
5764
5772
  var bg_color = ev.color ? "--dhx-scheduler-event-background:" + ev.color + ";" : "";
5765
5773
  var color = ev.textColor ? "--dhx-scheduler-event-color:" + ev.textColor + ";" : "";
5766
5774
  var style_text = ["position:absolute", "top:" + y + "px", "left:" + x + "px", "width:" + (x2 - x - (timed ? 1 : 0)) + "px", "height:" + (this.xy.bar_height - 2) + "px", color, bg_color, ev._text_style || ""].join(";");
5767
- var html = "<div event_id='" + ev.id + "' " + this.config.event_attribute + "='" + ev.id + "' class='" + cs2 + "' style='" + style_text + "'" + this._waiAria.eventBarAttrString(ev) + ">";
5775
+ var html = "<div event_id='" + ev.id + "' " + this.config.event_attribute + "='" + ev.id + "' class='" + cs + "' style='" + style_text + "'" + this._waiAria.eventBarAttrString(ev) + ">";
5768
5776
  if (resizable) {
5769
5777
  html += resize_handle;
5770
5778
  }
@@ -5783,22 +5791,22 @@ function extend$c(scheduler2) {
5783
5791
  parent.appendChild(d.firstChild);
5784
5792
  };
5785
5793
  scheduler2._locate_event = function(node) {
5786
- var id2 = null;
5787
- while (node && !id2 && node.getAttribute) {
5788
- id2 = node.getAttribute(this.config.event_attribute);
5794
+ var id = null;
5795
+ while (node && !id && node.getAttribute) {
5796
+ id = node.getAttribute(this.config.event_attribute);
5789
5797
  node = node.parentNode;
5790
5798
  }
5791
- return id2;
5799
+ return id;
5792
5800
  };
5793
- scheduler2.edit = function(id2) {
5794
- if (this._edit_id == id2)
5801
+ scheduler2.edit = function(id) {
5802
+ if (this._edit_id == id)
5795
5803
  return;
5796
- this.editStop(false, id2);
5797
- this._edit_id = id2;
5798
- this.updateEvent(id2);
5804
+ this.editStop(false, id);
5805
+ this._edit_id = id;
5806
+ this.updateEvent(id);
5799
5807
  };
5800
- scheduler2.editStop = function(mode, id2) {
5801
- if (id2 && this._edit_id == id2)
5808
+ scheduler2.editStop = function(mode, id) {
5809
+ if (id && this._edit_id == id)
5802
5810
  return;
5803
5811
  var ev = this.getEvent(this._edit_id);
5804
5812
  if (ev) {
@@ -5818,6 +5826,7 @@ function extend$c(scheduler2) {
5818
5826
  } else {
5819
5827
  this.callEvent("onEventAdded", [ev.id, ev]);
5820
5828
  }
5829
+ delete ev.$new;
5821
5830
  this._new_event = null;
5822
5831
  } else {
5823
5832
  if (mode) {
@@ -5834,26 +5843,26 @@ function extend$c(scheduler2) {
5834
5843
  }
5835
5844
  return result;
5836
5845
  };
5837
- scheduler2.getRenderedEvent = function(id2) {
5838
- if (!id2)
5846
+ scheduler2.getRenderedEvent = function(id) {
5847
+ if (!id)
5839
5848
  return;
5840
5849
  var rendered_events = scheduler2._rendered;
5841
5850
  for (var i = 0; i < rendered_events.length; i++) {
5842
5851
  var rendered_event = rendered_events[i];
5843
- if (rendered_event.getAttribute(scheduler2.config.event_attribute) == id2) {
5852
+ if (rendered_event.getAttribute(scheduler2.config.event_attribute) == id) {
5844
5853
  return rendered_event;
5845
5854
  }
5846
5855
  }
5847
5856
  return null;
5848
5857
  };
5849
- scheduler2.showEvent = function(id2, mode) {
5858
+ scheduler2.showEvent = function(id, mode) {
5850
5859
  var section;
5851
- if (id2 && typeof id2 === "object") {
5852
- mode = id2.mode;
5853
- section = id2.section;
5854
- id2 = id2.section;
5860
+ if (id && typeof id === "object") {
5861
+ mode = id.mode;
5862
+ section = id.section;
5863
+ id = id.section;
5855
5864
  }
5856
- var ev = typeof id2 == "number" || typeof id2 == "string" ? scheduler2.getEvent(id2) : id2;
5865
+ var ev = typeof id == "number" || typeof id == "string" ? scheduler2.getEvent(id) : id;
5857
5866
  mode = mode || scheduler2._mode;
5858
5867
  if (!ev || this.checkEvent("onBeforeEventDisplay") && !this.callEvent("onBeforeEventDisplay", [ev, mode]))
5859
5868
  return;
@@ -6656,23 +6665,27 @@ function extend$6(scheduler2) {
6656
6665
  this.show_cover();
6657
6666
  this._cover.style.display = "";
6658
6667
  };
6659
- scheduler2.showLightbox = function(id2) {
6660
- if (!id2)
6668
+ scheduler2.showLightbox = function(id) {
6669
+ if (!id)
6661
6670
  return;
6662
- if (!this.callEvent("onBeforeLightbox", [id2])) {
6663
- if (this._new_event)
6671
+ if (!this.callEvent("onBeforeLightbox", [id])) {
6672
+ if (this._new_event) {
6664
6673
  this._new_event = null;
6674
+ if (scheduler2.getEvent(id)) {
6675
+ delete scheduler2.getEvent(id).$new;
6676
+ }
6677
+ }
6665
6678
  return;
6666
6679
  }
6667
6680
  this.showCover(box);
6668
6681
  var box = this.getLightbox();
6669
6682
  this._setLbPosition(box);
6670
- this._fill_lightbox(id2, box);
6683
+ this._fill_lightbox(id, box);
6671
6684
  this._waiAria.lightboxVisibleAttr(box);
6672
- this.callEvent("onLightbox", [id2]);
6685
+ this.callEvent("onLightbox", [id]);
6673
6686
  };
6674
- scheduler2._fill_lightbox = function(id2, box) {
6675
- var ev = this.getEvent(id2);
6687
+ scheduler2._fill_lightbox = function(id, box) {
6688
+ var ev = this.getEvent(id);
6676
6689
  var s = box.getElementsByTagName("span");
6677
6690
  var lightboxHeader = [];
6678
6691
  if (scheduler2.templates.lightbox_header) {
@@ -6700,7 +6713,7 @@ function extend$6(scheduler2) {
6700
6713
  if (sns[i].focus)
6701
6714
  block.focus.call(this, node);
6702
6715
  }
6703
- scheduler2._lightbox_id = id2;
6716
+ scheduler2._lightbox_id = id;
6704
6717
  };
6705
6718
  scheduler2._get_lightbox_section_node = function(section) {
6706
6719
  return scheduler2._lightbox.querySelector(`#${section.id}`).nextSibling;
@@ -6718,14 +6731,14 @@ function extend$6(scheduler2) {
6718
6731
  return ev;
6719
6732
  };
6720
6733
  scheduler2._empty_lightbox = function(data) {
6721
- var id2 = scheduler2._lightbox_id;
6722
- var ev = this.getEvent(id2);
6734
+ var id = scheduler2._lightbox_id;
6735
+ var ev = this.getEvent(id);
6723
6736
  this._lame_copy(ev, data);
6724
6737
  this.setEvent(ev.id, ev);
6725
6738
  this._edit_stop_event(ev, true);
6726
6739
  this.render_view_data();
6727
6740
  };
6728
- scheduler2.hide_lightbox = function(id2) {
6741
+ scheduler2.hide_lightbox = function(id) {
6729
6742
  scheduler2.endLightbox(false, this.getLightbox());
6730
6743
  };
6731
6744
  scheduler2.hideCover = function(box) {
@@ -6760,8 +6773,8 @@ function extend$6(scheduler2) {
6760
6773
  this._empty_lightbox(data);
6761
6774
  this.hide_lightbox();
6762
6775
  };
6763
- scheduler2.startLightbox = function(id2, box) {
6764
- this._lightbox_id = id2;
6776
+ scheduler2.startLightbox = function(id, box) {
6777
+ this._lightbox_id = id;
6765
6778
  this._custom_lightbox = true;
6766
6779
  this._temp_lightbox = this._lightbox;
6767
6780
  this._lightbox = box;
@@ -6796,6 +6809,9 @@ function extend$6(scheduler2) {
6796
6809
  this.hide_lightbox();
6797
6810
  };
6798
6811
  scheduler2.hideLightbox = scheduler2.cancel_lightbox;
6812
+ scheduler2._delete_event_confirm = function({ event: event2, message: message2, title, callback, ok }) {
6813
+ scheduler2._dhtmlx_confirm({ message: message2, title, callback, ok });
6814
+ };
6799
6815
  scheduler2._init_lightbox_events = function() {
6800
6816
  if (this.getLightbox().$_eventAttached) {
6801
6817
  return;
@@ -6831,7 +6847,7 @@ function extend$6(scheduler2) {
6831
6847
  return;
6832
6848
  }
6833
6849
  var c = scheduler2.locale.labels.confirm_deleting;
6834
- scheduler2._dhtmlx_confirm({ message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
6850
+ scheduler2._delete_event_confirm({ event: scheduler2.getEvent(scheduler2._lightbox_id), message: c, title: scheduler2.locale.labels.title_confirm_deleting, callback: function() {
6835
6851
  let ev = scheduler2.getEvent(scheduler2._lightbox_id);
6836
6852
  if (ev._thisAndFollowing) {
6837
6853
  ev._removeFollowing = true;
@@ -6840,6 +6856,7 @@ function extend$6(scheduler2) {
6840
6856
  scheduler2.deleteEvent(scheduler2._lightbox_id);
6841
6857
  }
6842
6858
  scheduler2._new_event = null;
6859
+ delete ev.$new;
6843
6860
  scheduler2.hide_lightbox();
6844
6861
  }, config: { ok: scheduler2.locale.labels.icon_delete } });
6845
6862
  break;
@@ -7171,8 +7188,8 @@ function extend$5(scheduler2) {
7171
7188
  var original_render = scheduler2.render_view_data;
7172
7189
  if (dnd == "create" && timeline) {
7173
7190
  scheduler2.render_view_data = function() {
7174
- var id2 = scheduler2.getState().drag_id;
7175
- var ev = scheduler2.getEvent(id2);
7191
+ var id = scheduler2.getState().drag_id;
7192
+ var ev = scheduler2.getEvent(id);
7176
7193
  var property = timeline.y_property;
7177
7194
  var evs = scheduler2.getEvents(ev.start_date, ev.end_date);
7178
7195
  for (var i = 0; i < evs.length; i++) {
@@ -7622,7 +7639,7 @@ function extend$3(scheduler2) {
7622
7639
  };
7623
7640
  }
7624
7641
  function extend$2(scheduler2) {
7625
- if (window.jQuery) {
7642
+ if (typeof window !== "undefined" && window.jQuery) {
7626
7643
  (function($) {
7627
7644
  var counter = 0;
7628
7645
  var methods = [];
@@ -7730,28 +7747,28 @@ function DataProcessorEvents(scheduler2, dp) {
7730
7747
  this.attach = function() {
7731
7748
  var dp2 = this.$dp;
7732
7749
  var scheduler3 = this.$scheduler;
7733
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventAdded", function(id2) {
7734
- if (!this._loading && this._validId(id2))
7735
- dp2.setUpdated(id2, true, "inserted");
7750
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventAdded", function(id) {
7751
+ if (!this._loading && this._validId(id))
7752
+ dp2.setUpdated(id, true, "inserted");
7736
7753
  }));
7737
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
7738
- if (!this._validId(id2))
7754
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onConfirmedBeforeEventDelete", function(id) {
7755
+ if (!this._validId(id))
7739
7756
  return;
7740
- var z = dp2.getState(id2);
7757
+ var z = dp2.getState(id);
7741
7758
  if (z == "inserted" || this._new_event) {
7742
- dp2.setUpdated(id2, false);
7759
+ dp2.setUpdated(id, false);
7743
7760
  return true;
7744
7761
  }
7745
7762
  if (z == "deleted")
7746
7763
  return false;
7747
7764
  if (z == "true_deleted")
7748
7765
  return true;
7749
- dp2.setUpdated(id2, true, "deleted");
7766
+ dp2.setUpdated(id, true, "deleted");
7750
7767
  return false;
7751
7768
  }));
7752
- this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventChanged", function(id2) {
7753
- if (!this._loading && this._validId(id2))
7754
- dp2.setUpdated(id2, true, "updated");
7769
+ this._dataProcessorHandlers.push(scheduler3.attachEvent("onEventChanged", function(id) {
7770
+ if (!this._loading && this._validId(id))
7771
+ dp2.setUpdated(id, true, "updated");
7755
7772
  }));
7756
7773
  this._dataProcessorHandlers.push(scheduler3.attachEvent("onClearAll", function() {
7757
7774
  dp2._in_progress = {};
@@ -7761,12 +7778,12 @@ function DataProcessorEvents(scheduler2, dp) {
7761
7778
  }));
7762
7779
  dp2.attachEvent("insertCallback", scheduler3._update_callback);
7763
7780
  dp2.attachEvent("updateCallback", scheduler3._update_callback);
7764
- dp2.attachEvent("deleteCallback", function(upd, id2) {
7765
- if (scheduler3.getEvent(id2)) {
7766
- scheduler3.setUserData(id2, this.action_param, "true_deleted");
7767
- scheduler3.deleteEvent(id2);
7781
+ dp2.attachEvent("deleteCallback", function(upd, id) {
7782
+ if (scheduler3.getEvent(id)) {
7783
+ scheduler3.setUserData(id, this.action_param, "true_deleted");
7784
+ scheduler3.deleteEvent(id);
7768
7785
  } else if (scheduler3._add_rec_marker)
7769
- scheduler3._update_callback(upd, id2);
7786
+ scheduler3._update_callback(upd, id);
7770
7787
  });
7771
7788
  };
7772
7789
  this.detach = function() {
@@ -7778,24 +7795,24 @@ function DataProcessorEvents(scheduler2, dp) {
7778
7795
  };
7779
7796
  }
7780
7797
  function extendScheduler(scheduler2, dp) {
7781
- scheduler2._validId = function(id2) {
7798
+ scheduler2._validId = function(id) {
7782
7799
  if (this._is_virtual_event) {
7783
- return !this._is_virtual_event(id2);
7800
+ return !this._is_virtual_event(id);
7784
7801
  }
7785
7802
  return true;
7786
7803
  };
7787
- scheduler2.setUserData = function(id2, name, value) {
7788
- if (id2) {
7789
- var ev = this.getEvent(id2);
7804
+ scheduler2.setUserData = function(id, name, value) {
7805
+ if (id) {
7806
+ var ev = this.getEvent(id);
7790
7807
  if (ev)
7791
7808
  ev[name] = value;
7792
7809
  } else {
7793
7810
  this._userdata[name] = value;
7794
7811
  }
7795
7812
  };
7796
- scheduler2.getUserData = function(id2, name) {
7797
- if (id2) {
7798
- var ev = this.getEvent(id2);
7813
+ scheduler2.getUserData = function(id, name) {
7814
+ if (id) {
7815
+ var ev = this.getEvent(id);
7799
7816
  if (ev)
7800
7817
  return ev[name];
7801
7818
  else
@@ -7804,17 +7821,17 @@ function extendScheduler(scheduler2, dp) {
7804
7821
  return this._userdata[name];
7805
7822
  }
7806
7823
  };
7807
- scheduler2._set_event_text_style = function(id2, style) {
7808
- if (!scheduler2.getEvent(id2))
7824
+ scheduler2._set_event_text_style = function(id, style) {
7825
+ if (!scheduler2.getEvent(id))
7809
7826
  return;
7810
- this.for_rendered(id2, function(r) {
7827
+ this.for_rendered(id, function(r) {
7811
7828
  r.style.cssText += ";" + style;
7812
7829
  });
7813
- var ev = this.getEvent(id2);
7830
+ var ev = this.getEvent(id);
7814
7831
  ev["_text_style"] = style;
7815
7832
  this.event_updated(ev);
7816
7833
  };
7817
- scheduler2._update_callback = function(upd, id2) {
7834
+ scheduler2._update_callback = function(upd, id) {
7818
7835
  var data = scheduler2._xmlNodeToJSON(upd.firstChild);
7819
7836
  if (data.rec_type == "none")
7820
7837
  data.rec_pattern = "none";
@@ -7825,18 +7842,18 @@ function extendScheduler(scheduler2, dp) {
7825
7842
  if (scheduler2._add_rec_marker)
7826
7843
  scheduler2.setCurrentView();
7827
7844
  };
7828
- scheduler2._dp_change_event_id = function(id2, new_id) {
7829
- if (!scheduler2.getEvent(id2))
7845
+ scheduler2._dp_change_event_id = function(id, new_id) {
7846
+ if (!scheduler2.getEvent(id))
7830
7847
  return;
7831
- scheduler2.changeEventId(id2, new_id);
7848
+ scheduler2.changeEventId(id, new_id);
7832
7849
  };
7833
- scheduler2._dp_hook_delete = function(id2, new_id) {
7834
- if (!scheduler2.getEvent(id2))
7850
+ scheduler2._dp_hook_delete = function(id, new_id) {
7851
+ if (!scheduler2.getEvent(id))
7835
7852
  return;
7836
- if (new_id && id2 != new_id) {
7837
- if (this.getUserData(id2, dp.action_param) == "true_deleted")
7838
- this.setUserData(id2, dp.action_param, "updated");
7839
- this.changeEventId(id2, new_id);
7853
+ if (new_id && id != new_id) {
7854
+ if (this.getUserData(id, dp.action_param) == "true_deleted")
7855
+ this.setUserData(id, dp.action_param, "updated");
7856
+ this.changeEventId(id, new_id);
7840
7857
  }
7841
7858
  return this.deleteEvent(new_id, true);
7842
7859
  };
@@ -7945,21 +7962,21 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
7945
7962
  this.markRow(rowId, state, mode);
7946
7963
  if (state && this.autoUpdate)
7947
7964
  this.sendData(rowId);
7948
- }, markRow: function(id2, state, mode) {
7965
+ }, markRow: function(id, state, mode) {
7949
7966
  var str = "";
7950
- var invalid = this.is_invalid(id2);
7967
+ var invalid = this.is_invalid(id);
7951
7968
  if (invalid) {
7952
7969
  str = this.styles[invalid];
7953
7970
  state = true;
7954
7971
  }
7955
- if (this.callEvent("onRowMark", [id2, state, mode, invalid])) {
7972
+ if (this.callEvent("onRowMark", [id, state, mode, invalid])) {
7956
7973
  str = this.styles[state ? mode : "clear"] + str;
7957
- this.$scheduler[this._methods[0]](id2, str);
7974
+ this.$scheduler[this._methods[0]](id, str);
7958
7975
  if (invalid && invalid.details) {
7959
7976
  str += this.styles[invalid + "_cell"];
7960
7977
  for (var i = 0; i < invalid.details.length; i++)
7961
7978
  if (invalid.details[i])
7962
- this.$scheduler[this._methods[1]](id2, i, str);
7979
+ this.$scheduler[this._methods[1]](id, i, str);
7963
7980
  }
7964
7981
  }
7965
7982
  }, getActionByState: function(state) {
@@ -7973,16 +7990,16 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
7973
7990
  return "delete";
7974
7991
  }
7975
7992
  return "update";
7976
- }, getState: function(id2) {
7977
- return this.$scheduler.getUserData(id2, this.action_param);
7978
- }, is_invalid: function(id2) {
7979
- return this._invalid[id2];
7980
- }, set_invalid: function(id2, mode, details) {
7993
+ }, getState: function(id) {
7994
+ return this.$scheduler.getUserData(id, this.action_param);
7995
+ }, is_invalid: function(id) {
7996
+ return this._invalid[id];
7997
+ }, set_invalid: function(id, mode, details) {
7981
7998
  if (details)
7982
7999
  mode = { value: mode, details, toString: function() {
7983
8000
  return this.value.toString();
7984
8001
  } };
7985
- this._invalid[id2] = mode;
8002
+ this._invalid[id] = mode;
7986
8003
  }, checkBeforeUpdate: function(rowId) {
7987
8004
  return true;
7988
8005
  }, sendData: function(rowId) {
@@ -8000,13 +8017,13 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8000
8017
  if (!this.callEvent("onBeforeUpdate", [rowId, this.getState(rowId), data]))
8001
8018
  return false;
8002
8019
  this._sendData(data, rowId);
8003
- }, serialize: function(data, id2) {
8020
+ }, serialize: function(data, id) {
8004
8021
  if (this._serializeAsJson) {
8005
8022
  return this._serializeAsJSON(data);
8006
8023
  }
8007
8024
  if (typeof data == "string")
8008
8025
  return data;
8009
- if (typeof id2 != "undefined")
8026
+ if (typeof id != "undefined")
8010
8027
  return this.serialize_one(data, "");
8011
8028
  else {
8012
8029
  var stack = [];
@@ -8208,17 +8225,17 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8208
8225
  }, _getAllData: function(rowId) {
8209
8226
  var out = {};
8210
8227
  var has_one = false;
8211
- this._forEachUpdatedRow(function(id2) {
8212
- if (this._in_progress[id2] || this.is_invalid(id2)) {
8228
+ this._forEachUpdatedRow(function(id) {
8229
+ if (this._in_progress[id] || this.is_invalid(id)) {
8213
8230
  return;
8214
8231
  }
8215
- var row = this._getRowData(id2);
8216
- if (!this.callEvent("onBeforeUpdate", [id2, this.getState(id2), row])) {
8232
+ var row = this._getRowData(id);
8233
+ if (!this.callEvent("onBeforeUpdate", [id, this.getState(id), row])) {
8217
8234
  return;
8218
8235
  }
8219
- out[id2] = row;
8236
+ out[id] = row;
8220
8237
  has_one = true;
8221
- this._in_progress[id2] = (/* @__PURE__ */ new Date()).valueOf();
8238
+ this._in_progress[id] = (/* @__PURE__ */ new Date()).valueOf();
8222
8239
  });
8223
8240
  return has_one ? out : null;
8224
8241
  }, findRow: function(pattern) {
@@ -8273,21 +8290,21 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8273
8290
  this.setUpdated(tid, true, this.$scheduler.getUserData(sid, this.action_param));
8274
8291
  }
8275
8292
  this.callEvent("onAfterUpdate", [originalSid, action, tid, btag]);
8276
- }, _errorResponse: function(xml, id2) {
8293
+ }, _errorResponse: function(xml, id) {
8277
8294
  if (this.$scheduler && this.$scheduler.callEvent) {
8278
- this.$scheduler.callEvent("onSaveError", [id2, xml.xmlDoc]);
8295
+ this.$scheduler.callEvent("onSaveError", [id, xml.xmlDoc]);
8279
8296
  }
8280
- return this.cleanUpdate(id2);
8297
+ return this.cleanUpdate(id);
8281
8298
  }, _setDefaultTransactionMode: function() {
8282
8299
  if (this.serverProcessor) {
8283
8300
  this.setTransactionMode("POST", true);
8284
8301
  this.serverProcessor += (this.serverProcessor.indexOf("?") !== -1 ? "&" : "?") + "editing=true";
8285
8302
  this._serverProcessor = this.serverProcessor;
8286
8303
  }
8287
- }, afterUpdate: function(that, xml, id2) {
8304
+ }, afterUpdate: function(that, xml, id) {
8288
8305
  var ajax = this.$scheduler.ajax;
8289
8306
  if (xml.xmlDoc.status !== 200) {
8290
- this._errorResponse(xml, id2);
8307
+ this._errorResponse(xml, id);
8291
8308
  return;
8292
8309
  }
8293
8310
  var tag;
@@ -8299,20 +8316,20 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8299
8316
  }
8300
8317
  }
8301
8318
  if (tag) {
8302
- var action = tag.action || this.getState(id2) || "updated";
8303
- var sid = tag.sid || id2[0];
8304
- var tid = tag.tid || id2[0];
8319
+ var action = tag.action || this.getState(id) || "updated";
8320
+ var sid = tag.sid || id[0];
8321
+ var tid = tag.tid || id[0];
8305
8322
  that.afterUpdateCallback(sid, tid, action, tag);
8306
8323
  that.finalizeUpdate();
8307
8324
  return;
8308
8325
  }
8309
8326
  var top = ajax.xmltop("data", xml.xmlDoc);
8310
8327
  if (!top) {
8311
- return this._errorResponse(xml, id2);
8328
+ return this._errorResponse(xml, id);
8312
8329
  }
8313
8330
  var atag = ajax.xpath("//data/action", top);
8314
8331
  if (!atag.length) {
8315
- return this._errorResponse(xml, id2);
8332
+ return this._errorResponse(xml, id);
8316
8333
  }
8317
8334
  for (var i = 0; i < atag.length; i++) {
8318
8335
  var btag = atag[i];
@@ -8322,10 +8339,10 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8322
8339
  that.afterUpdateCallback(sid, tid, action, btag);
8323
8340
  }
8324
8341
  that.finalizeUpdate();
8325
- }, cleanUpdate: function(id2) {
8326
- if (id2)
8327
- for (var i = 0; i < id2.length; i++)
8328
- delete this._in_progress[id2[i]];
8342
+ }, cleanUpdate: function(id) {
8343
+ if (id)
8344
+ for (var i = 0; i < id.length; i++)
8345
+ delete this._in_progress[id[i]];
8329
8346
  }, finalizeUpdate: function() {
8330
8347
  if (this._waitMode)
8331
8348
  this._waitMode--;
@@ -8419,17 +8436,17 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8419
8436
  self._silent_mode = true;
8420
8437
  for (var i = 0; i < updates.length; i++) {
8421
8438
  var status = updates[i].getAttribute("status");
8422
- var id2 = updates[i].getAttribute("id");
8439
+ var id = updates[i].getAttribute("id");
8423
8440
  var parent = updates[i].getAttribute("parent");
8424
8441
  switch (status) {
8425
8442
  case "inserted":
8426
- this.callEvent("insertCallback", [updates[i], id2, parent]);
8443
+ this.callEvent("insertCallback", [updates[i], id, parent]);
8427
8444
  break;
8428
8445
  case "updated":
8429
- this.callEvent("updateCallback", [updates[i], id2, parent]);
8446
+ this.callEvent("updateCallback", [updates[i], id, parent]);
8430
8447
  break;
8431
8448
  case "deleted":
8432
- this.callEvent("deleteCallback", [updates[i], id2, parent]);
8449
+ this.callEvent("deleteCallback", [updates[i], id, parent]);
8433
8450
  break;
8434
8451
  }
8435
8452
  }
@@ -8540,10 +8557,10 @@ DataProcessor.prototype = { setTransactionMode: function(mode, total) {
8540
8557
  } else {
8541
8558
  return this._prepareItemForForm(item);
8542
8559
  }
8543
- }, _getRowData: function(id2) {
8544
- var dataItem = this.$scheduler.getEvent(id2);
8560
+ }, _getRowData: function(id) {
8561
+ var dataItem = this.$scheduler.getEvent(id);
8545
8562
  if (!dataItem) {
8546
- dataItem = { id: id2 };
8563
+ dataItem = { id };
8547
8564
  }
8548
8565
  return this._prepareDataItem(dataItem);
8549
8566
  } };
@@ -8758,9 +8775,9 @@ function message(scheduler2) {
8758
8775
  }
8759
8776
  return text;
8760
8777
  }
8761
- function params(text, type, expire, id2, callback2) {
8778
+ function params(text, type, expire, id, callback2) {
8762
8779
  if (typeof text != "object")
8763
- text = { text, type, expire, id: id2, callback: callback2 };
8780
+ text = { text, type, expire, id, callback: callback2 };
8764
8781
  text.id = text.id || utils.uid();
8765
8782
  text.expire = text.expire || messageBox.expire;
8766
8783
  return text;
@@ -8798,7 +8815,7 @@ function message(scheduler2) {
8798
8815
  }
8799
8816
  }, 1);
8800
8817
  };
8801
- var messageBox = function(text, type, expire, id2) {
8818
+ var messageBox = function(text, type, expire, id) {
8802
8819
  text = params.apply(this, arguments);
8803
8820
  text.type = text.type || "info";
8804
8821
  var subtype = text.type.split("-")[0];
@@ -8824,17 +8841,17 @@ function message(scheduler2) {
8824
8841
  for (var key in messageBox.pull)
8825
8842
  messageBox.hide(key);
8826
8843
  };
8827
- messageBox.hide = function(id2) {
8828
- var obj = messageBox.pull[id2];
8844
+ messageBox.hide = function(id) {
8845
+ var obj = messageBox.pull[id];
8829
8846
  if (obj && obj.parentNode) {
8830
8847
  window.setTimeout(function() {
8831
8848
  obj.parentNode.removeChild(obj);
8832
8849
  obj = null;
8833
8850
  }, 2e3);
8834
8851
  obj.className += " hidden";
8835
- if (messageBox.timers[id2])
8836
- window.clearTimeout(messageBox.timers[id2]);
8837
- delete messageBox.pull[id2];
8852
+ if (messageBox.timers[id])
8853
+ window.clearTimeout(messageBox.timers[id]);
8854
+ delete messageBox.pull[id];
8838
8855
  }
8839
8856
  };
8840
8857
  var popups = [];
@@ -8866,23 +8883,6 @@ function message(scheduler2) {
8866
8883
  });
8867
8884
  return { alert: alertBox, confirm: confirmBox, message: messageBox, modalbox: modalBox };
8868
8885
  }
8869
- const ar = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", button_edit_occurrence_and_following: "This and following events", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "يومي", repeat_radio_week: "أسبوعي", repeat_radio_month: "شهري", repeat_radio_year: "سنوي", repeat_radio_day_type: "كل", repeat_text_day_count: "يوم", repeat_radio_day_type2: "كل يوم عمل", repeat_week: " تكرار كل", repeat_text_week_count: "أسبوع في الأيام التالية:", repeat_radio_month_type: "تكرار", repeat_radio_month_start: "في", repeat_text_month_day: "يوم كل", repeat_text_month_count: "شهر", repeat_text_month_count2_before: "كل", repeat_text_month_count2_after: "شهر", repeat_year_label: "في", select_year_day2: "من", repeat_text_year_day: "يوم", select_year_month: "شهر", repeat_radio_end: "بدون تاريخ انتهاء", repeat_text_occurrences_count: "تكرارات", repeat_radio_end2: "بعد", repeat_radio_end3: "ينتهي في", repeat_never: "أبداً", repeat_daily: "كل يوم", repeat_workdays: "كل يوم عمل", repeat_weekly: "كل أسبوع", repeat_monthly: "كل شهر", repeat_yearly: "كل سنة", repeat_custom: "تخصيص", repeat_freq_day: "يوم", repeat_freq_week: "أسبوع", repeat_freq_month: "شهر", repeat_freq_year: "سنة", repeat_on_date: "في التاريخ", repeat_ends: "ينتهي", month_for_recurring: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_for_recurring: ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"] } };
8870
- const be = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurrences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", repeat_never: "Ніколі", repeat_daily: "Кожны дзень", repeat_workdays: "Кожны працоўны дзень", repeat_weekly: "Кожны тыдзень", repeat_monthly: "Кожны месяц", repeat_yearly: "Кожны год", repeat_custom: "Наладжвальны", repeat_freq_day: "Дзень", repeat_freq_week: "Тыдзень", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "На дату", repeat_ends: "Заканчваецца", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } };
8871
- const ca = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diari", repeat_radio_week: "Setmanal", repeat_radio_month: "Mensual", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada dia laborable", repeat_week: " Repetir cada", repeat_text_week_count: "setmana els dies següents:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "de", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sense data de finalització", repeat_text_occurrences_count: "ocurrències", repeat_radio_end2: "Després", repeat_radio_end3: "Finalitzar el", repeat_never: "Mai", repeat_daily: "Cada dia", repeat_workdays: "Cada dia laborable", repeat_weekly: "Cada setmana", repeat_monthly: "Cada mes", repeat_yearly: "Cada any", repeat_custom: "Personalitzat", repeat_freq_day: "Dia", repeat_freq_week: "Setmana", repeat_freq_month: "Mes", repeat_freq_year: "Any", repeat_on_date: "En la data", repeat_ends: "Finalitza", month_for_recurring: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], day_for_recurring: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"] } };
8872
- const cn = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["日", "一", "二", "三", "四", "五", "六"] }, labels: { dhx_cal_today_button: "今天", day_tab: "日", week_tab: "周", month_tab: "月", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", button_edit_occurrence_and_following: "This and following events", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "每", repeat_text_day_count: "天", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 每", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "在", repeat_text_month_day: "日 每", repeat_text_month_count: "月", repeat_text_month_count2_before: "每", repeat_text_month_count2_after: "月", repeat_year_label: "在", select_year_day2: "的", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "无结束日期", repeat_text_occurrences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", repeat_never: "从不", repeat_daily: "每天", repeat_workdays: "每个工作日", repeat_weekly: "每周", repeat_monthly: "每月", repeat_yearly: "每年", repeat_custom: "自定义", repeat_freq_day: "天", repeat_freq_week: "周", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "在日期", repeat_ends: "结束", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } };
8873
- const cs = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurrences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", repeat_never: "Nikdy", repeat_daily: "Každý den", repeat_workdays: "Každý pracovní den", repeat_weekly: "Každý týden", repeat_monthly: "Každý měsíc", repeat_yearly: "Každý rok", repeat_custom: "Vlastní", repeat_freq_day: "Den", repeat_freq_week: "Týden", repeat_freq_month: "Měsíc", repeat_freq_year: "Rok", repeat_on_date: "Na datum", repeat_ends: "Končí", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } };
8874
- const da = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "På hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge på følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurrences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", repeat_never: "Aldrig", repeat_daily: "Hver dag", repeat_workdays: "Hver hverdag", repeat_weekly: "Hver uge", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Brugerdefineret", repeat_freq_day: "Dag", repeat_freq_week: "Uge", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8875
- const de = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurrences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", repeat_never: "Nie", repeat_daily: "Jeden Tag", repeat_workdays: "Jeden Werktag", repeat_weekly: "Jede Woche", repeat_monthly: "Jeden Monat", repeat_yearly: "Jedes Jahr", repeat_custom: "Benutzerdefiniert", repeat_freq_day: "Tag", repeat_freq_week: "Woche", repeat_freq_month: "Monat", repeat_freq_year: "Jahr", repeat_on_date: "Am Datum", repeat_ends: "Endet", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } };
8876
- const el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurrences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", repeat_never: "Ποτέ", repeat_daily: "Κάθε μέρα", repeat_workdays: "Κάθε εργάσιμη μέρα", repeat_weekly: "Κάθε εβδομάδα", repeat_monthly: "Κάθε μήνα", repeat_yearly: "Κάθε χρόνο", repeat_custom: "Προσαρμοσμένο", repeat_freq_day: "Ημέρα", repeat_freq_week: "Εβδομάδα", repeat_freq_month: "Μήνας", repeat_freq_year: "Χρόνος", repeat_on_date: "Σε ημερομηνία", repeat_ends: "Λήγει", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
8877
- const en = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Edit recurring event", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "All events", button_edit_occurrence: "This event", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurrences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", repeat_never: "Never", repeat_daily: "Every day", repeat_workdays: "Every weekday", repeat_weekly: "Every week", repeat_monthly: "Every month", repeat_yearly: "Every year", repeat_custom: "Custom", repeat_freq_day: "Day", repeat_freq_week: "Week", repeat_freq_month: "Month", repeat_freq_year: "Year", repeat_on_date: "On date", repeat_ends: "Ends", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } };
8878
- const es = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurrences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", repeat_never: "Nunca", repeat_daily: "Cada día", repeat_workdays: "Cada día laborable", repeat_weekly: "Cada semana", repeat_monthly: "Cada mes", repeat_yearly: "Cada año", repeat_custom: "Personalizado", repeat_freq_day: "Día", repeat_freq_week: "Semana", repeat_freq_month: "Mes", repeat_freq_year: "Año", repeat_on_date: "En la fecha", repeat_ends: "Termina", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } };
8879
- const fi = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurrences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", repeat_never: "Ei koskaan", repeat_daily: "Joka päivä", repeat_workdays: "Joka arkipäivä", repeat_weekly: "Joka viikko", repeat_monthly: "Joka kuukausi", repeat_yearly: "Joka vuosi", repeat_custom: "Mukautettu", repeat_freq_day: "Päivä", repeat_freq_week: "Viikko", repeat_freq_month: "Kuukausi", repeat_freq_year: "Vuosi", repeat_on_date: "Tiettynä päivänä", repeat_ends: "Päättyy", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } };
8880
- const fr = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurrences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", repeat_never: "Jamais", repeat_daily: "Chaque jour", repeat_workdays: "Chaque jour ouvrable", repeat_weekly: "Chaque semaine", repeat_monthly: "Chaque mois", repeat_yearly: "Chaque année", repeat_custom: "Personnalisé", repeat_freq_day: "Jour", repeat_freq_week: "Semaine", repeat_freq_month: "Mois", repeat_freq_year: "Année", repeat_on_date: "À la date", repeat_ends: "Se termine", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } };
8881
- const he = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", button_edit_occurrence_and_following: "This and following events", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurrences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", repeat_never: "אף פעם", repeat_daily: "כל יום", repeat_workdays: "כל יום עבודה", repeat_weekly: "כל שבוע", repeat_monthly: "כל חודש", repeat_yearly: "כל שנה", repeat_custom: "מותאם אישית", repeat_freq_day: "יום", repeat_freq_week: "שבוע", repeat_freq_month: "חודש", repeat_freq_year: "שנה", repeat_on_date: "בתאריך", repeat_ends: "מסתיים", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } };
8882
- const hu = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Napi", repeat_radio_week: "Heti", repeat_radio_month: "Havi", repeat_radio_year: "Éves", repeat_radio_day_type: "Minden", repeat_text_day_count: "nap", repeat_radio_day_type2: "Minden munkanap", repeat_week: " Ismételje meg minden", repeat_text_week_count: "héten a következő napokon:", repeat_radio_month_type: "Ismétlés", repeat_radio_month_start: "Ekkor", repeat_text_month_day: "nap minden", repeat_text_month_count: "hónapban", repeat_text_month_count2_before: "minden", repeat_text_month_count2_after: "hónapban", repeat_year_label: "Ekkor", select_year_day2: "-án/-én", repeat_text_year_day: "nap", select_year_month: "hónap", repeat_radio_end: "Nincs befejezési dátum", repeat_text_occurrences_count: "esemény", repeat_radio_end2: "Után", repeat_radio_end3: "Befejező dátum", repeat_never: "Soha", repeat_daily: "Minden nap", repeat_workdays: "Minden munkanap", repeat_weekly: "Minden héten", repeat_monthly: "Minden hónapban", repeat_yearly: "Minden évben", repeat_custom: "Egyedi", repeat_freq_day: "Nap", repeat_freq_week: "Hét", repeat_freq_month: "Hónap", repeat_freq_year: "Év", repeat_on_date: "Dátum szerint", repeat_ends: "Befejeződik", month_for_recurring: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], day_for_recurring: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"] } };
8883
- const id = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Harian", repeat_radio_week: "Mingguan", repeat_radio_month: "Bulanan", repeat_radio_year: "Tahunan", repeat_radio_day_type: "Setiap", repeat_text_day_count: "hari", repeat_radio_day_type2: "Setiap hari kerja", repeat_week: " Ulangi setiap", repeat_text_week_count: "minggu pada hari berikut:", repeat_radio_month_type: "Ulangi", repeat_radio_month_start: "Pada", repeat_text_month_day: "hari setiap", repeat_text_month_count: "bulan", repeat_text_month_count2_before: "setiap", repeat_text_month_count2_after: "bulan", repeat_year_label: "Pada", select_year_day2: "dari", repeat_text_year_day: "hari", select_year_month: "bulan", repeat_radio_end: "Tanpa tanggal akhir", repeat_text_occurrences_count: "kejadian", repeat_radio_end2: "Setelah", repeat_radio_end3: "Berakhir pada", repeat_never: "Tidak pernah", repeat_daily: "Setiap hari", repeat_workdays: "Setiap hari kerja", repeat_weekly: "Setiap minggu", repeat_monthly: "Setiap bulan", repeat_yearly: "Setiap tahun", repeat_custom: "Kustom", repeat_freq_day: "Hari", repeat_freq_week: "Minggu", repeat_freq_month: "Bulan", repeat_freq_year: "Tahun", repeat_on_date: "Pada tanggal", repeat_ends: "Berakhir", month_for_recurring: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"] } };
8884
- const it = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurrences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", repeat_never: "Mai", repeat_daily: "Ogni giorno", repeat_workdays: "Ogni giorno feriale", repeat_weekly: "Ogni settimana", repeat_monthly: "Ogni mese", repeat_yearly: "Ogni anno", repeat_custom: "Personalizzato", repeat_freq_day: "Giorno", repeat_freq_week: "Settimana", repeat_freq_month: "Mese", repeat_freq_year: "Anno", repeat_on_date: "Alla data", repeat_ends: "Finisce", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } };
8885
- const jp = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", button_edit_occurrence_and_following: "This and following events", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "毎日", repeat_radio_week: "毎週", repeat_radio_month: "毎月", repeat_radio_year: "毎年", repeat_radio_day_type: "毎", repeat_text_day_count: "日", repeat_radio_day_type2: "毎営業日", repeat_week: " 繰り返し毎", repeat_text_week_count: "週 次の日:", repeat_radio_month_type: "繰り返し", repeat_radio_month_start: "オン", repeat_text_month_day: "日毎", repeat_text_month_count: "月", repeat_text_month_count2_before: "毎", repeat_text_month_count2_after: "月", repeat_year_label: "オン", select_year_day2: "の", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "終了日なし", repeat_text_occurrences_count: "回数", repeat_radio_end2: "後", repeat_radio_end3: "終了日まで", repeat_never: "決して", repeat_daily: "毎日", repeat_workdays: "毎営業日", repeat_weekly: "毎週", repeat_monthly: "毎月", repeat_yearly: "毎年", repeat_custom: "カスタム", repeat_freq_day: "日", repeat_freq_week: "週", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "日にち", repeat_ends: "終了", month_for_recurring: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_for_recurring: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"] } };
8886
8886
  class LocaleManager {
8887
8887
  constructor(config) {
8888
8888
  this._locales = {};
@@ -8897,20 +8897,38 @@ class LocaleManager {
8897
8897
  return this._locales[name];
8898
8898
  }
8899
8899
  }
8900
- const nb = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Mon", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "I dag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny hendelse", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Rediger", icon_delete: "Slett", confirm_closing: "", confirm_deleting: "Hendelsen vil bli slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du forandre hele dette settet av repeterende hendelser?", section_recurring: "Repeter hendelsen", button_recurring: "Av", button_recurring_open: "", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Alle hverdager", repeat_week: " Gjentas hver", repeat_text_week_count: "uke på:", repeat_radio_month_type: "På hver", repeat_radio_month_start: "", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomst", repeat_radio_end3: "Stop den", repeat_radio_end2: "Etter", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Sondag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8901
- const nl = { date: { month_full: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"], day_short: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"] }, labels: { dhx_cal_today_button: "Vandaag", day_tab: "Dag", week_tab: "Week", month_tab: "Maand", new_event: "Nieuw item", icon_save: "Opslaan", icon_cancel: "Annuleren", icon_details: "Details", icon_edit: "Bewerken", icon_delete: "Verwijderen", confirm_closing: "", confirm_deleting: "Item zal permanent worden verwijderd, doorgaan?", section_description: "Beschrijving", section_time: "Tijd periode", full_day: "Hele dag", confirm_recurring: "Wilt u alle terugkerende items bijwerken?", section_recurring: "Item herhalen", button_recurring: "Uit", button_recurring_open: "Aan", button_edit_series: "Bewerk de serie", button_edit_occurrence: "Bewerk een kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Omschrijving", year_tab: "Jaar", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagelijks", repeat_radio_week: "Wekelijks", repeat_radio_month: "Maandelijks", repeat_radio_year: "Jaarlijks", repeat_radio_day_type: "Elke", repeat_text_day_count: "dag(en)", repeat_radio_day_type2: "Elke werkdag", repeat_week: " Herhaal elke", repeat_text_week_count: "week op de volgende dagen:", repeat_radio_month_type: "Herhaal", repeat_radio_month_start: "Op", repeat_text_month_day: "dag iedere", repeat_text_month_count: "maanden", repeat_text_month_count2_before: "iedere", repeat_text_month_count2_after: "maanden", repeat_year_label: "Op", select_year_day2: "van", repeat_text_year_day: "dag", select_year_month: "maand", repeat_radio_end: "Geen eind datum", repeat_text_occurrences_count: "keren", repeat_radio_end3: "Eindigd per", repeat_radio_end2: "Na", repeat_never: "Nooit", repeat_daily: "Elke dag", repeat_workdays: "Elke werkdag", repeat_weekly: "Elke week", repeat_monthly: "Elke maand", repeat_yearly: "Elk jaar", repeat_custom: "Aangepast", repeat_freq_day: "Dag", repeat_freq_week: "Week", repeat_freq_month: "Maand", repeat_freq_year: "Jaar", repeat_on_date: "Op datum", repeat_ends: "Eindigt", month_for_recurring: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], day_for_recurring: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"] } };
8902
- const no = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Endre", icon_delete: "Slett", confirm_closing: "Endringer blir ikke lagret, er du sikker?", confirm_deleting: "Oppføringen vil bli slettet, er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", full_day: "Full dag", confirm_recurring: "Vil du endre hele settet med repeterende oppføringer?", section_recurring: "Repeterende oppføring", button_recurring: "Ikke aktiv", button_recurring_open: "Aktiv", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Hver arbeidsdag", repeat_week: " Gjenta hver", repeat_text_week_count: "uke neste dager:", repeat_radio_month_type: "Gjenta", repeat_radio_month_start: "", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "", select_year_day2: "av", repeat_text_year_day: "dag", select_year_month: "måned", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomster", repeat_radio_end2: "Etter", repeat_radio_end3: "Slutt innen", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8903
- const pl = { date: { month_full: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], month_short: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"], day_full: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], day_short: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"] }, labels: { dhx_cal_today_button: "Dziś", day_tab: "Dzień", week_tab: "Tydzień", month_tab: "Miesiąc", new_event: "Nowe zdarzenie", icon_save: "Zapisz", icon_cancel: "Anuluj", icon_details: "Szczegóły", icon_edit: "Edytuj", icon_delete: "Usuń", confirm_closing: "", confirm_deleting: "Zdarzenie zostanie usunięte na zawsze, kontynuować?", section_description: "Opis", section_time: "Okres czasu", full_day: "Cały dzień", confirm_recurring: "Czy chcesz edytować cały zbiór powtarzających się zdarzeń?", section_recurring: "Powtórz zdarzenie", button_recurring: "Nieaktywne", button_recurring_open: "Aktywne", button_edit_series: "Edytuj serię", button_edit_occurrence: "Edytuj kopię", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Opis", year_tab: "Rok", week_agenda_tab: "Agenda", grid_tab: "Tabela", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Codziennie", repeat_radio_week: "Co tydzie", repeat_radio_month: "Co miesic", repeat_radio_year: "Co rok", repeat_radio_day_type: "Kadego", repeat_text_day_count: "dnia", repeat_radio_day_type2: "Kadego dnia roboczego", repeat_week: " Powtarzaj kadego", repeat_text_week_count: "tygodnia w dni:", repeat_radio_month_type: "Powtrz", repeat_radio_month_start: "W", repeat_text_month_day: "dnia kadego", repeat_text_month_count: "miesica", repeat_text_month_count2_before: "kadego", repeat_text_month_count2_after: "miesica", repeat_year_label: "W", select_year_day2: "miesica", repeat_text_year_day: "dnia miesica", select_year_month: "", repeat_radio_end: "Bez daty kocowej", repeat_text_occurrences_count: "wystpieniu/ach", repeat_radio_end3: "Zakocz w", repeat_radio_end2: "Po", repeat_never: "Nigdy", repeat_daily: "Codziennie", repeat_workdays: "Każdy dzień roboczy", repeat_weekly: "Co tydzień", repeat_monthly: "Co miesiąc", repeat_yearly: "Co rok", repeat_custom: "Niestandardowy", repeat_freq_day: "Dzień", repeat_freq_week: "Tydzień", repeat_freq_month: "Miesiąc", repeat_freq_year: "Rok", repeat_on_date: "W dniu", repeat_ends: "Kończy się", month_for_recurring: ["Stycznia", "Lutego", "Marca", "Kwietnia", "Maja", "Czerwca", "Lipca", "Sierpnia", "Wrzenia", "Padziernka", "Listopada", "Grudnia"], day_for_recurring: ["Niedziela", "Poniedziaek", "Wtorek", "roda", "Czwartek", "Pitek", "Sobota"] } };
8904
- const pt = { date: { month_full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], month_short: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], day_full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], day_short: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"] }, labels: { dhx_cal_today_button: "Hoje", day_tab: "Dia", week_tab: "Semana", month_tab: "Mês", new_event: "Novo evento", icon_save: "Salvar", icon_cancel: "Cancelar", icon_details: "Detalhes", icon_edit: "Editar", icon_delete: "Deletar", confirm_closing: "", confirm_deleting: "Tem certeza que deseja excluir?", section_description: "Descrição", section_time: "Período de tempo", full_day: "Dia inteiro", confirm_recurring: "Deseja editar todos esses eventos repetidos?", section_recurring: "Repetir evento", button_recurring: "Desabilitar", button_recurring_open: "Habilitar", button_edit_series: "Editar a série", button_edit_occurrence: "Editar uma cópia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dia", date: "Data", description: "Descrição", year_tab: "Ano", week_agenda_tab: "Dia", grid_tab: "Grade", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diário", repeat_radio_week: "Semanal", repeat_radio_month: "Mensal", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia(s)", repeat_radio_day_type2: "Cada trabalho diário", repeat_week: " Repita cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "Em", repeat_text_month_day: "todo dia", repeat_text_month_count: "mês", repeat_text_month_count2_before: "todo", repeat_text_month_count2_after: "mês", repeat_year_label: "Em", select_year_day2: "of", repeat_text_year_day: "dia", select_year_month: "mês", repeat_radio_end: "Sem data final", repeat_text_occurrences_count: "ocorrências", repeat_radio_end3: "Fim", repeat_radio_end2: "Depois", repeat_never: "Nunca", repeat_daily: "Todos os dias", repeat_workdays: "Todos os dias úteis", repeat_weekly: "Toda semana", repeat_monthly: "Todo mês", repeat_yearly: "Todo ano", repeat_custom: "Personalizado", repeat_freq_day: "Dia", repeat_freq_week: "Semana", repeat_freq_month: "Mês", repeat_freq_year: "Ano", repeat_on_date: "Na data", repeat_ends: "Termina", month_for_recurring: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], day_for_recurring: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] } };
8905
- const ro = { date: { month_full: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "November", "December"], month_short: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"], day_short: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sa"] }, labels: { dhx_cal_today_button: "Astazi", day_tab: "Zi", week_tab: "Saptamana", month_tab: "Luna", new_event: "Eveniment nou", icon_save: "Salveaza", icon_cancel: "Anuleaza", icon_details: "Detalii", icon_edit: "Editeaza", icon_delete: "Sterge", confirm_closing: "Schimbarile nu vor fi salvate, esti sigur?", confirm_deleting: "Evenimentul va fi sters permanent, esti sigur?", section_description: "Descriere", section_time: "Interval", full_day: "Toata ziua", confirm_recurring: "Vrei sa editezi toata seria de evenimente repetate?", section_recurring: "Repetare", button_recurring: "Dezactivata", button_recurring_open: "Activata", button_edit_series: "Editeaza serie", button_edit_occurrence: "Editeaza doar intrare", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descriere", year_tab: "An", week_agenda_tab: "Agenda", grid_tab: "Lista", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Zilnic", repeat_radio_week: "Saptamanal", repeat_radio_month: "Lunar", repeat_radio_year: "Anual", repeat_radio_day_type: "La fiecare", repeat_text_day_count: "zi(le)", repeat_radio_day_type2: "Fiecare zi lucratoare", repeat_week: " Repeta la fiecare", repeat_text_week_count: "saptamana in urmatoarele zile:", repeat_radio_month_type: "Repeta in", repeat_radio_month_start: "In a", repeat_text_month_day: "zi la fiecare", repeat_text_month_count: "luni", repeat_text_month_count2_before: "la fiecare", repeat_text_month_count2_after: "luni", repeat_year_label: "In", select_year_day2: "a lunii", repeat_text_year_day: "zi a lunii", select_year_month: "", repeat_radio_end: "Fara data de sfarsit", repeat_text_occurrences_count: "evenimente", repeat_radio_end3: "La data", repeat_radio_end2: "Dupa", repeat_never: "Niciodată", repeat_daily: "În fiecare zi", repeat_workdays: "În fiecare zi lucrătoare", repeat_weekly: "În fiecare săptămână", repeat_monthly: "În fiecare lună", repeat_yearly: "În fiecare an", repeat_custom: "Personalizat", repeat_freq_day: "Zi", repeat_freq_week: "Săptămână", repeat_freq_month: "Lună", repeat_freq_year: "An", repeat_on_date: "La data", repeat_ends: "Se termină", month_for_recurring: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], day_for_recurring: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"] } };
8906
- const ru = { date: { month_full: ["Январь", "Февраль", "Март", "Апрель", "Maй", "Июнь", "Июль", "Август", "Сентябрь", "Oктябрь", "Ноябрь", "Декабрь"], month_short: ["Янв", "Фев", "Maр", "Aпр", "Maй", "Июн", "Июл", "Aвг", "Сен", "Окт", "Ноя", "Дек"], day_full: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], day_short: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сегодня", day_tab: "День", week_tab: "Неделя", month_tab: "Месяц", new_event: "Новое событие", icon_save: "Сохранить", icon_cancel: "Отменить", icon_details: "Детали", icon_edit: "Изменить", icon_delete: "Удалить", confirm_closing: "", confirm_deleting: "Событие будет удалено безвозвратно, продолжить?", section_description: "Описание", section_time: "Период времени", full_day: "Весь день", confirm_recurring: "Вы хотите изменить всю серию повторяющихся событий?", section_recurring: "Повторение", button_recurring: "Отключено", button_recurring_open: "Включено", button_edit_series: "Редактировать серию", button_edit_occurrence: "Редактировать экземпляр", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Список", date: "Дата", description: "Описание", year_tab: "Год", week_agenda_tab: "Список", grid_tab: "Таблица", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Неделя", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Каждый", repeat_text_day_count: "день", repeat_radio_day_type2: "Каждый рабочий день", repeat_week: " Повторять каждую", repeat_text_week_count: "неделю , в:", repeat_radio_month_type: "Повторять", repeat_radio_month_start: "", repeat_text_month_day: " числа каждый ", repeat_text_month_count: "месяц", repeat_text_month_count2_before: "каждый ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без даты окончания", repeat_text_occurrences_count: "повторений", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Никогда", repeat_daily: "Каждый день", repeat_workdays: "Каждый будний день", repeat_weekly: "Каждую неделю", repeat_monthly: "Каждый месяц", repeat_yearly: "Каждый год", repeat_custom: "Настроить", repeat_freq_day: "День", repeat_freq_week: "Неделя", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "В дату", repeat_ends: "Заканчивается", month_for_recurring: ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"], day_for_recurring: ["Воскресенье", "Понедельник", "Вторник", "Среду", "Четверг", "Пятницу", "Субботу"] } };
8907
- const si = { date: { month_full: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"], day_short: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"] }, labels: { dhx_cal_today_button: "Danes", day_tab: "Dan", week_tab: "Teden", month_tab: "Mesec", new_event: "Nov dogodek", icon_save: "Shrani", icon_cancel: "Prekliči", icon_details: "Podrobnosti", icon_edit: "Uredi", icon_delete: "Izbriši", confirm_closing: "", confirm_deleting: "Dogodek bo izbrisan. Želite nadaljevati?", section_description: "Opis", section_time: "Časovni okvir", full_day: "Ves dan", confirm_recurring: "Želite urediti celoten set ponavljajočih dogodkov?", section_recurring: "Ponovi dogodek", button_recurring: "Onemogočeno", button_recurring_open: "Omogočeno", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Zadeva", date: "Datum", description: "Opis", year_tab: "Leto", week_agenda_tab: "Zadeva", grid_tab: "Miza", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dnevno", repeat_radio_week: "Tedensko", repeat_radio_month: "Mesečno", repeat_radio_year: "Letno", repeat_radio_day_type: "Vsak", repeat_text_day_count: "dan", repeat_radio_day_type2: "Vsak delovni dan", repeat_week: " Ponavljaj vsak", repeat_text_week_count: "teden na naslednje dni:", repeat_radio_month_type: "Ponavljaj", repeat_radio_month_start: "Na", repeat_text_month_day: "dan vsak", repeat_text_month_count: "mesec", repeat_text_month_count2_before: "vsak", repeat_text_month_count2_after: "mesec", repeat_year_label: "Na", select_year_day2: "od", repeat_text_year_day: "dan", select_year_month: "mesec", repeat_radio_end: "Brez končnega datuma", repeat_text_occurrences_count: "pojavitve", repeat_radio_end2: "Po", repeat_radio_end3: "Končaj do", repeat_never: "Nikoli", repeat_daily: "Vsak dan", repeat_workdays: "Vsak delovni dan", repeat_weekly: "Vsak teden", repeat_monthly: "Vsak mesec", repeat_yearly: "Vsako leto", repeat_custom: "Po meri", repeat_freq_day: "Dan", repeat_freq_week: "Teden", repeat_freq_month: "Mesec", repeat_freq_year: "Leto", repeat_on_date: "Na datum", repeat_ends: "Konča se", month_for_recurring: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], day_for_recurring: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"] } };
8908
- const sk = { date: { month_full: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sept", "Okt", "Nov", "Dec"], day_full: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], day_short: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Deň", week_tab: "Týždeň", month_tab: "Mesiac", new_event: "Nová udalosť", icon_save: "Uložiť", icon_cancel: "Späť", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Zmazať", confirm_closing: "Vaše zmeny nebudú uložené. Skutočne?", confirm_deleting: "Udalosť bude natrvalo vymazaná. Skutočne?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Prajete si upraviť celú radu opakovaných udalostí?", section_recurring: "Opakovanie udalosti", button_recurring: "Vypnuté", button_recurring_open: "Zapnuté", button_edit_series: "Upraviť opakovania", button_edit_occurrence: "Upraviť inštancie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Dátum", description: "Poznámka", year_tab: "Rok", full_day: "Celý deň", week_agenda_tab: "Program", grid_tab: "Mriežka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denne", repeat_radio_week: "Týždenne", repeat_radio_month: "Mesaène", repeat_radio_year: "Roène", repeat_radio_day_type: "Každý", repeat_text_day_count: "deò", repeat_radio_day_type2: "Každý prac. deò", repeat_week: "Opakova každý", repeat_text_week_count: "týždeò v dòoch:", repeat_radio_month_type: "Opakova", repeat_radio_month_start: "On", repeat_text_month_day: "deò každý", repeat_text_month_count: "mesiac", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "mesiac", repeat_year_label: "On", select_year_day2: "poèas", repeat_text_year_day: "deò", select_year_month: "mesiac", repeat_radio_end: "Bez dátumu ukonèenia", repeat_text_occurrences_count: "udalostiach", repeat_radio_end3: "Ukonèi", repeat_radio_end2: "Po", repeat_never: "Nikdy", repeat_daily: "Každý deň", repeat_workdays: "Každý pracovný deň", repeat_weekly: "Každý týždeň", repeat_monthly: "Každý mesiac", repeat_yearly: "Každý rok", repeat_custom: "Vlastné", repeat_freq_day: "Deň", repeat_freq_week: "Týždeň", repeat_freq_month: "Mesiac", repeat_freq_year: "Rok", repeat_on_date: "Na dátum", repeat_ends: "Koniec", month_for_recurring: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], day_for_recurring: ["Nede¾a", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"] } };
8909
- const sv = { date: { month_full: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], day_short: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Vecka", month_tab: "Månad", new_event: "Ny händelse", icon_save: "Spara", icon_cancel: "Ångra", icon_details: "Detaljer", icon_edit: "Ändra", icon_delete: "Ta bort", confirm_closing: "", confirm_deleting: "Är du säker att du vill ta bort händelsen permanent?", section_description: "Beskrivning", section_time: "Tid", full_day: "Hela dagen", confirm_recurring: "Vill du redigera hela serien med repeterande händelser?", section_recurring: "Upprepa händelse", button_recurring: "Inaktiverat", button_recurring_open: "Aktiverat", button_edit_series: "Redigera serien", button_edit_occurrence: "Redigera en kopia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagordning", date: "Datum", description: "Beskrivning", year_tab: "År", week_agenda_tab: "Dagordning", grid_tab: "Galler", drag_to_create: "Dra för att skapa ny", drag_to_move: "Dra för att flytta", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagligen", repeat_radio_week: "Veckovis", repeat_radio_month: "Månadsvis", repeat_radio_year: "Årligen", repeat_radio_day_type: "Var", repeat_text_day_count: "dag", repeat_radio_day_type2: "Varje arbetsdag", repeat_week: " Upprepa var", repeat_text_week_count: "vecka dessa dagar:", repeat_radio_month_type: "Upprepa", repeat_radio_month_start: "Den", repeat_text_month_day: "dagen var", repeat_text_month_count: "månad", repeat_text_month_count2_before: "var", repeat_text_month_count2_after: "månad", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "månad", repeat_radio_end: "Inget slutdatum", repeat_text_occurrences_count: "upprepningar", repeat_radio_end3: "Sluta efter", repeat_radio_end2: "Efter", repeat_never: "Aldrig", repeat_daily: "Varje dag", repeat_workdays: "Varje vardag", repeat_weekly: "Varje vecka", repeat_monthly: "Varje månad", repeat_yearly: "Varje år", repeat_custom: "Anpassad", repeat_freq_day: "Dag", repeat_freq_week: "Vecka", repeat_freq_month: "Månad", repeat_freq_year: "År", repeat_on_date: " datum", repeat_ends: "Slutar", month_for_recurring: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], day_for_recurring: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"] } };
8910
- const tr = { date: { month_full: ["Ocak", "Þubat", "Mart", "Nisan", "Mayýs", "Haziran", "Temmuz", "Aðustos", "Eylül", "Ekim", "Kasým", "Aralýk"], month_short: ["Oca", "Þub", "Mar", "Nis", "May", "Haz", "Tem", "Aðu", "Eyl", "Eki", "Kas", "Ara"], day_full: ["Pazar", "Pazartes,", "Salý", "Çarþamba", "Perþembe", "Cuma", "Cumartesi"], day_short: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"] }, labels: { dhx_cal_today_button: "Bugün", day_tab: "Gün", week_tab: "Hafta", month_tab: "Ay", new_event: "Uygun", icon_save: "Kaydet", icon_cancel: "Ýptal", icon_details: "Detaylar", icon_edit: "Düzenle", icon_delete: "Sil", confirm_closing: "", confirm_deleting: "Etkinlik silinecek, devam?", section_description: "Açýklama", section_time: "Zaman aralýðý", full_day: "Tam gün", confirm_recurring: "Tüm tekrar eden etkinlikler silinecek, devam?", section_recurring: "Etkinliði tekrarla", button_recurring: "Pasif", button_recurring_open: "Aktif", button_edit_series: "Dizi düzenleme", button_edit_occurrence: "Bir kopyasını düzenleyin", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ajanda", date: "Tarih", description: "Açýklama", year_tab: "Yýl", week_agenda_tab: "Ajanda", grid_tab: "Izgara", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Günlük", repeat_radio_week: "Haftalık", repeat_radio_month: "Aylık", repeat_radio_year: "Yıllık", repeat_radio_day_type: "Her", repeat_text_day_count: "gün", repeat_radio_day_type2: "Her iş günü", repeat_week: " Tekrar her", repeat_text_week_count: "hafta şu günlerde:", repeat_radio_month_type: "Tekrar et", repeat_radio_month_start: "Tarihinde", repeat_text_month_day: "gün her", repeat_text_month_count: "ay", repeat_text_month_count2_before: "her", repeat_text_month_count2_after: "ay", repeat_year_label: "Tarihinde", select_year_day2: "ayın", repeat_text_year_day: "günü", select_year_month: "ay", repeat_radio_end: "Bitiş tarihi yok", repeat_text_occurrences_count: "olay", repeat_radio_end2: "Sonra", repeat_radio_end3: "Tarihinde bitir", repeat_never: "Asla", repeat_daily: "Her gün", repeat_workdays: "Her iş günü", repeat_weekly: "Her hafta", repeat_monthly: "Her ay", repeat_yearly: "Her yıl", repeat_custom: "Özel", repeat_freq_day: "Gün", repeat_freq_week: "Hafta", repeat_freq_month: "Ay", repeat_freq_year: "Yıl", repeat_on_date: "Tarihinde", repeat_ends: "Biter", month_for_recurring: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], day_for_recurring: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"] } };
8911
- const ua = { date: { month_full: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], month_short: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], day_full: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], day_short: ["Нед", "Пон", "Вів", "Сер", "Чет", "Птн", "Суб"] }, labels: { dhx_cal_today_button: "Сьогодні", day_tab: "День", week_tab: "Тиждень", month_tab: "Місяць", new_event: "Нова подія", icon_save: "Зберегти", icon_cancel: "Відміна", icon_details: "Деталі", icon_edit: "Редагувати", icon_delete: "Вилучити", confirm_closing: "", confirm_deleting: "Подія вилучиться назавжди. Ви впевнені?", section_description: "Опис", section_time: "Часовий проміжок", full_day: "Весь день", confirm_recurring: "Хочете редагувати весь перелік повторюваних подій?", section_recurring: "Повторювана подія", button_recurring: "Відключено", button_recurring_open: "Включено", button_edit_series: "Редагувати серію", button_edit_occurrence: "Редагувати примірник", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Перелік", date: "Дата", description: "Опис", year_tab: "Рік", week_agenda_tab: "Перелік", grid_tab: "Таблиця", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Тиждень", repeat_radio_month: "Місяць", repeat_radio_year: "Рік", repeat_radio_day_type: "Кожний", repeat_text_day_count: "день", repeat_radio_day_type2: "Кожний робочий день", repeat_week: " Повторювати кожен", repeat_text_week_count: "тиждень , по:", repeat_radio_month_type: "Повторювати", repeat_radio_month_start: "", repeat_text_month_day: " числа кожний ", repeat_text_month_count: "місяць", repeat_text_month_count2_before: "кожен ", repeat_text_month_count2_after: "місяць", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без дати закінчення", repeat_text_occurrences_count: "повторень", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Ніколи", repeat_daily: "Щодня", repeat_workdays: "Щодня в робочі дні", repeat_weekly: "Щотижня", repeat_monthly: "Щомісяця", repeat_yearly: "Щороку", repeat_custom: "Налаштоване", repeat_freq_day: "День", repeat_freq_week: "Тиждень", repeat_freq_month: "Місяць", repeat_freq_year: "Рік", repeat_on_date: "На дату", repeat_ends: "Закінчується", month_for_recurring: ["січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"], day_for_recurring: ["Неділям", "Понеділкам", "Вівторкам", "Середам", "Четвергам", "П'ятницям", "Суботам"] } };
8900
+ const locale_ar = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", button_edit_occurrence_and_following: "This and following events", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "يومي", repeat_radio_week: "أسبوعي", repeat_radio_month: "شهري", repeat_radio_year: "سنوي", repeat_radio_day_type: "كل", repeat_text_day_count: "يوم", repeat_radio_day_type2: "كل يوم عمل", repeat_week: " تكرار كل", repeat_text_week_count: "أسبوع في الأيام التالية:", repeat_radio_month_type: "تكرار", repeat_radio_month_start: "في", repeat_text_month_day: "يوم كل", repeat_text_month_count: "شهر", repeat_text_month_count2_before: "كل", repeat_text_month_count2_after: "شهر", repeat_year_label: "في", select_year_day2: "من", repeat_text_year_day: "يوم", select_year_month: "شهر", repeat_radio_end: "بدون تاريخ انتهاء", repeat_text_occurrences_count: "تكرارات", repeat_radio_end2: "بعد", repeat_radio_end3: "ينتهي في", repeat_never: "أبداً", repeat_daily: "كل يوم", repeat_workdays: "كل يوم عمل", repeat_weekly: "كل أسبوع", repeat_monthly: "كل شهر", repeat_yearly: "كل سنة", repeat_custom: "تخصيص", repeat_freq_day: "يوم", repeat_freq_week: "أسبوع", repeat_freq_month: "شهر", repeat_freq_year: "سنة", repeat_on_date: "في التاريخ", repeat_ends: "ينتهي", month_for_recurring: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_for_recurring: ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"] } };
8901
+ const locale_be = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurrences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", repeat_never: "Ніколі", repeat_daily: "Кожны дзень", repeat_workdays: "Кожны працоўны дзень", repeat_weekly: "Кожны тыдзень", repeat_monthly: "Кожны месяц", repeat_yearly: "Кожны год", repeat_custom: "Наладжвальны", repeat_freq_day: "Дзень", repeat_freq_week: "Тыдзень", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "На дату", repeat_ends: "Заканчваецца", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } };
8902
+ const locale_ca = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diari", repeat_radio_week: "Setmanal", repeat_radio_month: "Mensual", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada dia laborable", repeat_week: " Repetir cada", repeat_text_week_count: "setmana els dies següents:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "de", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sense data de finalització", repeat_text_occurrences_count: "ocurrències", repeat_radio_end2: "Després", repeat_radio_end3: "Finalitzar el", repeat_never: "Mai", repeat_daily: "Cada dia", repeat_workdays: "Cada dia laborable", repeat_weekly: "Cada setmana", repeat_monthly: "Cada mes", repeat_yearly: "Cada any", repeat_custom: "Personalitzat", repeat_freq_day: "Dia", repeat_freq_week: "Setmana", repeat_freq_month: "Mes", repeat_freq_year: "Any", repeat_on_date: "En la data", repeat_ends: "Finalitza", month_for_recurring: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], day_for_recurring: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"] } };
8903
+ const locale_cn = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["", "", "", "", "", "", ""] }, labels: { dhx_cal_today_button: "今天", day_tab: "", week_tab: "", month_tab: "", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", button_edit_occurrence_and_following: "This and following events", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "", repeat_text_day_count: "", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 ", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "", repeat_text_month_day: " ", repeat_text_month_count: "", repeat_text_month_count2_before: "", repeat_text_month_count2_after: "", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "", select_year_month: "", repeat_radio_end: "无结束日期", repeat_text_occurrences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", repeat_never: "从不", repeat_daily: "每天", repeat_workdays: "每个工作日", repeat_weekly: "每周", repeat_monthly: "每月", repeat_yearly: "每年", repeat_custom: "自定义", repeat_freq_day: "", repeat_freq_week: "", repeat_freq_month: "", repeat_freq_year: "", repeat_on_date: "在日期", repeat_ends: "结束", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } };
8904
+ const locale_cs = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurrences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", repeat_never: "Nikdy", repeat_daily: "Každý den", repeat_workdays: "Každý pracovní den", repeat_weekly: "Každý týden", repeat_monthly: "Každý měsíc", repeat_yearly: "Každý rok", repeat_custom: "Vlastní", repeat_freq_day: "Den", repeat_freq_week: "Týden", repeat_freq_month: "Měsíc", repeat_freq_year: "Rok", repeat_on_date: "Na datum", repeat_ends: "Končí", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } };
8905
+ const locale_da = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: " hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurrences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", repeat_never: "Aldrig", repeat_daily: "Hver dag", repeat_workdays: "Hver hverdag", repeat_weekly: "Hver uge", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Brugerdefineret", repeat_freq_day: "Dag", repeat_freq_week: "Uge", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: " dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8906
+ const locale_de = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurrences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", repeat_never: "Nie", repeat_daily: "Jeden Tag", repeat_workdays: "Jeden Werktag", repeat_weekly: "Jede Woche", repeat_monthly: "Jeden Monat", repeat_yearly: "Jedes Jahr", repeat_custom: "Benutzerdefiniert", repeat_freq_day: "Tag", repeat_freq_week: "Woche", repeat_freq_month: "Monat", repeat_freq_year: "Jahr", repeat_on_date: "Am Datum", repeat_ends: "Endet", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } };
8907
+ const locale_el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurrences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", repeat_never: "Ποτέ", repeat_daily: "Κάθε μέρα", repeat_workdays: "Κάθε εργάσιμη μέρα", repeat_weekly: "Κάθε εβδομάδα", repeat_monthly: "Κάθε μήνα", repeat_yearly: "Κάθε χρόνο", repeat_custom: "Προσαρμοσμένο", repeat_freq_day: "Ημέρα", repeat_freq_week: "Εβδομάδα", repeat_freq_month: "Μήνας", repeat_freq_year: "Χρόνος", repeat_on_date: "Σε ημερομηνία", repeat_ends: "Λήγει", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
8908
+ const locale_en = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Edit recurring event", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "All events", button_edit_occurrence: "This event", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurrences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", repeat_never: "Never", repeat_daily: "Every day", repeat_workdays: "Every weekday", repeat_weekly: "Every week", repeat_monthly: "Every month", repeat_yearly: "Every year", repeat_custom: "Custom", repeat_freq_day: "Day", repeat_freq_week: "Week", repeat_freq_month: "Month", repeat_freq_year: "Year", repeat_on_date: "On date", repeat_ends: "Ends", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } };
8909
+ const locale_es = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurrences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", repeat_never: "Nunca", repeat_daily: "Cada día", repeat_workdays: "Cada día laborable", repeat_weekly: "Cada semana", repeat_monthly: "Cada mes", repeat_yearly: "Cada año", repeat_custom: "Personalizado", repeat_freq_day: "Día", repeat_freq_week: "Semana", repeat_freq_month: "Mes", repeat_freq_year: "Año", repeat_on_date: "En la fecha", repeat_ends: "Termina", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } };
8910
+ const locale_fi = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurrences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", repeat_never: "Ei koskaan", repeat_daily: "Joka päivä", repeat_workdays: "Joka arkipäivä", repeat_weekly: "Joka viikko", repeat_monthly: "Joka kuukausi", repeat_yearly: "Joka vuosi", repeat_custom: "Mukautettu", repeat_freq_day: "Päivä", repeat_freq_week: "Viikko", repeat_freq_month: "Kuukausi", repeat_freq_year: "Vuosi", repeat_on_date: "Tiettynä päivänä", repeat_ends: "Päättyy", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } };
8911
+ const locale_fr = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurrences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", repeat_never: "Jamais", repeat_daily: "Chaque jour", repeat_workdays: "Chaque jour ouvrable", repeat_weekly: "Chaque semaine", repeat_monthly: "Chaque mois", repeat_yearly: "Chaque année", repeat_custom: "Personnalisé", repeat_freq_day: "Jour", repeat_freq_week: "Semaine", repeat_freq_month: "Mois", repeat_freq_year: "Année", repeat_on_date: "À la date", repeat_ends: "Se termine", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } };
8912
+ const locale_he = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", button_edit_occurrence_and_following: "This and following events", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurrences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", repeat_never: "אף פעם", repeat_daily: "כל יום", repeat_workdays: "כל יום עבודה", repeat_weekly: "כל שבוע", repeat_monthly: "כל חודש", repeat_yearly: "כל שנה", repeat_custom: "מותאם אישית", repeat_freq_day: "יום", repeat_freq_week: "שבוע", repeat_freq_month: "חודש", repeat_freq_year: "שנה", repeat_on_date: "בתאריך", repeat_ends: "מסתיים", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } };
8913
+ const locale_hu = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Napi", repeat_radio_week: "Heti", repeat_radio_month: "Havi", repeat_radio_year: "Éves", repeat_radio_day_type: "Minden", repeat_text_day_count: "nap", repeat_radio_day_type2: "Minden munkanap", repeat_week: " Ismételje meg minden", repeat_text_week_count: "héten a következő napokon:", repeat_radio_month_type: "Ismétlés", repeat_radio_month_start: "Ekkor", repeat_text_month_day: "nap minden", repeat_text_month_count: "hónapban", repeat_text_month_count2_before: "minden", repeat_text_month_count2_after: "hónapban", repeat_year_label: "Ekkor", select_year_day2: "-án/-én", repeat_text_year_day: "nap", select_year_month: "hónap", repeat_radio_end: "Nincs befejezési dátum", repeat_text_occurrences_count: "esemény", repeat_radio_end2: "Után", repeat_radio_end3: "Befejező dátum", repeat_never: "Soha", repeat_daily: "Minden nap", repeat_workdays: "Minden munkanap", repeat_weekly: "Minden héten", repeat_monthly: "Minden hónapban", repeat_yearly: "Minden évben", repeat_custom: "Egyedi", repeat_freq_day: "Nap", repeat_freq_week: "Hét", repeat_freq_month: "Hónap", repeat_freq_year: "Év", repeat_on_date: "Dátum szerint", repeat_ends: "Befejeződik", month_for_recurring: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], day_for_recurring: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"] } };
8914
+ const locale_id = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Harian", repeat_radio_week: "Mingguan", repeat_radio_month: "Bulanan", repeat_radio_year: "Tahunan", repeat_radio_day_type: "Setiap", repeat_text_day_count: "hari", repeat_radio_day_type2: "Setiap hari kerja", repeat_week: " Ulangi setiap", repeat_text_week_count: "minggu pada hari berikut:", repeat_radio_month_type: "Ulangi", repeat_radio_month_start: "Pada", repeat_text_month_day: "hari setiap", repeat_text_month_count: "bulan", repeat_text_month_count2_before: "setiap", repeat_text_month_count2_after: "bulan", repeat_year_label: "Pada", select_year_day2: "dari", repeat_text_year_day: "hari", select_year_month: "bulan", repeat_radio_end: "Tanpa tanggal akhir", repeat_text_occurrences_count: "kejadian", repeat_radio_end2: "Setelah", repeat_radio_end3: "Berakhir pada", repeat_never: "Tidak pernah", repeat_daily: "Setiap hari", repeat_workdays: "Setiap hari kerja", repeat_weekly: "Setiap minggu", repeat_monthly: "Setiap bulan", repeat_yearly: "Setiap tahun", repeat_custom: "Kustom", repeat_freq_day: "Hari", repeat_freq_week: "Minggu", repeat_freq_month: "Bulan", repeat_freq_year: "Tahun", repeat_on_date: "Pada tanggal", repeat_ends: "Berakhir", month_for_recurring: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"] } };
8915
+ const locale_it = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurrences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", repeat_never: "Mai", repeat_daily: "Ogni giorno", repeat_workdays: "Ogni giorno feriale", repeat_weekly: "Ogni settimana", repeat_monthly: "Ogni mese", repeat_yearly: "Ogni anno", repeat_custom: "Personalizzato", repeat_freq_day: "Giorno", repeat_freq_week: "Settimana", repeat_freq_month: "Mese", repeat_freq_year: "Anno", repeat_on_date: "Alla data", repeat_ends: "Finisce", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } };
8916
+ const locale_jp = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", button_edit_occurrence_and_following: "This and following events", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "毎日", repeat_radio_week: "毎週", repeat_radio_month: "毎月", repeat_radio_year: "毎年", repeat_radio_day_type: "毎", repeat_text_day_count: "日", repeat_radio_day_type2: "毎営業日", repeat_week: " 繰り返し毎", repeat_text_week_count: "週 次の日:", repeat_radio_month_type: "繰り返し", repeat_radio_month_start: "オン", repeat_text_month_day: "日毎", repeat_text_month_count: "月", repeat_text_month_count2_before: "毎", repeat_text_month_count2_after: "月", repeat_year_label: "オン", select_year_day2: "の", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "終了日なし", repeat_text_occurrences_count: "回数", repeat_radio_end2: "後", repeat_radio_end3: "終了日まで", repeat_never: "決して", repeat_daily: "毎日", repeat_workdays: "毎営業日", repeat_weekly: "毎週", repeat_monthly: "毎月", repeat_yearly: "毎年", repeat_custom: "カスタム", repeat_freq_day: "日", repeat_freq_week: "週", repeat_freq_month: "月", repeat_freq_year: "年", repeat_on_date: "日にち", repeat_ends: "終了", month_for_recurring: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_for_recurring: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"] } };
8917
+ const locale_nb = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Mon", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "I dag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny hendelse", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Rediger", icon_delete: "Slett", confirm_closing: "", confirm_deleting: "Hendelsen vil bli slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du forandre hele dette settet av repeterende hendelser?", section_recurring: "Repeter hendelsen", button_recurring: "Av", button_recurring_open: "På", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Alle hverdager", repeat_week: " Gjentas hver", repeat_text_week_count: "uke på:", repeat_radio_month_type: "På hver", repeat_radio_month_start: "På", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "på", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomst", repeat_radio_end3: "Stop den", repeat_radio_end2: "Etter", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Sondag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8918
+ const locale_nl = { date: { month_full: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"], day_short: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za"] }, labels: { dhx_cal_today_button: "Vandaag", day_tab: "Dag", week_tab: "Week", month_tab: "Maand", new_event: "Nieuw item", icon_save: "Opslaan", icon_cancel: "Annuleren", icon_details: "Details", icon_edit: "Bewerken", icon_delete: "Verwijderen", confirm_closing: "", confirm_deleting: "Item zal permanent worden verwijderd, doorgaan?", section_description: "Beschrijving", section_time: "Tijd periode", full_day: "Hele dag", confirm_recurring: "Wilt u alle terugkerende items bijwerken?", section_recurring: "Item herhalen", button_recurring: "Uit", button_recurring_open: "Aan", button_edit_series: "Bewerk de serie", button_edit_occurrence: "Bewerk een kopie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Datum", description: "Omschrijving", year_tab: "Jaar", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagelijks", repeat_radio_week: "Wekelijks", repeat_radio_month: "Maandelijks", repeat_radio_year: "Jaarlijks", repeat_radio_day_type: "Elke", repeat_text_day_count: "dag(en)", repeat_radio_day_type2: "Elke werkdag", repeat_week: " Herhaal elke", repeat_text_week_count: "week op de volgende dagen:", repeat_radio_month_type: "Herhaal", repeat_radio_month_start: "Op", repeat_text_month_day: "dag iedere", repeat_text_month_count: "maanden", repeat_text_month_count2_before: "iedere", repeat_text_month_count2_after: "maanden", repeat_year_label: "Op", select_year_day2: "van", repeat_text_year_day: "dag", select_year_month: "maand", repeat_radio_end: "Geen eind datum", repeat_text_occurrences_count: "keren", repeat_radio_end3: "Eindigd per", repeat_radio_end2: "Na", repeat_never: "Nooit", repeat_daily: "Elke dag", repeat_workdays: "Elke werkdag", repeat_weekly: "Elke week", repeat_monthly: "Elke maand", repeat_yearly: "Elk jaar", repeat_custom: "Aangepast", repeat_freq_day: "Dag", repeat_freq_week: "Week", repeat_freq_month: "Maand", repeat_freq_year: "Jaar", repeat_on_date: "Op datum", repeat_ends: "Eindigt", month_for_recurring: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], day_for_recurring: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"] } };
8919
+ const locale_no = { date: { month_full: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uke", month_tab: "Måned", new_event: "Ny", icon_save: "Lagre", icon_cancel: "Avbryt", icon_details: "Detaljer", icon_edit: "Endre", icon_delete: "Slett", confirm_closing: "Endringer blir ikke lagret, er du sikker?", confirm_deleting: "Oppføringen vil bli slettet, er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", full_day: "Full dag", confirm_recurring: "Vil du endre hele settet med repeterende oppføringer?", section_recurring: "Repeterende oppføring", button_recurring: "Ikke aktiv", button_recurring_open: "Aktiv", button_edit_series: "Rediger serien", button_edit_occurrence: "Redigere en kopi", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ukentlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "Hver arbeidsdag", repeat_week: " Gjenta hver", repeat_text_week_count: "uke neste dager:", repeat_radio_month_type: "Gjenta", repeat_radio_month_start: "På", repeat_text_month_day: "dag hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "På", select_year_day2: "av", repeat_text_year_day: "dag", select_year_month: "måned", repeat_radio_end: "Ingen sluttdato", repeat_text_occurrences_count: "forekomster", repeat_radio_end2: "Etter", repeat_radio_end3: "Slutt innen", repeat_never: "Aldri", repeat_daily: "Hver dag", repeat_workdays: "Hver ukedag", repeat_weekly: "Hver uke", repeat_monthly: "Hver måned", repeat_yearly: "Hvert år", repeat_custom: "Tilpasset", repeat_freq_day: "Dag", repeat_freq_week: "Uke", repeat_freq_month: "Måned", repeat_freq_year: "År", repeat_on_date: "På dato", repeat_ends: "Slutter", month_for_recurring: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
8920
+ const locale_pl = { date: { month_full: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], month_short: ["Sty", "Lut", "Mar", "Kwi", "Maj", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"], day_full: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], day_short: ["Nie", "Pon", "Wto", "Śro", "Czw", "Pią", "Sob"] }, labels: { dhx_cal_today_button: "Dziś", day_tab: "Dzień", week_tab: "Tydzień", month_tab: "Miesiąc", new_event: "Nowe zdarzenie", icon_save: "Zapisz", icon_cancel: "Anuluj", icon_details: "Szczegóły", icon_edit: "Edytuj", icon_delete: "Usuń", confirm_closing: "", confirm_deleting: "Zdarzenie zostanie usunięte na zawsze, kontynuować?", section_description: "Opis", section_time: "Okres czasu", full_day: "Cały dzień", confirm_recurring: "Czy chcesz edytować cały zbiór powtarzających się zdarzeń?", section_recurring: "Powtórz zdarzenie", button_recurring: "Nieaktywne", button_recurring_open: "Aktywne", button_edit_series: "Edytuj serię", button_edit_occurrence: "Edytuj kopię", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Opis", year_tab: "Rok", week_agenda_tab: "Agenda", grid_tab: "Tabela", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Codziennie", repeat_radio_week: "Co tydzie", repeat_radio_month: "Co miesic", repeat_radio_year: "Co rok", repeat_radio_day_type: "Kadego", repeat_text_day_count: "dnia", repeat_radio_day_type2: "Kadego dnia roboczego", repeat_week: " Powtarzaj kadego", repeat_text_week_count: "tygodnia w dni:", repeat_radio_month_type: "Powtrz", repeat_radio_month_start: "W", repeat_text_month_day: "dnia kadego", repeat_text_month_count: "miesica", repeat_text_month_count2_before: "kadego", repeat_text_month_count2_after: "miesica", repeat_year_label: "W", select_year_day2: "miesica", repeat_text_year_day: "dnia miesica", select_year_month: "", repeat_radio_end: "Bez daty kocowej", repeat_text_occurrences_count: "wystpieniu/ach", repeat_radio_end3: "Zakocz w", repeat_radio_end2: "Po", repeat_never: "Nigdy", repeat_daily: "Codziennie", repeat_workdays: "Każdy dzień roboczy", repeat_weekly: "Co tydzień", repeat_monthly: "Co miesiąc", repeat_yearly: "Co rok", repeat_custom: "Niestandardowy", repeat_freq_day: "Dzień", repeat_freq_week: "Tydzień", repeat_freq_month: "Miesiąc", repeat_freq_year: "Rok", repeat_on_date: "W dniu", repeat_ends: "Kończy się", month_for_recurring: ["Stycznia", "Lutego", "Marca", "Kwietnia", "Maja", "Czerwca", "Lipca", "Sierpnia", "Wrzenia", "Padziernka", "Listopada", "Grudnia"], day_for_recurring: ["Niedziela", "Poniedziaek", "Wtorek", "roda", "Czwartek", "Pitek", "Sobota"] } };
8921
+ const locale_pt = { date: { month_full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], month_short: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], day_full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], day_short: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"] }, labels: { dhx_cal_today_button: "Hoje", day_tab: "Dia", week_tab: "Semana", month_tab: "Mês", new_event: "Novo evento", icon_save: "Salvar", icon_cancel: "Cancelar", icon_details: "Detalhes", icon_edit: "Editar", icon_delete: "Deletar", confirm_closing: "", confirm_deleting: "Tem certeza que deseja excluir?", section_description: "Descrição", section_time: "Período de tempo", full_day: "Dia inteiro", confirm_recurring: "Deseja editar todos esses eventos repetidos?", section_recurring: "Repetir evento", button_recurring: "Desabilitar", button_recurring_open: "Habilitar", button_edit_series: "Editar a série", button_edit_occurrence: "Editar uma cópia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dia", date: "Data", description: "Descrição", year_tab: "Ano", week_agenda_tab: "Dia", grid_tab: "Grade", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diário", repeat_radio_week: "Semanal", repeat_radio_month: "Mensal", repeat_radio_year: "Anual", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia(s)", repeat_radio_day_type2: "Cada trabalho diário", repeat_week: " Repita cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repetir", repeat_radio_month_start: "Em", repeat_text_month_day: "todo dia", repeat_text_month_count: "mês", repeat_text_month_count2_before: "todo", repeat_text_month_count2_after: "mês", repeat_year_label: "Em", select_year_day2: "of", repeat_text_year_day: "dia", select_year_month: "mês", repeat_radio_end: "Sem data final", repeat_text_occurrences_count: "ocorrências", repeat_radio_end3: "Fim", repeat_radio_end2: "Depois", repeat_never: "Nunca", repeat_daily: "Todos os dias", repeat_workdays: "Todos os dias úteis", repeat_weekly: "Toda semana", repeat_monthly: "Todo mês", repeat_yearly: "Todo ano", repeat_custom: "Personalizado", repeat_freq_day: "Dia", repeat_freq_week: "Semana", repeat_freq_month: "Mês", repeat_freq_year: "Ano", repeat_on_date: "Na data", repeat_ends: "Termina", month_for_recurring: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], day_for_recurring: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] } };
8922
+ const locale_ro = { date: { month_full: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "November", "December"], month_short: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"], day_short: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sa"] }, labels: { dhx_cal_today_button: "Astazi", day_tab: "Zi", week_tab: "Saptamana", month_tab: "Luna", new_event: "Eveniment nou", icon_save: "Salveaza", icon_cancel: "Anuleaza", icon_details: "Detalii", icon_edit: "Editeaza", icon_delete: "Sterge", confirm_closing: "Schimbarile nu vor fi salvate, esti sigur?", confirm_deleting: "Evenimentul va fi sters permanent, esti sigur?", section_description: "Descriere", section_time: "Interval", full_day: "Toata ziua", confirm_recurring: "Vrei sa editezi toata seria de evenimente repetate?", section_recurring: "Repetare", button_recurring: "Dezactivata", button_recurring_open: "Activata", button_edit_series: "Editeaza serie", button_edit_occurrence: "Editeaza doar intrare", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Agenda", date: "Data", description: "Descriere", year_tab: "An", week_agenda_tab: "Agenda", grid_tab: "Lista", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Zilnic", repeat_radio_week: "Saptamanal", repeat_radio_month: "Lunar", repeat_radio_year: "Anual", repeat_radio_day_type: "La fiecare", repeat_text_day_count: "zi(le)", repeat_radio_day_type2: "Fiecare zi lucratoare", repeat_week: " Repeta la fiecare", repeat_text_week_count: "saptamana in urmatoarele zile:", repeat_radio_month_type: "Repeta in", repeat_radio_month_start: "In a", repeat_text_month_day: "zi la fiecare", repeat_text_month_count: "luni", repeat_text_month_count2_before: "la fiecare", repeat_text_month_count2_after: "luni", repeat_year_label: "In", select_year_day2: "a lunii", repeat_text_year_day: "zi a lunii", select_year_month: "", repeat_radio_end: "Fara data de sfarsit", repeat_text_occurrences_count: "evenimente", repeat_radio_end3: "La data", repeat_radio_end2: "Dupa", repeat_never: "Niciodată", repeat_daily: "În fiecare zi", repeat_workdays: "În fiecare zi lucrătoare", repeat_weekly: "În fiecare săptămână", repeat_monthly: "În fiecare lună", repeat_yearly: "În fiecare an", repeat_custom: "Personalizat", repeat_freq_day: "Zi", repeat_freq_week: "Săptămână", repeat_freq_month: "Lună", repeat_freq_year: "An", repeat_on_date: "La data", repeat_ends: "Se termină", month_for_recurring: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], day_for_recurring: ["Duminica", "Luni", "Marti", "Miercuri", "Joi", "Vineri", "Sambata"] } };
8923
+ const locale_ru = { date: { month_full: ["Январь", "Февраль", "Март", "Апрель", "Maй", "Июнь", "Июль", "Август", "Сентябрь", "Oктябрь", "Ноябрь", "Декабрь"], month_short: ["Янв", "Фев", "Maр", "Aпр", "Maй", "Июн", "Июл", "Aвг", "Сен", "Окт", "Ноя", "Дек"], day_full: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], day_short: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сегодня", day_tab: "День", week_tab: "Неделя", month_tab: "Месяц", new_event: "Новое событие", icon_save: "Сохранить", icon_cancel: "Отменить", icon_details: "Детали", icon_edit: "Изменить", icon_delete: "Удалить", confirm_closing: "", confirm_deleting: "Событие будет удалено безвозвратно, продолжить?", section_description: "Описание", section_time: "Период времени", full_day: "Весь день", confirm_recurring: "Вы хотите изменить всю серию повторяющихся событий?", section_recurring: "Повторение", button_recurring: "Отключено", button_recurring_open: "Включено", button_edit_series: "Редактировать серию", button_edit_occurrence: "Редактировать экземпляр", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Список", date: "Дата", description: "Описание", year_tab: "Год", week_agenda_tab: "Список", grid_tab: "Таблица", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Неделя", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Каждый", repeat_text_day_count: "день", repeat_radio_day_type2: "Каждый рабочий день", repeat_week: " Повторять каждую", repeat_text_week_count: "неделю , в:", repeat_radio_month_type: "Повторять", repeat_radio_month_start: "", repeat_text_month_day: " числа каждый ", repeat_text_month_count: "месяц", repeat_text_month_count2_before: "каждый ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без даты окончания", repeat_text_occurrences_count: "повторений", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Никогда", repeat_daily: "Каждый день", repeat_workdays: "Каждый будний день", repeat_weekly: "Каждую неделю", repeat_monthly: "Каждый месяц", repeat_yearly: "Каждый год", repeat_custom: "Настроить", repeat_freq_day: "День", repeat_freq_week: "Неделя", repeat_freq_month: "Месяц", repeat_freq_year: "Год", repeat_on_date: "В дату", repeat_ends: "Заканчивается", month_for_recurring: ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"], day_for_recurring: ["Воскресенье", "Понедельник", "Вторник", "Среду", "Четверг", "Пятницу", "Субботу"] } };
8924
+ const locale_si = { date: { month_full: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"], day_short: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"] }, labels: { dhx_cal_today_button: "Danes", day_tab: "Dan", week_tab: "Teden", month_tab: "Mesec", new_event: "Nov dogodek", icon_save: "Shrani", icon_cancel: "Prekliči", icon_details: "Podrobnosti", icon_edit: "Uredi", icon_delete: "Izbriši", confirm_closing: "", confirm_deleting: "Dogodek bo izbrisan. Želite nadaljevati?", section_description: "Opis", section_time: "Časovni okvir", full_day: "Ves dan", confirm_recurring: "Želite urediti celoten set ponavljajočih dogodkov?", section_recurring: "Ponovi dogodek", button_recurring: "Onemogočeno", button_recurring_open: "Omogočeno", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Zadeva", date: "Datum", description: "Opis", year_tab: "Leto", week_agenda_tab: "Zadeva", grid_tab: "Miza", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dnevno", repeat_radio_week: "Tedensko", repeat_radio_month: "Mesečno", repeat_radio_year: "Letno", repeat_radio_day_type: "Vsak", repeat_text_day_count: "dan", repeat_radio_day_type2: "Vsak delovni dan", repeat_week: " Ponavljaj vsak", repeat_text_week_count: "teden na naslednje dni:", repeat_radio_month_type: "Ponavljaj", repeat_radio_month_start: "Na", repeat_text_month_day: "dan vsak", repeat_text_month_count: "mesec", repeat_text_month_count2_before: "vsak", repeat_text_month_count2_after: "mesec", repeat_year_label: "Na", select_year_day2: "od", repeat_text_year_day: "dan", select_year_month: "mesec", repeat_radio_end: "Brez končnega datuma", repeat_text_occurrences_count: "pojavitve", repeat_radio_end2: "Po", repeat_radio_end3: "Končaj do", repeat_never: "Nikoli", repeat_daily: "Vsak dan", repeat_workdays: "Vsak delovni dan", repeat_weekly: "Vsak teden", repeat_monthly: "Vsak mesec", repeat_yearly: "Vsako leto", repeat_custom: "Po meri", repeat_freq_day: "Dan", repeat_freq_week: "Teden", repeat_freq_month: "Mesec", repeat_freq_year: "Leto", repeat_on_date: "Na datum", repeat_ends: "Konča se", month_for_recurring: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], day_for_recurring: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"] } };
8925
+ const locale_sk = { date: { month_full: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sept", "Okt", "Nov", "Dec"], day_full: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], day_short: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Deň", week_tab: "Týždeň", month_tab: "Mesiac", new_event: "Nová udalosť", icon_save: "Uložiť", icon_cancel: "Späť", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Zmazať", confirm_closing: "Vaše zmeny nebudú uložené. Skutočne?", confirm_deleting: "Udalosť bude natrvalo vymazaná. Skutočne?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Prajete si upraviť celú radu opakovaných udalostí?", section_recurring: "Opakovanie udalosti", button_recurring: "Vypnuté", button_recurring_open: "Zapnuté", button_edit_series: "Upraviť opakovania", button_edit_occurrence: "Upraviť inštancie", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Program", date: "Dátum", description: "Poznámka", year_tab: "Rok", full_day: "Celý deň", week_agenda_tab: "Program", grid_tab: "Mriežka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denne", repeat_radio_week: "Týždenne", repeat_radio_month: "Mesaène", repeat_radio_year: "Roène", repeat_radio_day_type: "Každý", repeat_text_day_count: "deò", repeat_radio_day_type2: "Každý prac. deò", repeat_week: "Opakova každý", repeat_text_week_count: "týždeò v dòoch:", repeat_radio_month_type: "Opakova", repeat_radio_month_start: "On", repeat_text_month_day: "deò každý", repeat_text_month_count: "mesiac", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "mesiac", repeat_year_label: "On", select_year_day2: "poèas", repeat_text_year_day: "deò", select_year_month: "mesiac", repeat_radio_end: "Bez dátumu ukonèenia", repeat_text_occurrences_count: "udalostiach", repeat_radio_end3: "Ukonèi", repeat_radio_end2: "Po", repeat_never: "Nikdy", repeat_daily: "Každý deň", repeat_workdays: "Každý pracovný deň", repeat_weekly: "Každý týždeň", repeat_monthly: "Každý mesiac", repeat_yearly: "Každý rok", repeat_custom: "Vlastné", repeat_freq_day: "Deň", repeat_freq_week: "Týždeň", repeat_freq_month: "Mesiac", repeat_freq_year: "Rok", repeat_on_date: "Na dátum", repeat_ends: "Koniec", month_for_recurring: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], day_for_recurring: ["Nede¾a", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"] } };
8926
+ const locale_sv = { date: { month_full: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], day_short: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Vecka", month_tab: "Månad", new_event: "Ny händelse", icon_save: "Spara", icon_cancel: "Ångra", icon_details: "Detaljer", icon_edit: "Ändra", icon_delete: "Ta bort", confirm_closing: "", confirm_deleting: "Är du säker på att du vill ta bort händelsen permanent?", section_description: "Beskrivning", section_time: "Tid", full_day: "Hela dagen", confirm_recurring: "Vill du redigera hela serien med repeterande händelser?", section_recurring: "Upprepa händelse", button_recurring: "Inaktiverat", button_recurring_open: "Aktiverat", button_edit_series: "Redigera serien", button_edit_occurrence: "Redigera en kopia", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Dagordning", date: "Datum", description: "Beskrivning", year_tab: "År", week_agenda_tab: "Dagordning", grid_tab: "Galler", drag_to_create: "Dra för att skapa ny", drag_to_move: "Dra för att flytta", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Dagligen", repeat_radio_week: "Veckovis", repeat_radio_month: "Månadsvis", repeat_radio_year: "Årligen", repeat_radio_day_type: "Var", repeat_text_day_count: "dag", repeat_radio_day_type2: "Varje arbetsdag", repeat_week: " Upprepa var", repeat_text_week_count: "vecka dessa dagar:", repeat_radio_month_type: "Upprepa", repeat_radio_month_start: "Den", repeat_text_month_day: "dagen var", repeat_text_month_count: "månad", repeat_text_month_count2_before: "var", repeat_text_month_count2_after: "månad", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "månad", repeat_radio_end: "Inget slutdatum", repeat_text_occurrences_count: "upprepningar", repeat_radio_end3: "Sluta efter", repeat_radio_end2: "Efter", repeat_never: "Aldrig", repeat_daily: "Varje dag", repeat_workdays: "Varje vardag", repeat_weekly: "Varje vecka", repeat_monthly: "Varje månad", repeat_yearly: "Varje år", repeat_custom: "Anpassad", repeat_freq_day: "Dag", repeat_freq_week: "Vecka", repeat_freq_month: "Månad", repeat_freq_year: "År", repeat_on_date: "På datum", repeat_ends: "Slutar", month_for_recurring: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], day_for_recurring: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"] } };
8927
+ const locale_tr = { date: { month_full: ["Ocak", "Þubat", "Mart", "Nisan", "Mayýs", "Haziran", "Temmuz", "Aðustos", "Eylül", "Ekim", "Kasým", "Aralýk"], month_short: ["Oca", "Þub", "Mar", "Nis", "May", "Haz", "Tem", "Aðu", "Eyl", "Eki", "Kas", "Ara"], day_full: ["Pazar", "Pazartes,", "Salý", "Çarþamba", "Perþembe", "Cuma", "Cumartesi"], day_short: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"] }, labels: { dhx_cal_today_button: "Bugün", day_tab: "Gün", week_tab: "Hafta", month_tab: "Ay", new_event: "Uygun", icon_save: "Kaydet", icon_cancel: "Ýptal", icon_details: "Detaylar", icon_edit: "Düzenle", icon_delete: "Sil", confirm_closing: "", confirm_deleting: "Etkinlik silinecek, devam?", section_description: "Açýklama", section_time: "Zaman aralýðý", full_day: "Tam gün", confirm_recurring: "Tüm tekrar eden etkinlikler silinecek, devam?", section_recurring: "Etkinliði tekrarla", button_recurring: "Pasif", button_recurring_open: "Aktif", button_edit_series: "Dizi düzenleme", button_edit_occurrence: "Bir kopyasını düzenleyin", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Ajanda", date: "Tarih", description: "Açýklama", year_tab: "Yýl", week_agenda_tab: "Ajanda", grid_tab: "Izgara", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Günlük", repeat_radio_week: "Haftalık", repeat_radio_month: "Aylık", repeat_radio_year: "Yıllık", repeat_radio_day_type: "Her", repeat_text_day_count: "gün", repeat_radio_day_type2: "Her iş günü", repeat_week: " Tekrar her", repeat_text_week_count: "hafta şu günlerde:", repeat_radio_month_type: "Tekrar et", repeat_radio_month_start: "Tarihinde", repeat_text_month_day: "gün her", repeat_text_month_count: "ay", repeat_text_month_count2_before: "her", repeat_text_month_count2_after: "ay", repeat_year_label: "Tarihinde", select_year_day2: "ayın", repeat_text_year_day: "günü", select_year_month: "ay", repeat_radio_end: "Bitiş tarihi yok", repeat_text_occurrences_count: "olay", repeat_radio_end2: "Sonra", repeat_radio_end3: "Tarihinde bitir", repeat_never: "Asla", repeat_daily: "Her gün", repeat_workdays: "Her iş günü", repeat_weekly: "Her hafta", repeat_monthly: "Her ay", repeat_yearly: "Her yıl", repeat_custom: "Özel", repeat_freq_day: "Gün", repeat_freq_week: "Hafta", repeat_freq_month: "Ay", repeat_freq_year: "Yıl", repeat_on_date: "Tarihinde", repeat_ends: "Biter", month_for_recurring: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], day_for_recurring: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"] } };
8928
+ const locale_ua = { date: { month_full: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], month_short: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], day_full: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], day_short: ["Нед", "Пон", "Вів", "Сер", "Чет", "Птн", "Суб"] }, labels: { dhx_cal_today_button: "Сьогодні", day_tab: "День", week_tab: "Тиждень", month_tab: "Місяць", new_event: "Нова подія", icon_save: "Зберегти", icon_cancel: "Відміна", icon_details: "Деталі", icon_edit: "Редагувати", icon_delete: "Вилучити", confirm_closing: "", confirm_deleting: "Подія вилучиться назавжди. Ви впевнені?", section_description: "Опис", section_time: "Часовий проміжок", full_day: "Весь день", confirm_recurring: "Хочете редагувати весь перелік повторюваних подій?", section_recurring: "Повторювана подія", button_recurring: "Відключено", button_recurring_open: "Включено", button_edit_series: "Редагувати серію", button_edit_occurrence: "Редагувати примірник", button_edit_occurrence_and_following: "This and following events", agenda_tab: "Перелік", date: "Дата", description: "Опис", year_tab: "Рік", week_agenda_tab: "Перелік", grid_tab: "Таблиця", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "День", repeat_radio_week: "Тиждень", repeat_radio_month: "Місяць", repeat_radio_year: "Рік", repeat_radio_day_type: "Кожний", repeat_text_day_count: "день", repeat_radio_day_type2: "Кожний робочий день", repeat_week: " Повторювати кожен", repeat_text_week_count: "тиждень , по:", repeat_radio_month_type: "Повторювати", repeat_radio_month_start: "", repeat_text_month_day: " числа кожний ", repeat_text_month_count: "місяць", repeat_text_month_count2_before: "кожен ", repeat_text_month_count2_after: "місяць", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "день", select_year_month: "", repeat_radio_end: "Без дати закінчення", repeat_text_occurrences_count: "повторень", repeat_radio_end3: "До ", repeat_radio_end2: "", repeat_never: "Ніколи", repeat_daily: "Щодня", repeat_workdays: "Щодня в робочі дні", repeat_weekly: "Щотижня", repeat_monthly: "Щомісяця", repeat_yearly: "Щороку", repeat_custom: "Налаштоване", repeat_freq_day: "День", repeat_freq_week: "Тиждень", repeat_freq_month: "Місяць", repeat_freq_year: "Рік", repeat_on_date: "На дату", repeat_ends: "Закінчується", month_for_recurring: ["січня", "лютого", "березня", "квітня", "травня", "червня", "липня", "серпня", "вересня", "жовтня", "листопада", "грудня"], day_for_recurring: ["Неділям", "Понеділкам", "Вівторкам", "Середам", "Четвергам", "П'ятницям", "Суботам"] } };
8929
+ const locales = Object.freeze(Object.defineProperty({ __proto__: null, ar: locale_ar, be: locale_be, ca: locale_ca, cn: locale_cn, cs: locale_cs, da: locale_da, de: locale_de, el: locale_el, en: locale_en, es: locale_es, fi: locale_fi, fr: locale_fr, he: locale_he, hu: locale_hu, id: locale_id, it: locale_it, jp: locale_jp, nb: locale_nb, nl: locale_nl, no: locale_no, pl: locale_pl, pt: locale_pt, ro: locale_ro, ru: locale_ru, si: locale_si, sk: locale_sk, sv: locale_sv, tr: locale_tr, ua: locale_ua }, Symbol.toStringTag, { value: "Module" }));
8912
8930
  function i18nFactory() {
8913
- return new LocaleManager({ en, ar, be, ca, cn, cs, da, de, el, es, fi, fr, he, hu, id, it, jp, nb, nl, no, pl, pt, ro, ru, si, sk, sv, tr, ua });
8931
+ return new LocaleManager(locales);
8914
8932
  }
8915
8933
  class DatePicker {
8916
8934
  constructor(scheduler2, container, state = {}) {
@@ -9197,7 +9215,7 @@ class DatePicker {
9197
9215
  }
9198
9216
  }
9199
9217
  function factoryMethod(extensionManager) {
9200
- const scheduler2 = { version: "7.2.6" };
9218
+ const scheduler2 = { version: "7.2.8" };
9201
9219
  scheduler2.$stateProvider = StateService();
9202
9220
  scheduler2.getState = scheduler2.$stateProvider.getState;
9203
9221
  extend$n(scheduler2);
@@ -9221,7 +9239,7 @@ function factoryMethod(extensionManager) {
9221
9239
  const messageApi = message(scheduler2);
9222
9240
  scheduler2.utils.mixin(scheduler2, messageApi);
9223
9241
  scheduler2.env = scheduler2.$env = env;
9224
- scheduler2.Promise = window.Promise;
9242
+ scheduler2.Promise = Promise;
9225
9243
  extend$g(scheduler2);
9226
9244
  extend$f(scheduler2);
9227
9245
  extend$e(scheduler2);
@@ -9286,6 +9304,7 @@ function factoryMethod(extensionManager) {
9286
9304
  }
9287
9305
  }
9288
9306
  });
9307
+ return activePlugins;
9289
9308
  };
9290
9309
  function getExtensionList(config, dependencies, priorities) {
9291
9310
  const result = [];
@@ -9812,12 +9831,12 @@ function all_timed(scheduler2) {
9812
9831
  return scheduler2.ext.allTimed.isMainAreaEvent(ev);
9813
9832
  };
9814
9833
  var oldUpdate = scheduler2.updateEvent;
9815
- scheduler2.updateEvent = function(id2) {
9816
- var ev = scheduler2.getEvent(id2);
9834
+ scheduler2.updateEvent = function(id) {
9835
+ var ev = scheduler2.getEvent(id);
9817
9836
  var fullRedrawNeeded;
9818
9837
  var initial;
9819
9838
  if (ev) {
9820
- fullRedrawNeeded = scheduler2.config.all_timed && !(scheduler2.isOneDayEvent(scheduler2._events[id2]) || scheduler2.getState().drag_id);
9839
+ fullRedrawNeeded = scheduler2.config.all_timed && !(scheduler2.isOneDayEvent(scheduler2._events[id]) || scheduler2.getState().drag_id);
9821
9840
  if (fullRedrawNeeded) {
9822
9841
  initial = scheduler2.config.update_render;
9823
9842
  scheduler2.config.update_render = true;
@@ -9841,20 +9860,20 @@ function collision(scheduler2) {
9841
9860
  temp_section = scheduler2.getEvent(event_id)[scheduler2._get_section_property()];
9842
9861
  }
9843
9862
  }
9844
- scheduler2.attachEvent("onBeforeDrag", function(id2) {
9845
- _setTempSection(id2);
9863
+ scheduler2.attachEvent("onBeforeDrag", function(id) {
9864
+ _setTempSection(id);
9846
9865
  return true;
9847
9866
  });
9848
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
9849
- const ev = scheduler2.getEvent(id2);
9867
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
9868
+ const ev = scheduler2.getEvent(id);
9850
9869
  before = [ev.start_date, ev.end_date];
9851
- _setTempSection(id2);
9870
+ _setTempSection(id);
9852
9871
  return true;
9853
9872
  });
9854
- scheduler2.attachEvent("onEventChanged", function(id2) {
9855
- if (!id2 || !scheduler2.getEvent(id2))
9873
+ scheduler2.attachEvent("onEventChanged", function(id) {
9874
+ if (!id || !scheduler2.getEvent(id))
9856
9875
  return true;
9857
- const ev = scheduler2.getEvent(id2);
9876
+ const ev = scheduler2.getEvent(id);
9858
9877
  if (!scheduler2.checkCollision(ev)) {
9859
9878
  if (!before)
9860
9879
  return false;
@@ -9867,16 +9886,16 @@ function collision(scheduler2) {
9867
9886
  scheduler2.attachEvent("onBeforeEventChanged", function(ev, e, is_new) {
9868
9887
  return scheduler2.checkCollision(ev);
9869
9888
  });
9870
- scheduler2.attachEvent("onEventAdded", function(id2, ev) {
9889
+ scheduler2.attachEvent("onEventAdded", function(id, ev) {
9871
9890
  const result = scheduler2.checkCollision(ev);
9872
9891
  if (!result)
9873
- scheduler2.deleteEvent(id2);
9892
+ scheduler2.deleteEvent(id);
9874
9893
  });
9875
- scheduler2.attachEvent("onEventSave", function(id2, edited_ev, is_new) {
9894
+ scheduler2.attachEvent("onEventSave", function(id, edited_ev, is_new) {
9876
9895
  edited_ev = scheduler2._lame_clone(edited_ev);
9877
- edited_ev.id = id2;
9896
+ edited_ev.id = id;
9878
9897
  if (!(edited_ev.start_date && edited_ev.end_date)) {
9879
- const ev = scheduler2.getEvent(id2);
9898
+ const ev = scheduler2.getEvent(id);
9880
9899
  edited_ev.start_date = new Date(ev.start_date);
9881
9900
  edited_ev.end_date = new Date(ev.end_date);
9882
9901
  }
@@ -10239,8 +10258,8 @@ function container_autoresize(scheduler2) {
10239
10258
  }
10240
10259
  function cookie(scheduler2) {
10241
10260
  function setCookie(name, cookie_param, value) {
10242
- var str = name + "=" + value + (cookie_param ? "; " + cookie_param : "");
10243
- document.cookie = str;
10261
+ const str = `${name}=${value}${cookie_param ? `; ${cookie_param}` : ""}`;
10262
+ document.cookie = `${str}; Secure`;
10244
10263
  }
10245
10264
  function getCookie(name) {
10246
10265
  var search = name + "=";
@@ -10329,9 +10348,9 @@ function editors(scheduler2) {
10329
10348
  }, set_value: function(node, value, ev, config) {
10330
10349
  (function() {
10331
10350
  resetCombo();
10332
- var id2 = scheduler2.attachEvent("onAfterLightbox", function() {
10351
+ var id = scheduler2.attachEvent("onAfterLightbox", function() {
10333
10352
  resetCombo();
10334
- scheduler2.detachEvent(id2);
10353
+ scheduler2.detachEvent(id);
10335
10354
  });
10336
10355
  function resetCombo() {
10337
10356
  if (node._combo && node._combo.DOMParent) {
@@ -10407,8 +10426,8 @@ function editors(scheduler2) {
10407
10426
  var res = "";
10408
10427
  res += `<div class='dhx_cal_ltext dhx_cal_radio ${sns.vertical ? "dhx_cal_radio_vertical" : ""}' style='height:${sns.height}px;'>`;
10409
10428
  for (var i = 0; i < sns.options.length; i++) {
10410
- var id2 = scheduler2.uid();
10411
- res += "<label class='dhx_cal_radio_item' for='" + id2 + "'><input id='" + id2 + "' type='radio' name='" + sns.name + "' value='" + sns.options[i].key + "'><span> " + sns.options[i].label + "</span></label>";
10429
+ var id = scheduler2.uid();
10430
+ res += "<label class='dhx_cal_radio_item' for='" + id + "'><input id='" + id + "' type='radio' name='" + sns.name + "' value='" + sns.options[i].key + "'><span> " + sns.options[i].label + "</span></label>";
10412
10431
  }
10413
10432
  res += "</div>";
10414
10433
  return res;
@@ -10440,11 +10459,11 @@ function editors(scheduler2) {
10440
10459
  if (config.height) {
10441
10460
  node.style.height = `${config.height}px`;
10442
10461
  }
10443
- var id2 = scheduler2.uid();
10462
+ var id = scheduler2.uid();
10444
10463
  var isChecked = typeof config.checked_value != "undefined" ? value == config.checked_value : !!value;
10445
10464
  node.className += " dhx_cal_checkbox";
10446
- var check_html = "<input id='" + id2 + "' type='checkbox' value='true' name='" + config.name + "'" + (isChecked ? "checked='true'" : "") + "'>";
10447
- var label_html = "<label for='" + id2 + "'>" + (scheduler2.locale.labels["section_" + config.name] || config.name) + "</label>";
10465
+ var check_html = "<input id='" + id + "' type='checkbox' value='true' name='" + config.name + "'" + (isChecked ? "checked='true'" : "") + "'>";
10466
+ var label_html = "<label for='" + id + "'>" + (scheduler2.locale.labels["section_" + config.name] || config.name) + "</label>";
10448
10467
  if (scheduler2.config.wide_form) {
10449
10468
  node.innerHTML = label_html;
10450
10469
  node.nextSibling.innerHTML = check_html;
@@ -10562,14 +10581,14 @@ function html_templates(scheduler2) {
10562
10581
  scheduler2.attachEvent("onTemplatesReady", function() {
10563
10582
  var els = document.body.getElementsByTagName("DIV");
10564
10583
  for (var i = 0; i < els.length; i++) {
10565
- var cs2 = els[i].className || "";
10566
- cs2 = cs2.split(":");
10567
- if (cs2.length == 2 && cs2[0] == "template") {
10584
+ var cs = els[i].className || "";
10585
+ cs = cs.split(":");
10586
+ if (cs.length == 2 && cs[0] == "template") {
10568
10587
  var code = 'return "' + (els[i].innerHTML || "").replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\n\r]+/g, "") + '";';
10569
10588
  code = unescape(code).replace(/\{event\.([a-z]+)\}/g, function(all, mask) {
10570
10589
  return '"+ev.' + mask + '+"';
10571
10590
  });
10572
- scheduler2.templates[cs2[1]] = Function("start", "end", "ev", code);
10591
+ scheduler2.templates[cs[1]] = Function("start", "end", "ev", code);
10573
10592
  els[i].style.display = "none";
10574
10593
  }
10575
10594
  }
@@ -11072,15 +11091,15 @@ function scheduler_node(scheduler2) {
11072
11091
  return evs[i];
11073
11092
  }
11074
11093
  return null;
11075
- }, nextEventHandler: function(id2) {
11094
+ }, nextEventHandler: function(id) {
11076
11095
  var activeNode = scheduler2.$keyboardNavigation.dispatcher.activeNode;
11077
- var startId = id2 || activeNode && activeNode.eventId;
11096
+ var startId = id || activeNode && activeNode.eventId;
11078
11097
  var nextEvent = null;
11079
11098
  if (startId && scheduler2.getEvent(startId)) {
11080
11099
  var currEvent = scheduler2.getEvent(startId);
11081
11100
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(currEvent.start_date, scheduler2.date.add(currEvent.start_date, 1, "year"), currEvent.id, false);
11082
11101
  }
11083
- if (!nextEvent && !id2) {
11102
+ if (!nextEvent && !id) {
11084
11103
  var visibleDates = scheduler2.getState();
11085
11104
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(visibleDates.min_date, scheduler2.date.add(visibleDates.min_date, 1, "year"), null, false);
11086
11105
  }
@@ -11095,15 +11114,15 @@ function scheduler_node(scheduler2) {
11095
11114
  scheduler2.$keyboardNavigation.dispatcher.setActiveNode(nextEv);
11096
11115
  }
11097
11116
  }
11098
- }, prevEventHandler: function(id2) {
11117
+ }, prevEventHandler: function(id) {
11099
11118
  var activeNode = scheduler2.$keyboardNavigation.dispatcher.activeNode;
11100
- var startId = id2 || activeNode && activeNode.eventId;
11119
+ var startId = id || activeNode && activeNode.eventId;
11101
11120
  var nextEvent = null;
11102
11121
  if (startId && scheduler2.getEvent(startId)) {
11103
11122
  var currEvent = scheduler2.getEvent(startId);
11104
11123
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(scheduler2.date.add(currEvent.end_date, -1, "year"), currEvent.end_date, currEvent.id, true);
11105
11124
  }
11106
- if (!nextEvent && !id2) {
11125
+ if (!nextEvent && !id) {
11107
11126
  var visibleDates = scheduler2.getState();
11108
11127
  nextEvent = scheduler2.$keyboardNavigation.SchedulerNode.prototype._pickEvent(scheduler2.date.add(visibleDates.max_date, -1, "year"), visibleDates.max_date, null, true);
11109
11128
  }
@@ -11244,14 +11263,14 @@ function header_cell(scheduler2) {
11244
11263
  scheduler2.$keyboardNavigation.HeaderCell.prototype.bindAll(scheduler2.$keyboardNavigation.HeaderCell.prototype.keys);
11245
11264
  }
11246
11265
  function event(scheduler2) {
11247
- scheduler2.$keyboardNavigation.Event = function(id2) {
11266
+ scheduler2.$keyboardNavigation.Event = function(id) {
11248
11267
  this.eventId = null;
11249
- if (scheduler2.getEvent(id2)) {
11250
- var ev = scheduler2.getEvent(id2);
11268
+ if (scheduler2.getEvent(id)) {
11269
+ var ev = scheduler2.getEvent(id);
11251
11270
  this.start = new Date(ev.start_date);
11252
11271
  this.end = new Date(ev.end_date);
11253
11272
  this.section = this._getSection(ev);
11254
- this.eventId = id2;
11273
+ this.eventId = id;
11255
11274
  }
11256
11275
  };
11257
11276
  scheduler2.$keyboardNavigation.Event.prototype = scheduler2._compose(scheduler2.$keyboardNavigation.KeyNavNode, { _getNodes: function() {
@@ -11264,12 +11283,12 @@ function event(scheduler2) {
11264
11283
  if (!eventNode || !scheduler2._locate_event(eventNode)) {
11265
11284
  defaultElement = new scheduler2.$keyboardNavigation.TimeSlot();
11266
11285
  } else {
11267
- var id2 = scheduler2._locate_event(eventNode);
11268
- defaultElement = new scheduler2.$keyboardNavigation.Event(id2);
11286
+ var id = scheduler2._locate_event(eventNode);
11287
+ defaultElement = new scheduler2.$keyboardNavigation.Event(id);
11269
11288
  }
11270
11289
  return defaultElement;
11271
- }, isScrolledIntoView: function(el2) {
11272
- var eventBox = el2.getBoundingClientRect();
11290
+ }, isScrolledIntoView: function(el) {
11291
+ var eventBox = el.getBoundingClientRect();
11273
11292
  var viewPort = scheduler2.$container.querySelector(".dhx_cal_data").getBoundingClientRect();
11274
11293
  if (eventBox.bottom < viewPort.top || eventBox.top > viewPort.bottom) {
11275
11294
  return false;
@@ -12282,32 +12301,32 @@ function core(scheduler2) {
12282
12301
  }, focusGlobalNode: function() {
12283
12302
  this.blurNode(this.globalNode);
12284
12303
  this.focusNode(this.globalNode);
12285
- }, setActiveNode: function(el2) {
12286
- if (!el2 || !el2.isValid())
12304
+ }, setActiveNode: function(el) {
12305
+ if (!el || !el.isValid())
12287
12306
  return;
12288
12307
  if (this.activeNode) {
12289
- if (this.activeNode.compareTo(el2)) {
12308
+ if (this.activeNode.compareTo(el)) {
12290
12309
  return;
12291
12310
  }
12292
12311
  }
12293
12312
  if (this.isEnabled()) {
12294
12313
  this.blurNode(this.activeNode);
12295
- this.activeNode = el2;
12314
+ this.activeNode = el;
12296
12315
  this.focusNode(this.activeNode);
12297
12316
  }
12298
- }, focusNode: function(el2) {
12299
- if (el2 && el2.focus) {
12300
- el2.focus();
12301
- if (el2.getNode && document.activeElement != el2.getNode()) {
12317
+ }, focusNode: function(el) {
12318
+ if (el && el.focus) {
12319
+ el.focus();
12320
+ if (el.getNode && document.activeElement != el.getNode()) {
12302
12321
  this.setActiveNode(new scheduler2.$keyboardNavigation.DataArea());
12303
12322
  }
12304
12323
  }
12305
- }, blurNode: function(el2) {
12306
- if (el2 && el2.blur) {
12307
- el2.blur();
12324
+ }, blurNode: function(el) {
12325
+ if (el && el.blur) {
12326
+ el.blur();
12308
12327
  }
12309
- }, getInlineEditor: function(id2) {
12310
- var editor = scheduler2.$container.querySelector(".dhx_cal_editor[" + scheduler2.config.event_attribute + "='" + id2 + "'] textarea");
12328
+ }, getInlineEditor: function(id) {
12329
+ var editor = scheduler2.$container.querySelector(".dhx_cal_editor[" + scheduler2.config.event_attribute + "='" + id + "'] textarea");
12311
12330
  if (editor && editor.offsetWidth) {
12312
12331
  return editor;
12313
12332
  }
@@ -12368,7 +12387,7 @@ function key_nav_legacy(scheduler2) {
12368
12387
  keyNavPointer = scheduler2.$keyboardNavigation.dispatcher.isEnabled();
12369
12388
  return mousePointer || keyNavPointer;
12370
12389
  }
12371
- scheduler2.attachEvent("onMouseMove", function(id2, e) {
12390
+ scheduler2.attachEvent("onMouseMove", function(id, e) {
12372
12391
  var state = scheduler2.getState();
12373
12392
  if (!(state.mode && state.min_date)) {
12374
12393
  return;
@@ -12592,11 +12611,11 @@ function scheduler_handlers(scheduler2) {
12592
12611
  }
12593
12612
  }
12594
12613
  var updateEvent = scheduler2.updateEvent;
12595
- scheduler2.updateEvent = function(id2) {
12614
+ scheduler2.updateEvent = function(id) {
12596
12615
  var res = updateEvent.apply(this, arguments);
12597
12616
  if (scheduler2.config.key_nav && dispatcher.isEnabled()) {
12598
- if (scheduler2.getState().select_id == id2) {
12599
- var element = new scheduler2.$keyboardNavigation.Event(id2);
12617
+ if (scheduler2.getState().select_id == id) {
12618
+ var element = new scheduler2.$keyboardNavigation.Event(id);
12600
12619
  if (!scheduler2.getState().lightbox_id) {
12601
12620
  focusEvent(element);
12602
12621
  }
@@ -12604,12 +12623,12 @@ function scheduler_handlers(scheduler2) {
12604
12623
  }
12605
12624
  return res;
12606
12625
  };
12607
- scheduler2.attachEvent("onEventDeleted", function(id2) {
12626
+ scheduler2.attachEvent("onEventDeleted", function(id) {
12608
12627
  if (!scheduler2.config.key_nav)
12609
12628
  return true;
12610
12629
  if (dispatcher.isEnabled()) {
12611
12630
  var activeNode = dispatcher.getActiveNode();
12612
- if (activeNode.eventId == id2) {
12631
+ if (activeNode.eventId == id) {
12613
12632
  dispatcher.setActiveNode(new scheduler2.$keyboardNavigation.TimeSlot());
12614
12633
  }
12615
12634
  }
@@ -12657,7 +12676,7 @@ function minical_handlers(scheduler2) {
12657
12676
  var rowIndex = 0;
12658
12677
  var cellIndex = 0;
12659
12678
  if (cell) {
12660
- var tr2;
12679
+ var tr;
12661
12680
  var td;
12662
12681
  var current = target;
12663
12682
  while (current && current.tagName.toLowerCase() != "td") {
@@ -12665,17 +12684,17 @@ function minical_handlers(scheduler2) {
12665
12684
  }
12666
12685
  if (current) {
12667
12686
  td = current;
12668
- tr2 = td.parentNode;
12687
+ tr = td.parentNode;
12669
12688
  }
12670
- if (tr2 && td) {
12671
- var rows = tr2.parentNode.querySelectorAll("tr");
12689
+ if (tr && td) {
12690
+ var rows = tr.parentNode.querySelectorAll("tr");
12672
12691
  for (var i = 0; i < rows.length; i++) {
12673
- if (rows[i] == tr2) {
12692
+ if (rows[i] == tr) {
12674
12693
  rowIndex = i;
12675
12694
  break;
12676
12695
  }
12677
12696
  }
12678
- var cells = tr2.querySelectorAll("td");
12697
+ var cells = tr.querySelectorAll("td");
12679
12698
  for (var i = 0; i < cells.length; i++) {
12680
12699
  if (cells[i] == td) {
12681
12700
  cellIndex = i;
@@ -12896,34 +12915,34 @@ function layer(scheduler2) {
12896
12915
  });
12897
12916
  scheduler2._dp_init = function(dp) {
12898
12917
  dp._methods = ["_set_event_text_style", "", "changeEventId", "deleteEvent"];
12899
- this.attachEvent("onEventAdded", function(id2) {
12900
- if (!this._loading && this.validId(id2) && this.getEvent(id2) && this.getEvent(id2).layer == dp.layer)
12901
- dp.setUpdated(id2, true, "inserted");
12918
+ this.attachEvent("onEventAdded", function(id) {
12919
+ if (!this._loading && this.validId(id) && this.getEvent(id) && this.getEvent(id).layer == dp.layer)
12920
+ dp.setUpdated(id, true, "inserted");
12902
12921
  });
12903
- this.attachEvent("onBeforeEventDelete", function(id2) {
12904
- if (this.getEvent(id2) && this.getEvent(id2).layer == dp.layer) {
12905
- if (!this.validId(id2))
12922
+ this.attachEvent("onBeforeEventDelete", function(id) {
12923
+ if (this.getEvent(id) && this.getEvent(id).layer == dp.layer) {
12924
+ if (!this.validId(id))
12906
12925
  return;
12907
- var z = dp.getState(id2);
12926
+ var z = dp.getState(id);
12908
12927
  if (z == "inserted" || this._new_event) {
12909
- dp.setUpdated(id2, false);
12928
+ dp.setUpdated(id, false);
12910
12929
  return true;
12911
12930
  }
12912
12931
  if (z == "deleted")
12913
12932
  return false;
12914
12933
  if (z == "true_deleted")
12915
12934
  return true;
12916
- dp.setUpdated(id2, true, "deleted");
12935
+ dp.setUpdated(id, true, "deleted");
12917
12936
  return false;
12918
12937
  } else
12919
12938
  return true;
12920
12939
  });
12921
- this.attachEvent("onEventChanged", function(id2) {
12922
- if (!this._loading && this.validId(id2) && this.getEvent(id2) && this.getEvent(id2).layer == dp.layer)
12923
- dp.setUpdated(id2, true, "updated");
12940
+ this.attachEvent("onEventChanged", function(id) {
12941
+ if (!this._loading && this.validId(id) && this.getEvent(id) && this.getEvent(id).layer == dp.layer)
12942
+ dp.setUpdated(id, true, "updated");
12924
12943
  });
12925
- dp._getRowData = function(id2, pref) {
12926
- var ev = this.obj.getEvent(id2);
12944
+ dp._getRowData = function(id, pref) {
12945
+ var ev = this.obj.getEvent(id);
12927
12946
  var data = {};
12928
12947
  for (var a in ev) {
12929
12948
  if (a.indexOf("_") === 0)
@@ -12939,9 +12958,9 @@ function layer(scheduler2) {
12939
12958
  };
12940
12959
  dp.attachEvent("insertCallback", scheduler2._update_callback);
12941
12960
  dp.attachEvent("updateCallback", scheduler2._update_callback);
12942
- dp.attachEvent("deleteCallback", function(upd, id2) {
12943
- this.obj.setUserData(id2, this.action_param, "true_deleted");
12944
- this.obj.deleteEvent(id2);
12961
+ dp.attachEvent("deleteCallback", function(upd, id) {
12962
+ this.obj.setUserData(id, this.action_param, "true_deleted");
12963
+ this.obj.deleteEvent(id);
12945
12964
  });
12946
12965
  };
12947
12966
  (function() {
@@ -13016,14 +13035,14 @@ function layer(scheduler2) {
13016
13035
  }
13017
13036
  return count >= scheduler2.config.collision_limit;
13018
13037
  });
13019
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
13038
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
13020
13039
  var ev = start_date;
13021
13040
  if (arguments.length != 1) {
13022
13041
  ev = extra_data || {};
13023
13042
  ev.start_date = start_date;
13024
13043
  ev.end_date = end_date;
13025
13044
  ev.text = text;
13026
- ev.id = id2;
13045
+ ev.id = id;
13027
13046
  ev.layer = this.defaultLayer;
13028
13047
  }
13029
13048
  ev.id = ev.id || scheduler2.uid();
@@ -13124,21 +13143,21 @@ function layer(scheduler2) {
13124
13143
  }
13125
13144
  };
13126
13145
  scheduler2._render_v_bar = function(ev, x, y, w, h, style, contentA, contentB, bottom) {
13127
- var id2 = ev.id;
13146
+ var id = ev.id;
13128
13147
  if (contentA.indexOf("<div class=") == -1)
13129
13148
  contentA = scheduler2.templates["event_header_" + ev.layer] ? scheduler2.templates["event_header_" + ev.layer](ev.start_date, ev.end_date, ev) : contentA;
13130
13149
  if (contentB.indexOf("<div class=") == -1)
13131
13150
  contentB = scheduler2.templates["event_text_" + ev.layer] ? scheduler2.templates["event_text_" + ev.layer](ev.start_date, ev.end_date, ev) : contentB;
13132
13151
  var d = document.createElement("div");
13133
- var cs2 = "dhx_cal_event";
13152
+ var cs = "dhx_cal_event";
13134
13153
  var cse = scheduler2.templates["event_class_" + ev.layer] ? scheduler2.templates["event_class_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
13135
13154
  if (cse)
13136
- cs2 = cs2 + " " + cse;
13155
+ cs = cs + " " + cse;
13137
13156
  var borderBox = scheduler2._border_box_events();
13138
13157
  var borderBoxWidth = w - 2;
13139
13158
  var boxWidth = borderBox ? borderBoxWidth : w - 4, headerWidth = borderBox ? borderBoxWidth : w - 6, bodyWidth = borderBox ? borderBoxWidth : w - 14, footerWidth = borderBox ? borderBoxWidth - 2 : w - 8;
13140
13159
  var bodyHeight = borderBox ? h - this.xy.event_header_height : h - 30 + 1;
13141
- var html = '<div event_id="' + id2 + '" ' + scheduler2.config.event_attribute + '="' + id2 + '" class="' + cs2 + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + boxWidth + "px; height:" + h + "px;" + (style || "") + '">';
13160
+ var html = '<div event_id="' + id + '" ' + scheduler2.config.event_attribute + '="' + id + '" class="' + cs + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + boxWidth + "px; height:" + h + "px;" + (style || "") + '">';
13142
13161
  html += '<div class="dhx_header" style=" width:' + headerWidth + 'px;" >&nbsp;</div>';
13143
13162
  html += '<div class="dhx_title">' + contentA + "</div>";
13144
13163
  html += '<div class="dhx_body" style=" width:' + bodyWidth + "px; height:" + bodyHeight + 'px;">' + contentB + "</div>";
@@ -13156,11 +13175,11 @@ function layer(scheduler2) {
13156
13175
  var hb = this.xy.bar_height;
13157
13176
  var y = this._colsS.heights[ev._sweek] + (this._colsS.height ? this.xy.month_scale_height + 2 : 2) + ev._sorder * hb;
13158
13177
  var d = document.createElement("div");
13159
- var cs2 = ev._timed ? "dhx_cal_event_clear" : "dhx_cal_event_line";
13178
+ var cs = ev._timed ? "dhx_cal_event_clear" : "dhx_cal_event_line";
13160
13179
  var cse = scheduler2.templates["event_class_" + ev.layer] ? scheduler2.templates["event_class_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_class(ev.start_date, ev.end_date, ev);
13161
13180
  if (cse)
13162
- cs2 = cs2 + " " + cse;
13163
- var html = '<div event_id="' + ev.id + '" ' + this.config.event_attribute + '="' + ev.id + '" class="' + cs2 + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + (x2 - x - 15) + "px;" + (ev._text_style || "") + '">';
13181
+ cs = cs + " " + cse;
13182
+ var html = '<div event_id="' + ev.id + '" ' + this.config.event_attribute + '="' + ev.id + '" class="' + cs + '" style="position:absolute; top:' + y + "px; left:" + x + "px; width:" + (x2 - x - 15) + "px;" + (ev._text_style || "") + '">';
13164
13183
  if (ev._timed)
13165
13184
  html += scheduler2.templates["event_bar_date_" + ev.layer] ? scheduler2.templates["event_bar_date_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_bar_date(ev.start_date, ev.end_date, ev);
13166
13185
  html += scheduler2.templates["event_bar_text_" + ev.layer] ? scheduler2.templates["event_bar_text_" + ev.layer](ev.start_date, ev.end_date, ev) : scheduler2.templates.event_bar_text(ev.start_date, ev.end_date, ev) + "</div>)";
@@ -13241,7 +13260,7 @@ function layer(scheduler2) {
13241
13260
  this._rendered.push(obj);
13242
13261
  }
13243
13262
  };
13244
- scheduler2.filter_agenda = function(id2, event2) {
13263
+ scheduler2.filter_agenda = function(id, event2) {
13245
13264
  var layer2 = scheduler2.getLayer(event2.layer);
13246
13265
  return layer2 && layer2.visible;
13247
13266
  };
@@ -13279,22 +13298,22 @@ function limit(scheduler2) {
13279
13298
  scheduler2.attachEvent("onMouseDown", function(classname) {
13280
13299
  return !(classname == dhx_time_block);
13281
13300
  });
13282
- scheduler2.attachEvent("onBeforeDrag", function(id2) {
13283
- if (!id2)
13301
+ scheduler2.attachEvent("onBeforeDrag", function(id) {
13302
+ if (!id)
13284
13303
  return true;
13285
- return scheduler2.checkLimitViolation(scheduler2.getEvent(id2));
13304
+ return scheduler2.checkLimitViolation(scheduler2.getEvent(id));
13286
13305
  });
13287
13306
  scheduler2.attachEvent("onClick", function(event_id, native_event_object) {
13288
13307
  return scheduler2.checkLimitViolation(scheduler2.getEvent(event_id));
13289
13308
  });
13290
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
13291
- var ev = scheduler2.getEvent(id2);
13309
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
13310
+ var ev = scheduler2.getEvent(id);
13292
13311
  before = [ev.start_date, ev.end_date];
13293
13312
  return scheduler2.checkLimitViolation(ev);
13294
13313
  });
13295
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
13314
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
13296
13315
  if (!(data.start_date && data.end_date)) {
13297
- var ev = scheduler2.getEvent(id2);
13316
+ var ev = scheduler2.getEvent(id);
13298
13317
  data.start_date = new Date(ev.start_date);
13299
13318
  data.end_date = new Date(ev.end_date);
13300
13319
  }
@@ -13305,10 +13324,10 @@ function limit(scheduler2) {
13305
13324
  }
13306
13325
  return scheduler2.checkLimitViolation(data);
13307
13326
  });
13308
- scheduler2.attachEvent("onEventAdded", function(id2) {
13309
- if (!id2)
13327
+ scheduler2.attachEvent("onEventAdded", function(id) {
13328
+ if (!id)
13310
13329
  return true;
13311
- var ev = scheduler2.getEvent(id2);
13330
+ var ev = scheduler2.getEvent(id);
13312
13331
  if (!scheduler2.checkLimitViolation(ev) && scheduler2.config.limit_start && scheduler2.config.limit_end) {
13313
13332
  if (ev.start_date < scheduler2.config.limit_start) {
13314
13333
  ev.start_date = new Date(scheduler2.config.limit_start);
@@ -13329,10 +13348,10 @@ function limit(scheduler2) {
13329
13348
  }
13330
13349
  return true;
13331
13350
  });
13332
- scheduler2.attachEvent("onEventChanged", function(id2) {
13333
- if (!id2)
13351
+ scheduler2.attachEvent("onEventChanged", function(id) {
13352
+ if (!id)
13334
13353
  return true;
13335
- var ev = scheduler2.getEvent(id2);
13354
+ var ev = scheduler2.getEvent(id);
13336
13355
  if (!scheduler2.checkLimitViolation(ev)) {
13337
13356
  if (!before)
13338
13357
  return false;
@@ -13814,13 +13833,13 @@ function map_view(scheduler2) {
13814
13833
  }
13815
13834
  };
13816
13835
  function attachSchedulerEvents() {
13817
- eventHandlerIds.push(scheduler2.attachEvent("onEventSave", function(id2, ev, is_new) {
13818
- let unmodifiedEvent = scheduler2.getEvent(id2);
13836
+ eventHandlerIds.push(scheduler2.attachEvent("onEventSave", function(id, ev, is_new) {
13837
+ let unmodifiedEvent = scheduler2.getEvent(id);
13819
13838
  if (unmodifiedEvent && unmodifiedEvent.event_location != ev.event_location) {
13820
13839
  scheduler2._eventLocationChanged = true;
13821
13840
  }
13822
13841
  return true;
13823
- }), scheduler2.attachEvent("onEventChanged", (id2, event2) => {
13842
+ }), scheduler2.attachEvent("onEventChanged", (id, event2) => {
13824
13843
  const { start_date, end_date } = event2;
13825
13844
  const { min_date, max_date } = scheduler2.getState();
13826
13845
  if (start_date.valueOf() < max_date.valueOf() && end_date.valueOf() > min_date.valueOf()) {
@@ -13838,7 +13857,7 @@ function map_view(scheduler2) {
13838
13857
  let newIdEvent = scheduler2.getEvent(new_id);
13839
13858
  mapAdapter == null ? void 0 : mapAdapter.removeEventMarker(old_id);
13840
13859
  mapAdapter == null ? void 0 : mapAdapter.addEventMarker(newIdEvent);
13841
- }), scheduler2.attachEvent("onEventAdded", (id2, event2) => {
13860
+ }), scheduler2.attachEvent("onEventAdded", (id, event2) => {
13842
13861
  const { start_date, end_date } = event2;
13843
13862
  const { min_date, max_date } = scheduler2.getState();
13844
13863
  if (start_date.valueOf() < max_date.valueOf() && end_date.valueOf() > min_date.valueOf()) {
@@ -13852,20 +13871,20 @@ function map_view(scheduler2) {
13852
13871
  }
13853
13872
  }
13854
13873
  }
13855
- }), scheduler2.attachEvent("onClick", function(id2, e) {
13856
- const event2 = scheduler2.getEvent(id2);
13874
+ }), scheduler2.attachEvent("onClick", function(id, e) {
13875
+ const event2 = scheduler2.getEvent(id);
13857
13876
  if (mapAdapter && event2)
13858
13877
  mapAdapter.onEventClick(event2);
13859
13878
  return false;
13860
- }), scheduler2.attachEvent("onBeforeEventDelete", (id2, event2) => {
13879
+ }), scheduler2.attachEvent("onBeforeEventDelete", (id, event2) => {
13861
13880
  if (mapAdapter) {
13862
- mapAdapter.removeEventMarker(id2);
13881
+ mapAdapter.removeEventMarker(id);
13863
13882
  }
13864
13883
  return true;
13865
13884
  }));
13866
13885
  }
13867
13886
  function detachSchedulerEvents() {
13868
- eventHandlerIds.forEach((id2) => scheduler2.detachEvent(id2));
13887
+ eventHandlerIds.forEach((id) => scheduler2.detachEvent(id));
13869
13888
  eventHandlerIds = [];
13870
13889
  }
13871
13890
  scheduler2.attachEvent("onSchedulerReady", function() {
@@ -14009,7 +14028,7 @@ function map_view(scheduler2) {
14009
14028
  scheduler2.set_sizes();
14010
14029
  }
14011
14030
  }
14012
- scheduler2.attachEvent("onLocationError", function(id2) {
14031
+ scheduler2.attachEvent("onLocationError", function(id) {
14013
14032
  alert("Location can't be found");
14014
14033
  return google.maps.LatLng(51.47784, -1492e-6);
14015
14034
  });
@@ -14206,10 +14225,10 @@ function minical(scheduler2) {
14206
14225
  css = css || "dhx_calendar_click";
14207
14226
  if (!date)
14208
14227
  return;
14209
- var el2 = this._locateCalendar(cal, date);
14210
- if (!el2)
14228
+ var el = this._locateCalendar(cal, date);
14229
+ if (!el)
14211
14230
  return;
14212
- el2.className = (el2.className || "").replace(RegExp(css, "g"));
14231
+ el.className = (el.className || "").replace(RegExp(css, "g"));
14213
14232
  };
14214
14233
  scheduler2._week_template = function(width) {
14215
14234
  var summ = width || 250;
@@ -14752,36 +14771,36 @@ function mvc(scheduler2) {
14752
14771
  if (obj instanceof Backbone.Collection)
14753
14772
  _finish_ext_load(scheduler2);
14754
14773
  });
14755
- scheduler2.attachEvent("onEventCreated", function(id2) {
14756
- var ev = new events.model(scheduler2.getEvent(id2));
14757
- scheduler2._events[id2] = ev.toJSON();
14758
- scheduler2._events[id2].id = id2;
14774
+ scheduler2.attachEvent("onEventCreated", function(id) {
14775
+ var ev = new events.model(scheduler2.getEvent(id));
14776
+ scheduler2._events[id] = ev.toJSON();
14777
+ scheduler2._events[id].id = id;
14759
14778
  return true;
14760
14779
  });
14761
- scheduler2.attachEvent("onEventAdded", function(id2) {
14762
- if (!events.get(id2)) {
14763
- var data = sanitize(scheduler2.getEvent(id2));
14780
+ scheduler2.attachEvent("onEventAdded", function(id) {
14781
+ if (!events.get(id)) {
14782
+ var data = sanitize(scheduler2.getEvent(id));
14764
14783
  var model = new events.model(data);
14765
14784
  var cid = _get_id(model);
14766
- if (cid != id2)
14767
- this.changeEventId(id2, cid);
14785
+ if (cid != id)
14786
+ this.changeEventId(id, cid);
14768
14787
  events.add(model);
14769
14788
  events.trigger("scheduler:add", model);
14770
14789
  }
14771
14790
  return true;
14772
14791
  });
14773
- scheduler2.attachEvent("onEventChanged", function(id2) {
14774
- var ev = events.get(id2);
14775
- var upd = sanitize(scheduler2.getEvent(id2));
14792
+ scheduler2.attachEvent("onEventChanged", function(id) {
14793
+ var ev = events.get(id);
14794
+ var upd = sanitize(scheduler2.getEvent(id));
14776
14795
  ev.set(upd);
14777
14796
  events.trigger("scheduler:change", ev);
14778
14797
  return true;
14779
14798
  });
14780
- scheduler2.attachEvent("onEventDeleted", function(id2) {
14781
- var model = events.get(id2);
14799
+ scheduler2.attachEvent("onEventDeleted", function(id) {
14800
+ var model = events.get(id);
14782
14801
  if (model) {
14783
14802
  events.trigger("scheduler:remove", model);
14784
- events.remove(id2);
14803
+ events.remove(id);
14785
14804
  }
14786
14805
  return true;
14787
14806
  });
@@ -14799,10 +14818,10 @@ function outerdrag(scheduler2) {
14799
14818
  function on_drop(sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml) {
14800
14819
  if (scheduler2.checkEvent("onBeforeExternalDragIn") && !scheduler2.callEvent("onBeforeExternalDragIn", [sourceHtmlObject, dhtmlObject, targetHtmlObject, targetHtml, last_event]))
14801
14820
  return;
14802
- var temp = scheduler2.attachEvent("onEventCreated", function(id2) {
14803
- if (!scheduler2.callEvent("onExternalDragIn", [id2, sourceHtmlObject, last_event])) {
14821
+ var temp = scheduler2.attachEvent("onEventCreated", function(id) {
14822
+ if (!scheduler2.callEvent("onExternalDragIn", [id, sourceHtmlObject, last_event])) {
14804
14823
  this._drag_mode = this._drag_id = null;
14805
- this.deleteEvent(id2);
14824
+ this.deleteEvent(id);
14806
14825
  }
14807
14826
  });
14808
14827
  var action_data = scheduler2.getActionData(last_event);
@@ -14866,8 +14885,8 @@ function pdf(scheduler2) {
14866
14885
  var header = scheduler2._els.dhx_cal_header[0].childNodes;
14867
14886
  var els = header[1] ? header[1].childNodes : header[0].childNodes;
14868
14887
  for (var i = 0; i < els.length; i++) {
14869
- var el2 = els[i].style ? els[i] : els[i].parentNode;
14870
- var w = parseFloat(el2.style.width);
14888
+ var el = els[i].style ? els[i] : els[i].parentNode;
14889
+ var w = parseFloat(el.style.width);
14871
14890
  if (width > w) {
14872
14891
  width -= w + 1;
14873
14892
  r += w + 1;
@@ -14947,8 +14966,8 @@ function pdf(scheduler2) {
14947
14966
  if (scheduler2.matrix && scheduler2.matrix[scheduler2._mode]) {
14948
14967
  xml += "<y>";
14949
14968
  for (var i = 0; i < yh.firstChild.rows.length; i++) {
14950
- var el2 = yh.firstChild.rows[i];
14951
- xml += "<row><![CDATA[" + clean_html(el2.cells[0].innerHTML) + "]]></row>";
14969
+ var el = yh.firstChild.rows[i];
14970
+ xml += "<row><![CDATA[" + clean_html(el.cells[0].innerHTML) + "]]></row>";
14952
14971
  }
14953
14972
  xml += "</y>";
14954
14973
  dy = yh.firstChild.rows[0].cells[0].offsetHeight;
@@ -15073,8 +15092,8 @@ function pdf(scheduler2) {
15073
15092
  week = de_week(evs[i], week);
15074
15093
  } else if (scheduler2.matrix && scheduler2.matrix[scheduler2._mode]) {
15075
15094
  day = 0;
15076
- var el2 = evs[i].parentNode.parentNode.parentNode;
15077
- week = el2.rowIndex;
15095
+ var el = evs[i].parentNode.parentNode.parentNode;
15096
+ week = el.rowIndex;
15078
15097
  var dy_copy = dy;
15079
15098
  dy = evs[i].parentNode.offsetHeight;
15080
15099
  zy = y_norm(evs[i].style.top);
@@ -15190,11 +15209,11 @@ function quick_info(scheduler2) {
15190
15209
  });
15191
15210
  }
15192
15211
  });
15193
- scheduler2.attachEvent("onClick", function(id2) {
15212
+ scheduler2.attachEvent("onClick", function(id) {
15194
15213
  if (!scheduler2.config.show_quick_info) {
15195
15214
  return;
15196
15215
  }
15197
- scheduler2.showQuickInfo(id2);
15216
+ scheduler2.showQuickInfo(id);
15198
15217
  return true;
15199
15218
  });
15200
15219
  (function() {
@@ -15224,24 +15243,24 @@ function quick_info(scheduler2) {
15224
15243
  return scheduler2.templates.week_date(start, end, ev);
15225
15244
  }
15226
15245
  };
15227
- scheduler2.showQuickInfo = function(id2) {
15228
- if (id2 == this._quick_info_box_id)
15246
+ scheduler2.showQuickInfo = function(id) {
15247
+ if (id == this._quick_info_box_id)
15229
15248
  return;
15230
15249
  this.hideQuickInfo(true);
15231
- if (this.callEvent("onBeforeQuickInfo", [id2]) === false) {
15250
+ if (this.callEvent("onBeforeQuickInfo", [id]) === false) {
15232
15251
  return;
15233
15252
  }
15234
15253
  let pos;
15235
- if (clickedElementPosition && clickedElementPosition.id == id2) {
15254
+ if (clickedElementPosition && clickedElementPosition.id == id) {
15236
15255
  pos = clickedElementPosition.position;
15237
15256
  } else {
15238
- pos = this._get_event_counter_part(id2);
15257
+ pos = this._get_event_counter_part(id);
15239
15258
  }
15240
15259
  if (pos) {
15241
15260
  this._quick_info_box = this._init_quick_info(pos);
15242
- this._fill_quick_data(id2);
15261
+ this._fill_quick_data(id);
15243
15262
  this._show_quick_info(pos);
15244
- this.callEvent("onQuickInfo", [id2]);
15263
+ this.callEvent("onQuickInfo", [id]);
15245
15264
  }
15246
15265
  };
15247
15266
  (function() {
@@ -15419,8 +15438,8 @@ function quick_info(scheduler2) {
15419
15438
  }
15420
15439
  var mask = scheduler2._getClassName(node);
15421
15440
  if (mask.indexOf("_icon") != -1) {
15422
- var id2 = scheduler2._quick_info_box_id;
15423
- scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id2);
15441
+ var id = scheduler2._quick_info_box_id;
15442
+ scheduler2._click.buttons[mask.split(" ")[1].replace("icon_", "")](id);
15424
15443
  } else
15425
15444
  scheduler2._qi_button_click(node.parentNode);
15426
15445
  };
@@ -15440,14 +15459,14 @@ function quick_info(scheduler2) {
15440
15459
  }
15441
15460
  return 0;
15442
15461
  }
15443
- scheduler2._get_event_counter_part = function(id2) {
15444
- var domEv = scheduler2.getRenderedEvent(id2);
15462
+ scheduler2._get_event_counter_part = function(id) {
15463
+ var domEv = scheduler2.getRenderedEvent(id);
15445
15464
  return getPositionInsideScheduler(domEv);
15446
15465
  };
15447
- scheduler2._fill_quick_data = function(id2) {
15448
- var ev = scheduler2.getEvent(id2);
15466
+ scheduler2._fill_quick_data = function(id) {
15467
+ var ev = scheduler2.getEvent(id);
15449
15468
  var qi = scheduler2._quick_info_box;
15450
- scheduler2._quick_info_box_id = id2;
15469
+ scheduler2._quick_info_box_id = id;
15451
15470
  var header = { content: scheduler2.templates.quick_info_title(ev.start_date, ev.end_date, ev), date: scheduler2.templates.quick_info_date(ev.start_date, ev.end_date, ev) };
15452
15471
  var titleContent = qi.querySelector(".dhx_cal_qi_tcontent");
15453
15472
  titleContent.innerHTML = `<span>${header.content}</span>`;
@@ -15472,8 +15491,8 @@ function readonly(scheduler2) {
15472
15491
  }
15473
15492
  var original_left_buttons = scheduler2.config.buttons_left.slice();
15474
15493
  var original_right_buttons = scheduler2.config.buttons_right.slice();
15475
- scheduler2.attachEvent("onBeforeLightbox", function(id2) {
15476
- if (this.config.readonly_form || this.getEvent(id2).readonly) {
15494
+ scheduler2.attachEvent("onBeforeLightbox", function(id) {
15495
+ if (this.config.readonly_form || this.getEvent(id).readonly) {
15477
15496
  this.config.readonly_active = true;
15478
15497
  } else {
15479
15498
  this.config.readonly_active = false;
@@ -15861,14 +15880,14 @@ var __assign = function() {
15861
15880
  };
15862
15881
  function __spreadArray(to, from, pack) {
15863
15882
  if (pack || arguments.length === 2)
15864
- for (var i = 0, l = from.length, ar2; i < l; i++) {
15865
- if (ar2 || !(i in from)) {
15866
- if (!ar2)
15867
- ar2 = Array.prototype.slice.call(from, 0, i);
15868
- ar2[i] = from[i];
15883
+ for (var i = 0, l = from.length, ar; i < l; i++) {
15884
+ if (ar || !(i in from)) {
15885
+ if (!ar)
15886
+ ar = Array.prototype.slice.call(from, 0, i);
15887
+ ar[i] = from[i];
15869
15888
  }
15870
15889
  }
15871
- return to.concat(ar2 || Array.prototype.slice.call(from));
15890
+ return to.concat(ar || Array.prototype.slice.call(from));
15872
15891
  }
15873
15892
  typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message2) {
15874
15893
  var e = new Error(message2);
@@ -15894,8 +15913,8 @@ var ENGLISH = { dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday
15894
15913
  var contains = function(arr, val) {
15895
15914
  return arr.indexOf(val) !== -1;
15896
15915
  };
15897
- var defaultGetText = function(id2) {
15898
- return id2.toString();
15916
+ var defaultGetText = function(id) {
15917
+ return id.toString();
15899
15918
  };
15900
15919
  var defaultDateFormatter = function(year, month, day) {
15901
15920
  return "".concat(month, " ").concat(day, ", ").concat(year);
@@ -18156,13 +18175,13 @@ function recurring(scheduler2) {
18156
18175
  event2.deleted = null;
18157
18176
  }
18158
18177
  function createException(ev) {
18159
- let id2 = ev.id.split("#");
18178
+ let id = ev.id.split("#");
18160
18179
  let nid = scheduler2.uid();
18161
18180
  scheduler2._not_render = true;
18162
18181
  let nev = scheduler2._copy_event(ev);
18163
18182
  nev.id = nid;
18164
- nev.recurring_event_id = id2[0];
18165
- let timestamp = id2[1];
18183
+ nev.recurring_event_id = id[0];
18184
+ let timestamp = id[1];
18166
18185
  nev.original_start = new Date(Number(timestamp));
18167
18186
  scheduler2._add_rec_marker(nev, timestamp);
18168
18187
  scheduler2.addEvent(nev);
@@ -18174,18 +18193,18 @@ function recurring(scheduler2) {
18174
18193
  function setUTCPartsToDate(d) {
18175
18194
  return new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds());
18176
18195
  }
18177
- function updateFollowingEventsRRULE(ev) {
18196
+ function updateFollowingRRULEOnSave(ev) {
18178
18197
  if (ev.rrule.includes(";UNTIL=")) {
18179
18198
  ev.rrule = ev.rrule.split(";UNTIL=")[0];
18180
18199
  }
18181
- let parsedRRule = rrulestr(`RRULE:${ev.rrule};UNTIL=${toIcalString(ev._end_date || ev.end_date)}`, { dtstart: ev.start_date });
18200
+ let parsedRRule = rrulestr(`RRULE:${ev.rrule};UNTIL=${toIcalString(setUTCPartsToDate(ev._end_date || ev.end_date))}`, { dtstart: ev.start_date });
18182
18201
  let newRRULE = new RRule(parsedRRule.origOptions).toString().replace("RRULE:", "");
18183
18202
  newRRULE = newRRULE.split("\n")[1];
18184
18203
  ev.rrule = newRRULE;
18185
18204
  }
18186
- function updateFollowingWithWEEKLY(id2, ev) {
18205
+ function updateFollowingRRULE(id, ev) {
18187
18206
  if (!ev) {
18188
- ev = scheduler2.getEvent(id2);
18207
+ ev = scheduler2.getEvent(id);
18189
18208
  }
18190
18209
  let rruleStringparts = ev.rrule.split(";");
18191
18210
  let updatedRRULE = [];
@@ -18198,6 +18217,13 @@ function recurring(scheduler2) {
18198
18217
  continue;
18199
18218
  }
18200
18219
  }
18220
+ if (code === "UNTIL") {
18221
+ const rule = rrulestr(ev.rrule);
18222
+ const untilDate = rule.options.until;
18223
+ if (untilDate.valueOf() < ev.start_date.valueOf()) {
18224
+ ev._end_date = ev.end_date;
18225
+ }
18226
+ }
18201
18227
  updatedRRULE.push(code);
18202
18228
  updatedRRULE.push("=");
18203
18229
  updatedRRULE.push(name);
@@ -18206,8 +18232,8 @@ function recurring(scheduler2) {
18206
18232
  updatedRRULE.pop();
18207
18233
  ev.rrule = updatedRRULE.join("");
18208
18234
  }
18209
- scheduler2._isFollowing = function(id2) {
18210
- let ev = scheduler2.getEvent(id2);
18235
+ scheduler2._isFollowing = function(id) {
18236
+ let ev = scheduler2.getEvent(id);
18211
18237
  return !!(ev && ev._thisAndFollowing);
18212
18238
  };
18213
18239
  scheduler2._isFirstOccurrence = function(ev) {
@@ -18234,18 +18260,18 @@ function recurring(scheduler2) {
18234
18260
  this._rec_markers_pull[ev.event_pid] = {};
18235
18261
  this._rec_markers_pull[ev.event_pid][time] = ev;
18236
18262
  };
18237
- scheduler2._get_rec_marker = function(time, id2) {
18238
- let ch = this._rec_markers_pull[id2];
18263
+ scheduler2._get_rec_marker = function(time, id) {
18264
+ let ch = this._rec_markers_pull[id];
18239
18265
  if (ch)
18240
18266
  return ch[time];
18241
18267
  return null;
18242
18268
  };
18243
- scheduler2._get_rec_markers = function(id2) {
18244
- return this._rec_markers_pull[id2] || [];
18269
+ scheduler2._get_rec_markers = function(id) {
18270
+ return this._rec_markers_pull[id] || [];
18245
18271
  };
18246
18272
  (function() {
18247
18273
  var old_add_event = scheduler2.addEvent;
18248
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
18274
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
18249
18275
  var ev_id = old_add_event.apply(this, arguments);
18250
18276
  if (ev_id && scheduler2.getEvent(ev_id)) {
18251
18277
  var ev = scheduler2.getEvent(ev_id);
@@ -18265,35 +18291,35 @@ function recurring(scheduler2) {
18265
18291
  }
18266
18292
  return true;
18267
18293
  });
18268
- scheduler2.attachEvent("onEventIdChange", function(id2, new_id) {
18294
+ scheduler2.attachEvent("onEventIdChange", function(id, new_id) {
18269
18295
  if (this._ignore_call)
18270
18296
  return;
18271
18297
  this._ignore_call = true;
18272
- if (scheduler2._rec_markers[id2]) {
18273
- scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id2];
18274
- delete scheduler2._rec_markers[id2];
18298
+ if (scheduler2._rec_markers[id]) {
18299
+ scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id];
18300
+ delete scheduler2._rec_markers[id];
18275
18301
  }
18276
- if (scheduler2._rec_markers_pull[id2]) {
18277
- scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id2];
18278
- delete scheduler2._rec_markers_pull[id2];
18302
+ if (scheduler2._rec_markers_pull[id]) {
18303
+ scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id];
18304
+ delete scheduler2._rec_markers_pull[id];
18279
18305
  }
18280
18306
  for (var i = 0; i < this._rec_temp.length; i++) {
18281
18307
  var tev = this._rec_temp[i];
18282
- if (this._is_virtual_event(tev.id) && tev.id.split("#")[0] == id2) {
18308
+ if (this._is_virtual_event(tev.id) && tev.id.split("#")[0] == id) {
18283
18309
  tev.recurring_event_id = new_id;
18284
18310
  this.changeEventId(tev.id, new_id + "#" + tev.id.split("#")[1]);
18285
18311
  }
18286
18312
  }
18287
18313
  for (var i in this._rec_markers) {
18288
18314
  var tev = this._rec_markers[i];
18289
- if (tev.recurring_event_id == id2) {
18315
+ if (tev.recurring_event_id == id) {
18290
18316
  tev.recurring_event_id = new_id;
18291
18317
  tev._pid_changed = true;
18292
18318
  }
18293
18319
  }
18294
- var el2 = scheduler2._rec_markers[new_id];
18295
- if (el2 && el2._pid_changed) {
18296
- delete el2._pid_changed;
18320
+ var el = scheduler2._rec_markers[new_id];
18321
+ if (el && el._pid_changed) {
18322
+ delete el._pid_changed;
18297
18323
  setTimeout(function() {
18298
18324
  if (scheduler2.$destroyed) {
18299
18325
  return true;
@@ -18333,19 +18359,19 @@ function recurring(scheduler2) {
18333
18359
  }
18334
18360
  }
18335
18361
  }
18336
- function updateTextEvents(id2, data) {
18362
+ function updateTextEvents(id, data) {
18337
18363
  for (let i in scheduler2._events) {
18338
18364
  let tev = scheduler2._events[i];
18339
- if (tev.recurring_event_id == id2 || scheduler2._is_virtual_event(tev.id) && tev.id.split("#")[0] == id2) {
18365
+ if (tev.recurring_event_id == id || scheduler2._is_virtual_event(tev.id) && tev.id.split("#")[0] == id) {
18340
18366
  tev.text = data.text;
18341
18367
  scheduler2.updateEvent(tev.id);
18342
18368
  }
18343
18369
  }
18344
18370
  }
18345
18371
  function deleteEventFromSeries(idTimestamp, ev) {
18346
- let id2 = idTimestamp;
18372
+ let id = idTimestamp;
18347
18373
  let originalStartTimestamp = new Date(ev.original_start).valueOf();
18348
- idTimestamp = String(id2).split("#") || ev._pid_time || originalStartTimestamp;
18374
+ idTimestamp = String(id).split("#") || ev._pid_time || originalStartTimestamp;
18349
18375
  let nid = scheduler2.uid();
18350
18376
  let tid = idTimestamp[1] ? idTimestamp[1] : ev._pid_time || originalStartTimestamp;
18351
18377
  let nev = scheduler2._copy_event(ev);
@@ -18355,29 +18381,29 @@ function recurring(scheduler2) {
18355
18381
  nev.deleted = true;
18356
18382
  scheduler2.addEvent(nev);
18357
18383
  }
18358
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
18359
- var ev = this.getEvent(id2);
18360
- if (this._is_virtual_event(id2) || this._is_modified_occurrence(ev) && !isDeletedOccurrence(ev)) {
18361
- deleteEventFromSeries(id2, ev);
18384
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
18385
+ var ev = this.getEvent(id);
18386
+ if (this._is_virtual_event(id) || this._is_modified_occurrence(ev) && !isDeletedOccurrence(ev)) {
18387
+ deleteEventFromSeries(id, ev);
18362
18388
  } else {
18363
18389
  if (isSeries(ev) && this._lightbox_id)
18364
18390
  this._roll_back_dates(ev);
18365
- var sub = this._get_rec_markers(id2);
18391
+ var sub = this._get_rec_markers(id);
18366
18392
  for (var i in sub) {
18367
18393
  if (sub.hasOwnProperty(i)) {
18368
- id2 = sub[i].id;
18369
- if (this.getEvent(id2))
18370
- this.deleteEvent(id2, true);
18394
+ id = sub[i].id;
18395
+ if (this.getEvent(id))
18396
+ this.deleteEvent(id, true);
18371
18397
  }
18372
18398
  }
18373
18399
  }
18374
18400
  return true;
18375
18401
  });
18376
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
18377
- if (!this._is_virtual_event(id2) && this._is_modified_occurrence(ev)) {
18378
- if (!scheduler2._events[id2]) {
18402
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
18403
+ if (!this._is_virtual_event(id) && this._is_modified_occurrence(ev)) {
18404
+ if (!scheduler2._events[id]) {
18379
18405
  ev.deleted = true;
18380
- this.setEvent(id2, ev);
18406
+ this.setEvent(id, ev);
18381
18407
  scheduler2.render();
18382
18408
  }
18383
18409
  }
@@ -18405,11 +18431,11 @@ function recurring(scheduler2) {
18405
18431
  }
18406
18432
  return true;
18407
18433
  });
18408
- scheduler2.attachEvent("onEventChanged", function(id2, event2) {
18434
+ scheduler2.attachEvent("onEventChanged", function(id, event2) {
18409
18435
  if (this._loading)
18410
18436
  return true;
18411
- let ev = this.getEvent(id2);
18412
- if (this._is_virtual_event(id2)) {
18437
+ let ev = this.getEvent(id);
18438
+ if (this._is_virtual_event(id)) {
18413
18439
  createException(ev);
18414
18440
  } else {
18415
18441
  if (ev.start_date) {
@@ -18419,23 +18445,23 @@ function recurring(scheduler2) {
18419
18445
  ev.end_date = clearMilliseconds(ev.end_date);
18420
18446
  }
18421
18447
  if (isSeries(ev) && this._lightbox_id) {
18422
- if (ev._removeFollowing || this._isFollowing(id2)) {
18448
+ if (ev._removeFollowing || this._isFollowing(id)) {
18423
18449
  ev._removeFollowing = null;
18424
18450
  } else {
18425
18451
  this._roll_back_dates(ev);
18426
18452
  }
18427
18453
  }
18428
- var sub = this._get_rec_markers(id2);
18454
+ var sub = this._get_rec_markers(id);
18429
18455
  for (var i in sub) {
18430
18456
  if (sub.hasOwnProperty(i)) {
18431
18457
  delete this._rec_markers[sub[i].id];
18432
18458
  this.deleteEvent(sub[i].id, true);
18433
18459
  }
18434
18460
  }
18435
- delete this._rec_markers_pull[id2];
18461
+ delete this._rec_markers_pull[id];
18436
18462
  var isEventFound = false;
18437
18463
  for (var k = 0; k < this._rendered.length; k++) {
18438
- if (this._rendered[k].getAttribute(this.config.event_attribute) == id2)
18464
+ if (this._rendered[k].getAttribute(this.config.event_attribute) == id)
18439
18465
  isEventFound = true;
18440
18466
  }
18441
18467
  if (!isEventFound)
@@ -18444,21 +18470,21 @@ function recurring(scheduler2) {
18444
18470
  removeTempDraggedEvent();
18445
18471
  return true;
18446
18472
  });
18447
- scheduler2.attachEvent("onEventAdded", function(id2) {
18473
+ scheduler2.attachEvent("onEventAdded", function(id) {
18448
18474
  if (!this._loading) {
18449
- var ev = this.getEvent(id2);
18475
+ var ev = this.getEvent(id);
18450
18476
  if (isSeries(ev)) {
18451
18477
  this._roll_back_dates(ev);
18452
18478
  }
18453
18479
  }
18454
18480
  return true;
18455
18481
  });
18456
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
18457
- let ev = this.getEvent(id2);
18482
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
18483
+ let ev = this.getEvent(id);
18458
18484
  let tempEvent = scheduler2._lame_clone(ev);
18459
18485
  let tempDataRRULE = data.rrule;
18460
18486
  if (ev && isSeries(ev)) {
18461
- if (!is_new_event && this._isFollowing(id2)) {
18487
+ if (!is_new_event && this._isFollowing(id)) {
18462
18488
  if (ev._removeFollowing) {
18463
18489
  let occurrence = scheduler2.getEvent(ev._thisAndFollowing);
18464
18490
  if (occurrence && (ev._firstOccurrence || ev._modified)) {
@@ -18470,13 +18496,13 @@ function recurring(scheduler2) {
18470
18496
  ev._end_date = ev._shorten_end_date;
18471
18497
  ev.start_date = ev._start_date;
18472
18498
  ev._shorten = true;
18473
- updateFollowingEventsRRULE(ev);
18499
+ updateFollowingRRULEOnSave(ev);
18474
18500
  scheduler2.callEvent("onEventChanged", [ev.id, ev]);
18475
18501
  let occurrence2 = scheduler2.getEvent(ev._thisAndFollowing);
18476
18502
  if (occurrence2) {
18477
18503
  for (const i in scheduler2._events) {
18478
18504
  let tev = scheduler2._events[i];
18479
- if (tev.recurring_event_id === id2) {
18505
+ if (tev.recurring_event_id === id) {
18480
18506
  if (tev.start_date.valueOf() > tempEvent.start_date.valueOf()) {
18481
18507
  deleteEventFromSeries(tev.id, tev);
18482
18508
  }
@@ -18498,7 +18524,7 @@ function recurring(scheduler2) {
18498
18524
  } else if (occurrence && ev._modified) {
18499
18525
  for (const i in scheduler2._events) {
18500
18526
  let tev = scheduler2._events[i];
18501
- if (tev.recurring_event_id == id2 && tev.id == tempEvent._thisAndFollowing) {
18527
+ if (tev.recurring_event_id == id && tev.id == tempEvent._thisAndFollowing) {
18502
18528
  setPropsForStorageEvent(i, data, ev, tempEvent);
18503
18529
  }
18504
18530
  }
@@ -18510,7 +18536,7 @@ function recurring(scheduler2) {
18510
18536
  ev._end_date = ev._shorten_end_date;
18511
18537
  ev.start_date = ev._start_date;
18512
18538
  ev._shorten = true;
18513
- updateFollowingEventsRRULE(ev);
18539
+ updateFollowingRRULEOnSave(ev);
18514
18540
  scheduler2.callEvent("onEventChanged", [ev.id, ev]);
18515
18541
  let followingEv = { ...tempEvent };
18516
18542
  followingEv.text = data.text;
@@ -18521,7 +18547,7 @@ function recurring(scheduler2) {
18521
18547
  scheduler2.addEvent(followingEv.start_date, followingEv.end_date, followingEv.text, followingEv.id, followingEv);
18522
18548
  }
18523
18549
  if (!is_new_event) {
18524
- updateTextEvents(id2, data);
18550
+ updateTextEvents(id, data);
18525
18551
  }
18526
18552
  scheduler2.hideLightbox();
18527
18553
  return false;
@@ -18529,7 +18555,7 @@ function recurring(scheduler2) {
18529
18555
  }
18530
18556
  }
18531
18557
  if (!is_new_event) {
18532
- updateTextEvents(id2, data);
18558
+ updateTextEvents(id, data);
18533
18559
  }
18534
18560
  if (tempEvent._ocr && tempEvent._beforeEventChangedFlag) {
18535
18561
  ev.start_date = tempEvent.start_date;
@@ -18543,21 +18569,33 @@ function recurring(scheduler2) {
18543
18569
  removeTempDraggedEvent();
18544
18570
  return true;
18545
18571
  });
18546
- scheduler2.attachEvent("onEventCreated", function(id2) {
18547
- var ev = this.getEvent(id2);
18572
+ scheduler2.attachEvent("onEventCreated", function(id) {
18573
+ var ev = this.getEvent(id);
18548
18574
  if (!isSeries(ev)) {
18549
18575
  clearRecurringProperties(ev);
18550
18576
  }
18551
18577
  return true;
18552
18578
  });
18553
- scheduler2.attachEvent("onEventCancel", function(id2) {
18554
- var ev = this.getEvent(id2);
18579
+ scheduler2.attachEvent("onEventCancel", function(id) {
18580
+ var ev = this.getEvent(id);
18555
18581
  if (isSeries(ev)) {
18556
18582
  this._roll_back_dates(ev);
18557
18583
  this.render_view_data();
18558
18584
  }
18559
18585
  removeTempDraggedEvent();
18560
18586
  });
18587
+ scheduler2.attachEvent("onLightbox", function(id) {
18588
+ const event2 = scheduler2.getEvent(id);
18589
+ if (scheduler2._is_virtual_event(event2.id)) {
18590
+ const body = scheduler2.formSection("recurring");
18591
+ if (body && body.node) {
18592
+ const select = body.node.querySelector("select");
18593
+ if (select) {
18594
+ select.disabled = true;
18595
+ }
18596
+ }
18597
+ }
18598
+ });
18561
18599
  scheduler2._roll_back_dates = function(ev) {
18562
18600
  if (ev.start_date) {
18563
18601
  ev.start_date = clearMilliseconds(ev.start_date);
@@ -18592,24 +18630,24 @@ function recurring(scheduler2) {
18592
18630
  if (ev._modified)
18593
18631
  ev._modified = null;
18594
18632
  };
18595
- scheduler2._is_virtual_event = function(id2) {
18596
- return id2.toString().indexOf("#") != -1;
18633
+ scheduler2._is_virtual_event = function(id) {
18634
+ return id.toString().indexOf("#") != -1;
18597
18635
  };
18598
18636
  scheduler2._is_modified_occurrence = function(ev) {
18599
18637
  return ev.recurring_event_id && ev.recurring_event_id != "0";
18600
18638
  };
18601
18639
  scheduler2.showLightbox_rec = scheduler2.showLightbox;
18602
- scheduler2.showLightbox = function(id2) {
18640
+ scheduler2.showLightbox = function(id) {
18603
18641
  const locale = this.locale;
18604
18642
  let formSetting = scheduler2.config.lightbox_recurring;
18605
- let ev = this.getEvent(id2);
18643
+ let ev = this.getEvent(id);
18606
18644
  let pid = ev.recurring_event_id;
18607
- let isVirtual = this._is_virtual_event(id2);
18645
+ let isVirtual = this._is_virtual_event(id);
18608
18646
  if (isVirtual) {
18609
- pid = id2.split("#")[0];
18647
+ pid = id.split("#")[0];
18610
18648
  }
18611
- const showRequiredLightbox = function(id3, type) {
18612
- const occurrence = scheduler2.getEvent(id3);
18649
+ const showRequiredLightbox = function(id2, type) {
18650
+ const occurrence = scheduler2.getEvent(id2);
18613
18651
  const event2 = scheduler2.getEvent(pid);
18614
18652
  const view = scheduler2.getView();
18615
18653
  if (view && occurrence[view.y_property]) {
@@ -18619,7 +18657,7 @@ function recurring(scheduler2) {
18619
18657
  event2[view.property] = occurrence[view.property];
18620
18658
  }
18621
18659
  if (type === "Occurrence") {
18622
- return scheduler2.showLightbox_rec(id3);
18660
+ return scheduler2.showLightbox_rec(id2);
18623
18661
  }
18624
18662
  if (type === "Following") {
18625
18663
  if (scheduler2._isExceptionFirstOccurrence(occurrence)) {
@@ -18665,14 +18703,14 @@ function recurring(scheduler2) {
18665
18703
  }
18666
18704
  };
18667
18705
  if ((pid || pid * 1 === 0) && isSeries(ev)) {
18668
- return showRequiredLightbox(id2, "AllEvents");
18706
+ return showRequiredLightbox(id, "AllEvents");
18669
18707
  }
18670
18708
  if (!pid || pid === "0" || (!locale.labels.confirm_recurring || formSetting == "instance" || formSetting == "series" && !isVirtual)) {
18671
- return this.showLightbox_rec(id2);
18709
+ return this.showLightbox_rec(id);
18672
18710
  }
18673
18711
  if (formSetting === "ask") {
18674
18712
  const locale2 = scheduler2.locale;
18675
- showModalbox([{ value: "Occurrence", label: locale2.labels.button_edit_occurrence, checked: true, callback: () => showRequiredLightbox(id2, "Occurrence") }, { value: "Following", label: locale2.labels.button_edit_occurrence_and_following, callback: () => showRequiredLightbox(id2, "Following") }, { value: "AllEvents", label: locale2.labels.button_edit_series, callback: () => showRequiredLightbox(id2, "AllEvents") }]);
18713
+ showModalbox([{ value: "Occurrence", label: locale2.labels.button_edit_occurrence, checked: true, callback: () => showRequiredLightbox(id, "Occurrence") }, { value: "Following", label: locale2.labels.button_edit_occurrence_and_following, callback: () => showRequiredLightbox(id, "Following") }, { value: "AllEvents", label: locale2.labels.button_edit_series, callback: () => showRequiredLightbox(id, "AllEvents") }]);
18676
18714
  }
18677
18715
  };
18678
18716
  function showModalbox(options, callback) {
@@ -18708,10 +18746,10 @@ function recurring(scheduler2) {
18708
18746
  }
18709
18747
  } });
18710
18748
  }
18711
- scheduler2._showRequiredModalBox = function(id2, type) {
18749
+ scheduler2._showRequiredModalBox = function(id, type) {
18712
18750
  let buttons;
18713
18751
  const locale = scheduler2.locale;
18714
- let occurrence = scheduler2.getEvent(id2);
18752
+ let occurrence = scheduler2.getEvent(id);
18715
18753
  let pid = occurrence.recurring_event_id;
18716
18754
  let isVirtual = scheduler2._is_virtual_event(occurrence.id);
18717
18755
  if (isVirtual) {
@@ -18769,7 +18807,7 @@ function recurring(scheduler2) {
18769
18807
  tempEvent.duration = (+occurrence2.end_date - +occurrence2.start_date) / 1e3;
18770
18808
  tempEvent._beforeEventChangedFlag = occurrence2._beforeEventChangedFlag;
18771
18809
  if (tempEvent.rrule) {
18772
- updateFollowingWithWEEKLY(tempEvent.id, tempEvent);
18810
+ updateFollowingRRULE(tempEvent.id, tempEvent);
18773
18811
  }
18774
18812
  if (!scheduler2.config.collision_limit || scheduler2.checkCollision(tempEvent)) {
18775
18813
  for (const i in scheduler2._events) {
@@ -18789,7 +18827,7 @@ function recurring(scheduler2) {
18789
18827
  tempEvent.start_date = occurrence2.start_date;
18790
18828
  tempEvent._thisAndFollowing = occurrence2.id;
18791
18829
  if (tempEvent.rrule) {
18792
- updateFollowingWithWEEKLY(tempEvent.id, tempEvent);
18830
+ updateFollowingRRULE(tempEvent.id, tempEvent);
18793
18831
  }
18794
18832
  let tempEnd = tempEvent.end_date;
18795
18833
  tempEvent.end_date = tempEvent._end_date;
@@ -18895,12 +18933,12 @@ function recurring(scheduler2) {
18895
18933
  return old.call(this, ev);
18896
18934
  };
18897
18935
  var old_update_event = scheduler2.updateEvent;
18898
- scheduler2.updateEvent = function(id2) {
18899
- var ev = scheduler2.getEvent(id2);
18900
- if (ev && isSeries(ev) && !this._is_virtual_event(id2)) {
18936
+ scheduler2.updateEvent = function(id) {
18937
+ var ev = scheduler2.getEvent(id);
18938
+ if (ev && isSeries(ev) && !this._is_virtual_event(id)) {
18901
18939
  scheduler2.update_view();
18902
18940
  } else {
18903
- old_update_event.call(this, id2);
18941
+ old_update_event.call(this, id);
18904
18942
  }
18905
18943
  };
18906
18944
  })();
@@ -18989,8 +19027,8 @@ function recurring(scheduler2) {
18989
19027
  }
18990
19028
  return new Date(default_date.valueOf());
18991
19029
  };
18992
- scheduler2.getRecDates = function(id2, max) {
18993
- var ev = typeof id2 == "object" ? id2 : scheduler2.getEvent(id2);
19030
+ scheduler2.getRecDates = function(id, max) {
19031
+ var ev = typeof id == "object" ? id : scheduler2.getEvent(id);
18994
19032
  var recurrings = [];
18995
19033
  max = max || 100;
18996
19034
  if (!isSeries(ev)) {
@@ -19605,7 +19643,7 @@ function recurring_legacy(scheduler2) {
19605
19643
  return html;
19606
19644
  }
19607
19645
  var loc = scheduler2.locale.labels;
19608
- return '<div class="dhx_form_repeat"> <form> <div class="dhx_repeat_left"> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="day" />' + loc.repeat_radio_day + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="week"/>' + loc.repeat_radio_week + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="month" checked />' + loc.repeat_radio_month + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="year" />' + loc.repeat_radio_year + '</label></div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_center"> <div style="display:none;" id="dhx_repeat_day"> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="day_count" value="1" />' + loc.repeat_text_day_count + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" checked value="w"/>' + loc.repeat_radio_day_type2 + '</label></div> </div> <div style="display:none;" id="dhx_repeat_week"><div><label>' + loc.repeat_week + '<input class="dhx_repeat_text" type="text" name="week_count" value="1" /></label><span>' + loc.repeat_text_week_count + '</span></div> <table class="dhx_repeat_days"> <tr> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="1" />' + loc.day_for_recurring[1] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="4" />' + loc.day_for_recurring[4] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="2" />' + loc.day_for_recurring[2] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="5" />' + loc.day_for_recurring[5] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="3" />' + loc.day_for_recurring[3] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="6" />' + loc.day_for_recurring[6] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="0" />' + loc.day_for_recurring[0] + '</label></div> </td> </tr> </table> </div> <div id="dhx_repeat_month"> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" value="d"/>' + loc.repeat_radio_month_type + '</label><label><input class="dhx_repeat_text" type="text" name="month_day" value="1" />' + loc.repeat_text_month_day + '</label><label><input class="dhx_repeat_text" type="text" name="month_count" value="1" />' + loc.repeat_text_month_count + '</label></div> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" checked value="w"/>' + loc.repeat_radio_month_start + '</label><input class="dhx_repeat_text" type="text" name="month_week2" value="1" /><label><select name="month_day2"> <option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="0">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.repeat_text_month_count2_before + '</label><label><input class="dhx_repeat_text" type="text" name="month_count2" value="1" />' + loc.repeat_text_month_count2_after + '</label></div> </div> <div style="display:none;" id="dhx_repeat_year"> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="year_day" value="1" />' + loc.repeat_text_year_day + '</label><label><select name="year_month"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + "</select>" + loc.select_year_month + '</label></div> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" checked value="w"/>' + loc.repeat_year_label + '</label><input class="dhx_repeat_text" type="text" name="year_week2" value="1" /><select name="year_day2"><option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="7">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.select_year_day2 + '<select name="year_month2"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + '</select></div> </div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_right"> <div><label><input class="dhx_repeat_radio" type="radio" name="end" checked/>' + loc.repeat_radio_end + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end2 + '</label><input class="dhx_repeat_text" type="text" name="occurences_count" value="1" />' + loc.repeat_text_occurences_count + '</div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end3 + '</label><input class="dhx_repeat_date" type="text" name="date_of_end" value="' + scheduler2.config.repeat_date_of_end + '" /></div> </div> </form> </div> </div>';
19646
+ return '<div class="dhx_form_repeat"> <form> <div class="dhx_repeat_left"> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="day" />' + loc.repeat_radio_day + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="week"/>' + loc.repeat_radio_week + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="month" checked />' + loc.repeat_radio_month + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="repeat" value="year" />' + loc.repeat_radio_year + '</label></div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_center"> <div style="display:none;" id="dhx_repeat_day"> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="day_count" value="1" />' + loc.repeat_text_day_count + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="day_type" checked value="w"/>' + loc.repeat_radio_day_type2 + '</label></div> </div> <div style="display:none;" id="dhx_repeat_week"><div><label>' + loc.repeat_week + '<input class="dhx_repeat_text" type="text" name="week_count" value="1" /></label><span>' + loc.repeat_text_week_count + '</span></div> <table class="dhx_repeat_days"> <tr> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="1" />' + loc.day_for_recurring[1] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="4" />' + loc.day_for_recurring[4] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="2" />' + loc.day_for_recurring[2] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="5" />' + loc.day_for_recurring[5] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="3" />' + loc.day_for_recurring[3] + '</label></div> <div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="6" />' + loc.day_for_recurring[6] + '</label></div></td> <td><div><label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="0" />' + loc.day_for_recurring[0] + '</label></div> </td> </tr> </table> </div> <div id="dhx_repeat_month"> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" value="d"/>' + loc.repeat_radio_month_type + '</label><label><input class="dhx_repeat_text" type="text" name="month_day" value="1" />' + loc.repeat_text_month_day + '</label><label><input class="dhx_repeat_text" type="text" name="month_count" value="1" />' + loc.repeat_text_month_count + '</label></div> <div><label class = "dhx_repeat_month_label"><input class="dhx_repeat_radio" type="radio" name="month_type" checked value="w"/>' + loc.repeat_radio_month_start + '</label><input class="dhx_repeat_text" type="text" name="month_week2" value="1" /><label><select name="month_day2"> <option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="0">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.repeat_text_month_count2_before + '</label><label><input class="dhx_repeat_text" type="text" name="month_count2" value="1" />' + loc.repeat_text_month_count2_after + '</label></div> </div> <div style="display:none;" id="dhx_repeat_year"> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" value="d"/>' + loc.repeat_radio_day_type + '</label><label><input class="dhx_repeat_text" type="text" name="year_day" value="1" />' + loc.repeat_text_year_day + '</label><label><select name="year_month"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + "</select>" + loc.select_year_month + '</label></div> <div><label class = "dhx_repeat_year_label"><input class="dhx_repeat_radio" type="radio" name="year_type" checked value="w"/>' + loc.repeat_year_label + '</label><input class="dhx_repeat_text" type="text" name="year_week2" value="1" /><select name="year_day2"><option value="1" selected >' + scheduler2.locale.date.day_full[1] + '<option value="2">' + scheduler2.locale.date.day_full[2] + '<option value="3">' + scheduler2.locale.date.day_full[3] + '<option value="4">' + scheduler2.locale.date.day_full[4] + '<option value="5">' + scheduler2.locale.date.day_full[5] + '<option value="6">' + scheduler2.locale.date.day_full[6] + '<option value="7">' + scheduler2.locale.date.day_full[0] + "</select>" + loc.select_year_day2 + '<select name="year_month2"><option value="0" selected >' + loc.month_for_recurring[0] + '<option value="1">' + loc.month_for_recurring[1] + '<option value="2">' + loc.month_for_recurring[2] + '<option value="3">' + loc.month_for_recurring[3] + '<option value="4">' + loc.month_for_recurring[4] + '<option value="5">' + loc.month_for_recurring[5] + '<option value="6">' + loc.month_for_recurring[6] + '<option value="7">' + loc.month_for_recurring[7] + '<option value="8">' + loc.month_for_recurring[8] + '<option value="9">' + loc.month_for_recurring[9] + '<option value="10">' + loc.month_for_recurring[10] + '<option value="11">' + loc.month_for_recurring[11] + '</select></div> </div> </div> <div class="dhx_repeat_divider"></div> <div class="dhx_repeat_right"> <div><label><input class="dhx_repeat_radio" type="radio" name="end" checked/>' + loc.repeat_radio_end + '</label></div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end2 + '</label><input class="dhx_repeat_text" type="text" name="occurences_count" value="1" />' + loc.repeat_text_occurrences_count + '</div> <div><label><input class="dhx_repeat_radio" type="radio" name="end" />' + loc.repeat_radio_end3 + '</label><input class="dhx_repeat_date" type="text" name="date_of_end" value="' + scheduler2.config.repeat_date_of_end + '" /></div> </div> </form> </div> </div>';
19609
19647
  }, _ds: {}, _get_form_node: function(els, name, value) {
19610
19648
  var col = els[name];
19611
19649
  if (!col)
@@ -19915,15 +19953,15 @@ function recurring_legacy(scheduler2) {
19915
19953
  }
19916
19954
  scheduler2.form_blocks["recurring"]._set_repeat_code = set_repeat_code;
19917
19955
  for (var i = 0; i < top.elements.length; i++) {
19918
- var el2 = top.elements[i];
19919
- switch (el2.name) {
19956
+ var el = top.elements[i];
19957
+ switch (el.name) {
19920
19958
  case "repeat":
19921
- if (el2.nodeName == "SELECT" && !el2.$_eventAttached) {
19922
- el2.$_eventAttached = true;
19923
- el2.addEventListener("change", change_current_view);
19924
- } else if (!el2.$_eventAttached) {
19925
- el2.$_eventAttached = true;
19926
- el2.addEventListener("click", change_current_view);
19959
+ if (el.nodeName == "SELECT" && !el.$_eventAttached) {
19960
+ el.$_eventAttached = true;
19961
+ el.addEventListener("change", change_current_view);
19962
+ } else if (!el.$_eventAttached) {
19963
+ el.$_eventAttached = true;
19964
+ el.addEventListener("click", change_current_view);
19927
19965
  }
19928
19966
  break;
19929
19967
  }
@@ -19979,18 +20017,18 @@ function recurring_legacy(scheduler2) {
19979
20017
  block._toggle_block();
19980
20018
  }, _toggle_block: function() {
19981
20019
  var block = scheduler2.form_blocks.recurring;
19982
- var cont = block._get_form(), el2 = block._get_button();
20020
+ var cont = block._get_form(), el = block._get_button();
19983
20021
  if (!cont.open && !cont.blocked) {
19984
20022
  cont.style.height = "auto";
19985
- if (el2) {
19986
- el2.style.backgroundPosition = "-5px 0px";
19987
- el2.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring_open;
20023
+ if (el) {
20024
+ el.style.backgroundPosition = "-5px 0px";
20025
+ el.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring_open;
19988
20026
  }
19989
20027
  } else {
19990
20028
  cont.style.height = "0px";
19991
- if (el2) {
19992
- el2.style.backgroundPosition = "-5px 20px";
19993
- el2.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring;
20029
+ if (el) {
20030
+ el.style.backgroundPosition = "-5px 20px";
20031
+ el.nextSibling.innerHTML = scheduler2.locale.labels.button_recurring;
19994
20032
  }
19995
20033
  }
19996
20034
  cont.open = !cont.open;
@@ -20043,14 +20081,14 @@ function recurring_legacy(scheduler2) {
20043
20081
  this._rec_markers_pull[ev.event_pid] = {};
20044
20082
  this._rec_markers_pull[ev.event_pid][time] = ev;
20045
20083
  };
20046
- scheduler2._get_rec_marker = function(time, id2) {
20047
- var ch = this._rec_markers_pull[id2];
20084
+ scheduler2._get_rec_marker = function(time, id) {
20085
+ var ch = this._rec_markers_pull[id];
20048
20086
  if (ch)
20049
20087
  return ch[time];
20050
20088
  return null;
20051
20089
  };
20052
- scheduler2._get_rec_markers = function(id2) {
20053
- return this._rec_markers_pull[id2] || [];
20090
+ scheduler2._get_rec_markers = function(id) {
20091
+ return this._rec_markers_pull[id] || [];
20054
20092
  };
20055
20093
  function clearMilliseconds(date) {
20056
20094
  return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);
@@ -20058,7 +20096,7 @@ function recurring_legacy(scheduler2) {
20058
20096
  scheduler2._rec_temp = [];
20059
20097
  (function() {
20060
20098
  var old_add_event = scheduler2.addEvent;
20061
- scheduler2.addEvent = function(start_date, end_date, text, id2, extra_data) {
20099
+ scheduler2.addEvent = function(start_date, end_date, text, id, extra_data) {
20062
20100
  var ev_id = old_add_event.apply(this, arguments);
20063
20101
  if (ev_id && scheduler2.getEvent(ev_id)) {
20064
20102
  var ev = scheduler2.getEvent(ev_id);
@@ -20076,35 +20114,35 @@ function recurring_legacy(scheduler2) {
20076
20114
  return ev_id;
20077
20115
  };
20078
20116
  })();
20079
- scheduler2.attachEvent("onEventIdChange", function(id2, new_id) {
20117
+ scheduler2.attachEvent("onEventIdChange", function(id, new_id) {
20080
20118
  if (this._ignore_call)
20081
20119
  return;
20082
20120
  this._ignore_call = true;
20083
- if (scheduler2._rec_markers[id2]) {
20084
- scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id2];
20085
- delete scheduler2._rec_markers[id2];
20121
+ if (scheduler2._rec_markers[id]) {
20122
+ scheduler2._rec_markers[new_id] = scheduler2._rec_markers[id];
20123
+ delete scheduler2._rec_markers[id];
20086
20124
  }
20087
- if (scheduler2._rec_markers_pull[id2]) {
20088
- scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id2];
20089
- delete scheduler2._rec_markers_pull[id2];
20125
+ if (scheduler2._rec_markers_pull[id]) {
20126
+ scheduler2._rec_markers_pull[new_id] = scheduler2._rec_markers_pull[id];
20127
+ delete scheduler2._rec_markers_pull[id];
20090
20128
  }
20091
20129
  for (var i = 0; i < this._rec_temp.length; i++) {
20092
20130
  var tev = this._rec_temp[i];
20093
- if (tev.event_pid == id2) {
20131
+ if (tev.event_pid == id) {
20094
20132
  tev.event_pid = new_id;
20095
20133
  this.changeEventId(tev.id, new_id + "#" + tev.id.split("#")[1]);
20096
20134
  }
20097
20135
  }
20098
20136
  for (var i in this._rec_markers) {
20099
20137
  var tev = this._rec_markers[i];
20100
- if (tev.event_pid == id2) {
20138
+ if (tev.event_pid == id) {
20101
20139
  tev.event_pid = new_id;
20102
20140
  tev._pid_changed = true;
20103
20141
  }
20104
20142
  }
20105
- var el2 = scheduler2._rec_markers[new_id];
20106
- if (el2 && el2._pid_changed) {
20107
- delete el2._pid_changed;
20143
+ var el = scheduler2._rec_markers[new_id];
20144
+ if (el && el._pid_changed) {
20145
+ delete el._pid_changed;
20108
20146
  setTimeout(function() {
20109
20147
  if (scheduler2.$destroyed) {
20110
20148
  return true;
@@ -20114,15 +20152,15 @@ function recurring_legacy(scheduler2) {
20114
20152
  }
20115
20153
  delete this._ignore_call;
20116
20154
  });
20117
- scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id2) {
20118
- var ev = this.getEvent(id2);
20119
- if (this._is_virtual_event(id2) || this._is_modified_occurence(ev) && ev.rec_type && ev.rec_type != "none") {
20120
- id2 = id2.split("#");
20155
+ scheduler2.attachEvent("onConfirmedBeforeEventDelete", function(id) {
20156
+ var ev = this.getEvent(id);
20157
+ if (this._is_virtual_event(id) || this._is_modified_occurence(ev) && ev.rec_type && ev.rec_type != "none") {
20158
+ id = id.split("#");
20121
20159
  var nid = this.uid();
20122
- var tid = id2[1] ? id2[1] : Math.round(ev._pid_time / 1e3);
20160
+ var tid = id[1] ? id[1] : Math.round(ev._pid_time / 1e3);
20123
20161
  var nev = this._copy_event(ev);
20124
20162
  nev.id = nid;
20125
- nev.event_pid = ev.event_pid || id2[0];
20163
+ nev.event_pid = ev.event_pid || id[0];
20126
20164
  var timestamp = tid;
20127
20165
  nev.event_length = timestamp;
20128
20166
  nev.rec_type = nev.rec_pattern = "none";
@@ -20131,37 +20169,37 @@ function recurring_legacy(scheduler2) {
20131
20169
  } else {
20132
20170
  if (ev.rec_type && this._lightbox_id)
20133
20171
  this._roll_back_dates(ev);
20134
- var sub = this._get_rec_markers(id2);
20172
+ var sub = this._get_rec_markers(id);
20135
20173
  for (var i in sub) {
20136
20174
  if (sub.hasOwnProperty(i)) {
20137
- id2 = sub[i].id;
20138
- if (this.getEvent(id2))
20139
- this.deleteEvent(id2, true);
20175
+ id = sub[i].id;
20176
+ if (this.getEvent(id))
20177
+ this.deleteEvent(id, true);
20140
20178
  }
20141
20179
  }
20142
20180
  }
20143
20181
  return true;
20144
20182
  });
20145
- scheduler2.attachEvent("onEventDeleted", function(id2, ev) {
20146
- if (!this._is_virtual_event(id2) && this._is_modified_occurence(ev)) {
20147
- if (!scheduler2._events[id2]) {
20183
+ scheduler2.attachEvent("onEventDeleted", function(id, ev) {
20184
+ if (!this._is_virtual_event(id) && this._is_modified_occurence(ev)) {
20185
+ if (!scheduler2._events[id]) {
20148
20186
  ev.rec_type = ev.rec_pattern = "none";
20149
- this.setEvent(id2, ev);
20187
+ this.setEvent(id, ev);
20150
20188
  }
20151
20189
  }
20152
20190
  });
20153
- scheduler2.attachEvent("onEventChanged", function(id2, event2) {
20191
+ scheduler2.attachEvent("onEventChanged", function(id, event2) {
20154
20192
  if (this._loading)
20155
20193
  return true;
20156
- var ev = this.getEvent(id2);
20157
- if (this._is_virtual_event(id2)) {
20158
- var id2 = id2.split("#");
20194
+ var ev = this.getEvent(id);
20195
+ if (this._is_virtual_event(id)) {
20196
+ var id = id.split("#");
20159
20197
  var nid = this.uid();
20160
20198
  this._not_render = true;
20161
20199
  var nev = this._copy_event(event2);
20162
20200
  nev.id = nid;
20163
- nev.event_pid = id2[0];
20164
- var timestamp = id2[1];
20201
+ nev.event_pid = id[0];
20202
+ var timestamp = id[1];
20165
20203
  nev.event_length = timestamp;
20166
20204
  nev.rec_type = nev.rec_pattern = "";
20167
20205
  this._add_rec_marker(nev, timestamp * 1e3);
@@ -20177,17 +20215,17 @@ function recurring_legacy(scheduler2) {
20177
20215
  if (ev.rec_type && this._lightbox_id) {
20178
20216
  this._roll_back_dates(ev);
20179
20217
  }
20180
- var sub = this._get_rec_markers(id2);
20218
+ var sub = this._get_rec_markers(id);
20181
20219
  for (var i in sub) {
20182
20220
  if (sub.hasOwnProperty(i)) {
20183
20221
  delete this._rec_markers[sub[i].id];
20184
20222
  this.deleteEvent(sub[i].id, true);
20185
20223
  }
20186
20224
  }
20187
- delete this._rec_markers_pull[id2];
20225
+ delete this._rec_markers_pull[id];
20188
20226
  var isEventFound = false;
20189
20227
  for (var k = 0; k < this._rendered.length; k++) {
20190
- if (this._rendered[k].getAttribute(this.config.event_attribute) == id2)
20228
+ if (this._rendered[k].getAttribute(this.config.event_attribute) == id)
20191
20229
  isEventFound = true;
20192
20230
  }
20193
20231
  if (!isEventFound)
@@ -20195,29 +20233,29 @@ function recurring_legacy(scheduler2) {
20195
20233
  }
20196
20234
  return true;
20197
20235
  });
20198
- scheduler2.attachEvent("onEventAdded", function(id2) {
20236
+ scheduler2.attachEvent("onEventAdded", function(id) {
20199
20237
  if (!this._loading) {
20200
- var ev = this.getEvent(id2);
20238
+ var ev = this.getEvent(id);
20201
20239
  if (ev.rec_type && !ev.event_length) {
20202
20240
  this._roll_back_dates(ev);
20203
20241
  }
20204
20242
  }
20205
20243
  return true;
20206
20244
  });
20207
- scheduler2.attachEvent("onEventSave", function(id2, data, is_new_event) {
20208
- var ev = this.getEvent(id2);
20209
- if (!ev.rec_type && data.rec_type && !this._is_virtual_event(id2))
20245
+ scheduler2.attachEvent("onEventSave", function(id, data, is_new_event) {
20246
+ var ev = this.getEvent(id);
20247
+ if (!ev.rec_type && data.rec_type && !this._is_virtual_event(id))
20210
20248
  this._select_id = null;
20211
20249
  return true;
20212
20250
  });
20213
- scheduler2.attachEvent("onEventCreated", function(id2) {
20214
- var ev = this.getEvent(id2);
20251
+ scheduler2.attachEvent("onEventCreated", function(id) {
20252
+ var ev = this.getEvent(id);
20215
20253
  if (!ev.rec_type)
20216
20254
  ev.rec_type = ev.rec_pattern = ev.event_length = ev.event_pid = "";
20217
20255
  return true;
20218
20256
  });
20219
- scheduler2.attachEvent("onEventCancel", function(id2) {
20220
- var ev = this.getEvent(id2);
20257
+ scheduler2.attachEvent("onEventCancel", function(id) {
20258
+ var ev = this.getEvent(id);
20221
20259
  if (ev.rec_type) {
20222
20260
  this._roll_back_dates(ev);
20223
20261
  this.render_view_data();
@@ -20239,32 +20277,32 @@ function recurring_legacy(scheduler2) {
20239
20277
  ev.start_date.setFullYear(ev._start_date.getFullYear());
20240
20278
  }
20241
20279
  };
20242
- scheduler2._is_virtual_event = function(id2) {
20243
- return id2.toString().indexOf("#") != -1;
20280
+ scheduler2._is_virtual_event = function(id) {
20281
+ return id.toString().indexOf("#") != -1;
20244
20282
  };
20245
20283
  scheduler2._is_modified_occurence = function(ev) {
20246
20284
  return ev.event_pid && ev.event_pid != "0";
20247
20285
  };
20248
20286
  scheduler2.showLightbox_rec = scheduler2.showLightbox;
20249
- scheduler2.showLightbox = function(id2) {
20287
+ scheduler2.showLightbox = function(id) {
20250
20288
  var locale = this.locale;
20251
20289
  var c = scheduler2.config.lightbox_recurring;
20252
- var ev = this.getEvent(id2);
20290
+ var ev = this.getEvent(id);
20253
20291
  var pid = ev.event_pid;
20254
- var isVirtual = this._is_virtual_event(id2);
20292
+ var isVirtual = this._is_virtual_event(id);
20255
20293
  if (isVirtual)
20256
- pid = id2.split("#")[0];
20257
- var showSeries = function(id3) {
20258
- var event2 = scheduler2.getEvent(id3);
20294
+ pid = id.split("#")[0];
20295
+ var showSeries = function(id2) {
20296
+ var event2 = scheduler2.getEvent(id2);
20259
20297
  event2._end_date = event2.end_date;
20260
20298
  event2.end_date = new Date(event2.start_date.valueOf() + event2.event_length * 1e3);
20261
- return scheduler2.showLightbox_rec(id3);
20299
+ return scheduler2.showLightbox_rec(id2);
20262
20300
  };
20263
20301
  if ((pid || pid * 1 === 0) && ev.rec_type) {
20264
- return showSeries(id2);
20302
+ return showSeries(id);
20265
20303
  }
20266
20304
  if (!pid || pid === "0" || (!locale.labels.confirm_recurring || c == "instance" || c == "series" && !isVirtual)) {
20267
- return this.showLightbox_rec(id2);
20305
+ return this.showLightbox_rec(id);
20268
20306
  }
20269
20307
  if (c == "ask") {
20270
20308
  var that = this;
@@ -20273,7 +20311,7 @@ function recurring_legacy(scheduler2) {
20273
20311
  case 0:
20274
20312
  return showSeries(pid);
20275
20313
  case 1:
20276
- return that.showLightbox_rec(id2);
20314
+ return that.showLightbox_rec(id);
20277
20315
  case 2:
20278
20316
  return;
20279
20317
  }
@@ -20306,15 +20344,15 @@ function recurring_legacy(scheduler2) {
20306
20344
  return old.call(this, ev);
20307
20345
  };
20308
20346
  var old_update_event = scheduler2.updateEvent;
20309
- scheduler2.updateEvent = function(id2) {
20310
- var ev = scheduler2.getEvent(id2);
20347
+ scheduler2.updateEvent = function(id) {
20348
+ var ev = scheduler2.getEvent(id);
20311
20349
  if (ev && ev.rec_type) {
20312
20350
  ev.rec_pattern = (ev.rec_type || "").split("#")[0];
20313
20351
  }
20314
- if (ev && ev.rec_type && !this._is_virtual_event(id2)) {
20352
+ if (ev && ev.rec_type && !this._is_virtual_event(id)) {
20315
20353
  scheduler2.update_view();
20316
20354
  } else {
20317
- old_update_event.call(this, id2);
20355
+ old_update_event.call(this, id);
20318
20356
  }
20319
20357
  };
20320
20358
  })();
@@ -20471,8 +20509,8 @@ function recurring_legacy(scheduler2) {
20471
20509
  }
20472
20510
  return new Date(default_date.valueOf());
20473
20511
  };
20474
- scheduler2.getRecDates = function(id2, max) {
20475
- var ev = typeof id2 == "object" ? id2 : scheduler2.getEvent(id2);
20512
+ scheduler2.getRecDates = function(id, max) {
20513
+ var ev = typeof id == "object" ? id : scheduler2.getEvent(id);
20476
20514
  var recurrings = [];
20477
20515
  max = max || 100;
20478
20516
  if (!ev.rec_type) {
@@ -21056,8 +21094,8 @@ function year_view(scheduler2) {
21056
21094
  t2.addEventListener("click", scheduler2._click.dhx_cal_data);
21057
21095
  t2.addEventListener("click", function(e2) {
21058
21096
  if (e2.target.closest(`[${scheduler2.config.event_attribute}]`)) {
21059
- const id2 = e2.target.closest(`[${scheduler2.config.event_attribute}]`).getAttribute(scheduler2.config.event_attribute);
21060
- scheduler2.showLightbox(id2);
21097
+ const id = e2.target.closest(`[${scheduler2.config.event_attribute}]`).getAttribute(scheduler2.config.event_attribute);
21098
+ scheduler2.showLightbox(id);
21061
21099
  }
21062
21100
  });
21063
21101
  }
@@ -21213,17 +21251,17 @@ function year_view(scheduler2) {
21213
21251
  };
21214
21252
  var locateEvent = scheduler2._locate_event;
21215
21253
  scheduler2._locate_event = function(node) {
21216
- var id2 = locateEvent.apply(scheduler2, arguments);
21217
- if (!id2) {
21254
+ var id = locateEvent.apply(scheduler2, arguments);
21255
+ if (!id) {
21218
21256
  var date = getCellDate(node);
21219
21257
  if (!date)
21220
21258
  return null;
21221
21259
  var evs = scheduler2.getEvents(date, scheduler2.date.add(date, 1, "day"));
21222
21260
  if (!evs.length)
21223
21261
  return null;
21224
- id2 = evs[0].id;
21262
+ id = evs[0].id;
21225
21263
  }
21226
- return id2;
21264
+ return id;
21227
21265
  };
21228
21266
  scheduler2.attachEvent("onDestroy", function() {
21229
21267
  scheduler2._hideToolTip();