payload-reserve 1.3.2 → 1.5.0
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.
- package/README.md +185 -4
- package/dist/collections/Reservations.js +47 -2
- package/dist/collections/Reservations.js.map +1 -1
- package/dist/collections/Resources.d.ts +16 -0
- package/dist/collections/Resources.js +35 -10
- package/dist/collections/Resources.js.map +1 -1
- package/dist/collections/Schedules.js +34 -0
- package/dist/collections/Schedules.js.map +1 -1
- package/dist/collections/Services.js +34 -1
- package/dist/collections/Services.js.map +1 -1
- package/dist/components/AvailabilityTimeField/AvailabilityTimeField.module.css +7 -0
- package/dist/components/AvailabilityTimeField/index.d.ts +2 -0
- package/dist/components/AvailabilityTimeField/index.js +109 -0
- package/dist/components/AvailabilityTimeField/index.js.map +1 -0
- package/dist/components/CalendarView/CalendarView.module.css +114 -0
- package/dist/components/CalendarView/LaneTimelineView.d.ts +12 -0
- package/dist/components/CalendarView/LaneTimelineView.js +116 -0
- package/dist/components/CalendarView/LaneTimelineView.js.map +1 -0
- package/dist/components/CalendarView/index.js +224 -22
- package/dist/components/CalendarView/index.js.map +1 -1
- package/dist/components/CalendarView/useResourceAvailability.d.ts +9 -0
- package/dist/components/CalendarView/useResourceAvailability.js +40 -0
- package/dist/components/CalendarView/useResourceAvailability.js.map +1 -0
- package/dist/defaults.d.ts +3 -0
- package/dist/defaults.js +53 -0
- package/dist/defaults.js.map +1 -1
- package/dist/endpoints/cancelBooking.js +34 -21
- package/dist/endpoints/cancelBooking.js.map +1 -1
- package/dist/endpoints/checkAvailability.js +16 -1
- package/dist/endpoints/checkAvailability.js.map +1 -1
- package/dist/endpoints/createBooking.js +4 -1
- package/dist/endpoints/createBooking.js.map +1 -1
- package/dist/endpoints/customerSearch.js +24 -5
- package/dist/endpoints/customerSearch.js.map +1 -1
- package/dist/endpoints/getSlots.js +16 -1
- package/dist/endpoints/getSlots.js.map +1 -1
- package/dist/endpoints/resourceAvailability.d.ts +43 -0
- package/dist/endpoints/resourceAvailability.js +214 -0
- package/dist/endpoints/resourceAvailability.js.map +1 -0
- package/dist/exports/client.d.ts +1 -0
- package/dist/exports/client.js +1 -0
- package/dist/exports/client.js.map +1 -1
- package/dist/hooks/reservations/calculateEndTime.js +21 -1
- package/dist/hooks/reservations/calculateEndTime.js.map +1 -1
- package/dist/hooks/reservations/expandRequiredResources.d.ts +9 -0
- package/dist/hooks/reservations/expandRequiredResources.js +81 -0
- package/dist/hooks/reservations/expandRequiredResources.js.map +1 -0
- package/dist/hooks/reservations/validateGuestBooking.d.ts +3 -0
- package/dist/hooks/reservations/validateGuestBooking.js +93 -0
- package/dist/hooks/reservations/validateGuestBooking.js.map +1 -0
- package/dist/hooks/reservations/validateStatusTransition.js +4 -2
- package/dist/hooks/reservations/validateStatusTransition.js.map +1 -1
- package/dist/hooks/users/provisionStaffResource.d.ts +15 -0
- package/dist/hooks/users/provisionStaffResource.js +88 -0
- package/dist/hooks/users/provisionStaffResource.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +28 -3
- package/dist/plugin.js.map +1 -1
- package/dist/services/AvailabilityService.d.ts +7 -6
- package/dist/services/AvailabilityService.js +86 -60
- package/dist/services/AvailabilityService.js.map +1 -1
- package/dist/translations/ar.json +156 -0
- package/dist/translations/de.json +156 -0
- package/dist/translations/en.json +32 -1
- package/dist/translations/es.json +156 -0
- package/dist/translations/fa.json +156 -0
- package/dist/translations/fr.json +156 -0
- package/dist/translations/hi.json +156 -0
- package/dist/translations/id.json +156 -0
- package/dist/translations/index.js +44 -0
- package/dist/translations/index.js.map +1 -1
- package/dist/translations/pl.json +156 -0
- package/dist/translations/ru.json +156 -0
- package/dist/translations/tr.json +156 -0
- package/dist/translations/zh.json +156 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.js.map +1 -1
- package/dist/utilities/computeSlotStates.d.ts +39 -0
- package/dist/utilities/computeSlotStates.js +49 -0
- package/dist/utilities/computeSlotStates.js.map +1 -0
- package/dist/utilities/guestBooking.d.ts +10 -0
- package/dist/utilities/guestBooking.js +16 -0
- package/dist/utilities/guestBooking.js.map +1 -0
- package/dist/utilities/resolveRequiredResources.d.ts +8 -0
- package/dist/utilities/resolveRequiredResources.js +27 -0
- package/dist/utilities/resolveRequiredResources.js.map +1 -0
- package/dist/utilities/resolveReservationItems.d.ts +3 -2
- package/dist/utilities/resolveReservationItems.js +19 -6
- package/dist/utilities/resolveReservationItems.js.map +1 -1
- package/dist/utilities/scheduleUtils.d.ts +3 -0
- package/dist/utilities/scheduleUtils.js +5 -3
- package/dist/utilities/scheduleUtils.js.map +1 -1
- package/dist/utilities/selectOptions.d.ts +8 -0
- package/dist/utilities/selectOptions.js +11 -0
- package/dist/utilities/selectOptions.js.map +1 -0
- package/dist/utilities/slotUtils.d.ts +19 -0
- package/dist/utilities/slotUtils.js +28 -0
- package/dist/utilities/slotUtils.js.map +1 -1
- package/dist/utilities/userRoles.d.ts +20 -0
- package/dist/utilities/userRoles.js +32 -0
- package/dist/utilities/userRoles.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "Usługi",
|
|
3
|
+
"collectionResources": "Zasoby",
|
|
4
|
+
"collectionSchedules": "Harmonogramy",
|
|
5
|
+
"collectionReservations": "Rezerwacje",
|
|
6
|
+
"collectionCustomers": "Klienci",
|
|
7
|
+
"collectionCustomer": "Klient",
|
|
8
|
+
"fieldFirstName": "Imię",
|
|
9
|
+
"fieldLastName": "Nazwisko",
|
|
10
|
+
"fieldName": "Nazwa",
|
|
11
|
+
"fieldDescription": "Opis",
|
|
12
|
+
"fieldImage": "Obraz",
|
|
13
|
+
"fieldPrice": "Cena",
|
|
14
|
+
"fieldActive": "Aktywny",
|
|
15
|
+
"fieldServices": "Usługi",
|
|
16
|
+
"fieldResource": "Zasób",
|
|
17
|
+
"fieldService": "Usługa",
|
|
18
|
+
"fieldCustomer": "Klient",
|
|
19
|
+
"fieldStartTime": "Czas rozpoczęcia",
|
|
20
|
+
"fieldEndTime": "Czas zakończenia",
|
|
21
|
+
"fieldCancellationReason": "Powód anulowania",
|
|
22
|
+
"fieldNotes": "Notatki",
|
|
23
|
+
"fieldStatus": "Status",
|
|
24
|
+
"fieldScheduleType": "Typ harmonogramu",
|
|
25
|
+
"fieldRecurringSlots": "Sloty cykliczne",
|
|
26
|
+
"fieldDay": "Dzień",
|
|
27
|
+
"fieldManualSlots": "Sloty ręczne",
|
|
28
|
+
"fieldDate": "Data",
|
|
29
|
+
"fieldEndDate": "Data zakończenia",
|
|
30
|
+
"fieldExceptions": "Wyjątki",
|
|
31
|
+
"fieldLeaveType": "Typ",
|
|
32
|
+
"fieldReason": "Powód",
|
|
33
|
+
"fieldDurationMinutes": "Czas trwania (minuty)",
|
|
34
|
+
"fieldBufferTimeBefore": "Czas buforowy przed (minuty)",
|
|
35
|
+
"fieldBufferTimeAfter": "Czas buforowy po (minuty)",
|
|
36
|
+
"fieldStartTimeHHmm": "Czas rozpoczęcia (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "Czas zakończenia (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "Cykliczny",
|
|
39
|
+
"scheduleTypeManual": "Ręczny",
|
|
40
|
+
"dayMonday": "Poniedziałek",
|
|
41
|
+
"dayTuesday": "Wtorek",
|
|
42
|
+
"dayWednesday": "Środa",
|
|
43
|
+
"dayThursday": "Czwartek",
|
|
44
|
+
"dayFriday": "Piątek",
|
|
45
|
+
"daySaturday": "Sobota",
|
|
46
|
+
"daySunday": "Niedziela",
|
|
47
|
+
"dayShortSun": "Niedz.",
|
|
48
|
+
"dayShortMon": "Pon.",
|
|
49
|
+
"dayShortTue": "Wt.",
|
|
50
|
+
"dayShortWed": "Śr.",
|
|
51
|
+
"dayShortThu": "Czw.",
|
|
52
|
+
"dayShortFri": "Pt.",
|
|
53
|
+
"dayShortSat": "Sob.",
|
|
54
|
+
"statusPending": "Oczekująca",
|
|
55
|
+
"statusConfirmed": "Potwierdzona",
|
|
56
|
+
"statusCompleted": "Zakończona",
|
|
57
|
+
"statusCancelled": "Anulowana",
|
|
58
|
+
"statusNoShow": "Nieobecność",
|
|
59
|
+
"statusNoShowLabel": "Nieobecność",
|
|
60
|
+
"errorInvalidCreateStatus": "Nowe rezerwacje muszą rozpoczynać się ze statusem {{allowed}}.",
|
|
61
|
+
"errorInvalidTransition": "Nie można przejść ze stanu \"{{from}}\" do \"{{to}}\".",
|
|
62
|
+
"errorCancellationNotice": "Anulowanie wymaga wyprzedzenia co najmniej {{period}} godzin. Do wizyty pozostało tylko {{hours}} godzin.",
|
|
63
|
+
"errorConflict": "Ten przedział czasowy koliduje z istniejącą rezerwacją dla tego zasobu.",
|
|
64
|
+
"calendarLoading": "Ładowanie rezerwacji...",
|
|
65
|
+
"calendarToday": "Dziś",
|
|
66
|
+
"calendarCreateNew": "Utwórz nową",
|
|
67
|
+
"calendarMonth": "Miesiąc",
|
|
68
|
+
"calendarWeek": "Tydzień",
|
|
69
|
+
"calendarDay": "Dzień",
|
|
70
|
+
"calendarLanes": "Osie czasu",
|
|
71
|
+
"calendarUnknownService": "Nieznana usługa",
|
|
72
|
+
"calendarUnknownCustomer": "Nieznany klient",
|
|
73
|
+
"calendarUnknownResource": "Nieznany zasób",
|
|
74
|
+
"tooltipCustomer": "Klient:",
|
|
75
|
+
"tooltipResource": "Zasób:",
|
|
76
|
+
"tooltipStatus": "Status:",
|
|
77
|
+
"availabilityLoading": "Ładowanie dostępności...",
|
|
78
|
+
"availabilityTitle": "Przegląd dostępności",
|
|
79
|
+
"availabilityThisWeek": "Bieżący tydzień",
|
|
80
|
+
"availabilityNoResources": "Nie znaleziono aktywnych zasobów.",
|
|
81
|
+
"availabilityNotConfigured": "Wtyczka rezerwacji nie została skonfigurowana.",
|
|
82
|
+
"availabilityBooked": "Zarezerwowano",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} zarezerwowano",
|
|
84
|
+
"availabilityUnavailable": "Niedostępny",
|
|
85
|
+
"availabilityResource": "Zasób",
|
|
86
|
+
"dashboardTitle": "Dzisiejsze rezerwacje",
|
|
87
|
+
"dashboardTotal": "Łącznie",
|
|
88
|
+
"dashboardActive": "Aktywne",
|
|
89
|
+
"dashboardUpcoming": "Nadchodzące",
|
|
90
|
+
"dashboardTerminal": "Zamknięte",
|
|
91
|
+
"dashboardCompleted": "Zakończone",
|
|
92
|
+
"dashboardCancelled": "Anulowane",
|
|
93
|
+
"dashboardNextAppointment": "Następna wizyta",
|
|
94
|
+
"dashboardTime": "Czas:",
|
|
95
|
+
"dashboardStatus": "Status:",
|
|
96
|
+
"dashboardNoUpcoming": "Brak nadchodzących wizyt na dziś.",
|
|
97
|
+
"fieldCustomerSearch": "Szukaj klientów...",
|
|
98
|
+
"fieldCustomerNoResults": "Nie znaleziono klientów",
|
|
99
|
+
"fieldCustomerCreateNew": "Utwórz nowego klienta",
|
|
100
|
+
"fieldCustomerClear": "Wyczyść wybór",
|
|
101
|
+
"calendarPending": "Oczekujące",
|
|
102
|
+
"pendingDateTime": "Data / Czas",
|
|
103
|
+
"pendingActions": "Akcje",
|
|
104
|
+
"pendingSelectAll": "Zaznacz wszystkie",
|
|
105
|
+
"pendingConfirmSelected": "Potwierdź zaznaczone ({{count}})",
|
|
106
|
+
"pendingConfirming": "Potwierdzanie...",
|
|
107
|
+
"pendingConfirm": "Potwierdź",
|
|
108
|
+
"pendingCancel": "Anuluj",
|
|
109
|
+
"pendingConfirmSuccess": "Rezerwacja potwierdzona",
|
|
110
|
+
"pendingConfirmError": "Nie udało się potwierdzić rezerwacji",
|
|
111
|
+
"pendingCancelSuccess": "Rezerwacja anulowana",
|
|
112
|
+
"pendingCancelError": "Nie udało się anulować rezerwacji",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} potwierdzono, {{failed}} nieudanych",
|
|
114
|
+
"pendingEmpty": "Brak oczekujących rezerwacji",
|
|
115
|
+
"fieldQuantity": "Ilość",
|
|
116
|
+
"fieldCapacityMode": "Tryb pojemności",
|
|
117
|
+
"fieldTimezone": "Strefa czasowa",
|
|
118
|
+
"fieldDurationType": "Typ czasu trwania",
|
|
119
|
+
"capacityPerReservation": "Na rezerwację",
|
|
120
|
+
"capacityPerGuest": "Na gościa",
|
|
121
|
+
"durationFixed": "Stały",
|
|
122
|
+
"durationFlexible": "Elastyczny",
|
|
123
|
+
"durationFullDay": "Cały dzień",
|
|
124
|
+
"fieldItems": "Pozycje",
|
|
125
|
+
"fieldGuestCount": "Liczba gości",
|
|
126
|
+
"filterAllResources": "Wszystkie zasoby",
|
|
127
|
+
"filterByResource": "Filtruj według zasobu",
|
|
128
|
+
"fieldOwner": "Właściciel",
|
|
129
|
+
"fieldResourceType": "Typ zasobu",
|
|
130
|
+
"fieldRequiredResources": "Wymagane zasoby",
|
|
131
|
+
"fieldRequiredResourcesDesc": "Dodatkowe pule zasobów zajmowane przez każdą rezerwację tej usługi (np. fotel). Rezerwacje są automatycznie rozszerzane o nie i są blokowane, jeśli którakolwiek pula jest pełna.",
|
|
132
|
+
"fieldAllowGuestBooking": "Rezerwacja gościnna",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "Zezwalaj na rezerwacje bez konta klienta. \"Dziedzicz\" używa domyślnego ustawienia wtyczki.",
|
|
134
|
+
"guestBookingInherit": "Dziedzicz domyślne ustawienie wtyczki",
|
|
135
|
+
"guestBookingEnabled": "Włączone",
|
|
136
|
+
"guestBookingDisabled": "Wyłączone",
|
|
137
|
+
"fieldGuest": "Gość",
|
|
138
|
+
"fieldGuestDesc": "Dane kontaktowe rezerwacji dokonanej bez konta klienta. Pozostaw puste, gdy ustawiony jest klient.",
|
|
139
|
+
"fieldGuestName": "Imię gościa",
|
|
140
|
+
"fieldGuestEmail": "E-mail gościa",
|
|
141
|
+
"fieldGuestPhone": "Telefon gościa",
|
|
142
|
+
"fieldItemsDesc": "Zasoby uwzględnione w tej rezerwacji. Pozostaw puste dla rezerwacji jednozasobowych.",
|
|
143
|
+
"errorGuestOrCustomerRequired": "Rezerwacja wymaga klienta lub danych kontaktowych gościa.",
|
|
144
|
+
"errorGuestAndCustomer": "Rezerwacja nie może mieć jednocześnie klienta i danych kontaktowych gościa.",
|
|
145
|
+
"errorGuestNameRequired": "Rezerwacje gościnne wymagają podania imienia.",
|
|
146
|
+
"errorGuestContactRequired": "Rezerwacje gościnne wymagają adresu e-mail lub numeru telefonu.",
|
|
147
|
+
"errorGuestNotAllowed": "Rezerwacje gościnne nie są dozwolone dla tej usługi.",
|
|
148
|
+
"pickPrompt": "Wybierz usługę i pracownika, aby zobaczyć dostępne terminy.",
|
|
149
|
+
"pickLoading": "Ładowanie dostępnych terminów…",
|
|
150
|
+
"pickNone": "Brak dostępnych terminów na ten dzień.",
|
|
151
|
+
"laneNoResources": "Brak aktywnych zasobów do wyświetlenia.",
|
|
152
|
+
"slotFree": "Wolny",
|
|
153
|
+
"slotFull": "Pełny",
|
|
154
|
+
"slotOffShift": "Poza zmianą",
|
|
155
|
+
"slotTimeOff": "Urlop"
|
|
156
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "Услуги",
|
|
3
|
+
"collectionResources": "Ресурсы",
|
|
4
|
+
"collectionSchedules": "Расписания",
|
|
5
|
+
"collectionReservations": "Бронирования",
|
|
6
|
+
"collectionCustomers": "Клиенты",
|
|
7
|
+
"collectionCustomer": "Клиент",
|
|
8
|
+
"fieldFirstName": "Имя",
|
|
9
|
+
"fieldLastName": "Фамилия",
|
|
10
|
+
"fieldName": "Имя",
|
|
11
|
+
"fieldDescription": "Описание",
|
|
12
|
+
"fieldImage": "Изображение",
|
|
13
|
+
"fieldPrice": "Цена",
|
|
14
|
+
"fieldActive": "Активно",
|
|
15
|
+
"fieldServices": "Услуги",
|
|
16
|
+
"fieldResource": "Ресурс",
|
|
17
|
+
"fieldService": "Услуга",
|
|
18
|
+
"fieldCustomer": "Клиент",
|
|
19
|
+
"fieldStartTime": "Время начала",
|
|
20
|
+
"fieldEndTime": "Время окончания",
|
|
21
|
+
"fieldCancellationReason": "Причина отмены",
|
|
22
|
+
"fieldNotes": "Заметки",
|
|
23
|
+
"fieldStatus": "Статус",
|
|
24
|
+
"fieldScheduleType": "Тип расписания",
|
|
25
|
+
"fieldRecurringSlots": "Повторяющиеся слоты",
|
|
26
|
+
"fieldDay": "День",
|
|
27
|
+
"fieldManualSlots": "Ручные слоты",
|
|
28
|
+
"fieldDate": "Дата",
|
|
29
|
+
"fieldEndDate": "Дата окончания",
|
|
30
|
+
"fieldExceptions": "Исключения",
|
|
31
|
+
"fieldLeaveType": "Тип",
|
|
32
|
+
"fieldReason": "Причина",
|
|
33
|
+
"fieldDurationMinutes": "Продолжительность (минуты)",
|
|
34
|
+
"fieldBufferTimeBefore": "Буферное время до (минуты)",
|
|
35
|
+
"fieldBufferTimeAfter": "Буферное время после (минуты)",
|
|
36
|
+
"fieldStartTimeHHmm": "Время начала (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "Время окончания (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "Повторяющееся",
|
|
39
|
+
"scheduleTypeManual": "Ручное",
|
|
40
|
+
"dayMonday": "Понедельник",
|
|
41
|
+
"dayTuesday": "Вторник",
|
|
42
|
+
"dayWednesday": "Среда",
|
|
43
|
+
"dayThursday": "Четверг",
|
|
44
|
+
"dayFriday": "Пятница",
|
|
45
|
+
"daySaturday": "Суббота",
|
|
46
|
+
"daySunday": "Воскресенье",
|
|
47
|
+
"dayShortSun": "Вс",
|
|
48
|
+
"dayShortMon": "Пн",
|
|
49
|
+
"dayShortTue": "Вт",
|
|
50
|
+
"dayShortWed": "Ср",
|
|
51
|
+
"dayShortThu": "Чт",
|
|
52
|
+
"dayShortFri": "Пт",
|
|
53
|
+
"dayShortSat": "Сб",
|
|
54
|
+
"statusPending": "Ожидает",
|
|
55
|
+
"statusConfirmed": "Подтверждено",
|
|
56
|
+
"statusCompleted": "Завершено",
|
|
57
|
+
"statusCancelled": "Отменено",
|
|
58
|
+
"statusNoShow": "Неявка",
|
|
59
|
+
"statusNoShowLabel": "Неявка",
|
|
60
|
+
"errorInvalidCreateStatus": "Новые бронирования должны начинаться со статуса {{allowed}}.",
|
|
61
|
+
"errorInvalidTransition": "Невозможно перейти из «{{from}}» в «{{to}}».",
|
|
62
|
+
"errorCancellationNotice": "Для отмены требуется уведомление не менее чем за {{period}} часов. До приёма осталось всего {{hours}} часов.",
|
|
63
|
+
"errorConflict": "Этот временной слот конфликтует с существующим бронированием для данного ресурса.",
|
|
64
|
+
"calendarLoading": "Загрузка бронирований...",
|
|
65
|
+
"calendarToday": "Сегодня",
|
|
66
|
+
"calendarCreateNew": "Создать",
|
|
67
|
+
"calendarMonth": "Месяц",
|
|
68
|
+
"calendarWeek": "Неделя",
|
|
69
|
+
"calendarDay": "День",
|
|
70
|
+
"calendarLanes": "Дорожки",
|
|
71
|
+
"calendarUnknownService": "Неизвестная услуга",
|
|
72
|
+
"calendarUnknownCustomer": "Неизвестный клиент",
|
|
73
|
+
"calendarUnknownResource": "Неизвестный ресурс",
|
|
74
|
+
"tooltipCustomer": "Клиент:",
|
|
75
|
+
"tooltipResource": "Ресурс:",
|
|
76
|
+
"tooltipStatus": "Статус:",
|
|
77
|
+
"availabilityLoading": "Загрузка доступности...",
|
|
78
|
+
"availabilityTitle": "Обзор доступности",
|
|
79
|
+
"availabilityThisWeek": "Эта неделя",
|
|
80
|
+
"availabilityNoResources": "Активные ресурсы не найдены.",
|
|
81
|
+
"availabilityNotConfigured": "Плагин бронирования не настроен.",
|
|
82
|
+
"availabilityBooked": "Забронировано",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} забронировано",
|
|
84
|
+
"availabilityUnavailable": "Недоступно",
|
|
85
|
+
"availabilityResource": "Ресурс",
|
|
86
|
+
"dashboardTitle": "Бронирования на сегодня",
|
|
87
|
+
"dashboardTotal": "Всего",
|
|
88
|
+
"dashboardActive": "Активные",
|
|
89
|
+
"dashboardUpcoming": "Предстоящие",
|
|
90
|
+
"dashboardTerminal": "Закрытые",
|
|
91
|
+
"dashboardCompleted": "Завершённые",
|
|
92
|
+
"dashboardCancelled": "Отменённые",
|
|
93
|
+
"dashboardNextAppointment": "Следующий приём",
|
|
94
|
+
"dashboardTime": "Время:",
|
|
95
|
+
"dashboardStatus": "Статус:",
|
|
96
|
+
"dashboardNoUpcoming": "На сегодня предстоящих приёмов нет.",
|
|
97
|
+
"fieldCustomerSearch": "Поиск клиентов...",
|
|
98
|
+
"fieldCustomerNoResults": "Клиенты не найдены",
|
|
99
|
+
"fieldCustomerCreateNew": "Создать нового клиента",
|
|
100
|
+
"fieldCustomerClear": "Очистить выбор",
|
|
101
|
+
"calendarPending": "Ожидает",
|
|
102
|
+
"pendingDateTime": "Дата / Время",
|
|
103
|
+
"pendingActions": "Действия",
|
|
104
|
+
"pendingSelectAll": "Выбрать все",
|
|
105
|
+
"pendingConfirmSelected": "Подтвердить выбранные ({{count}})",
|
|
106
|
+
"pendingConfirming": "Подтверждение...",
|
|
107
|
+
"pendingConfirm": "Подтвердить",
|
|
108
|
+
"pendingCancel": "Отменить",
|
|
109
|
+
"pendingConfirmSuccess": "Бронирование подтверждено",
|
|
110
|
+
"pendingConfirmError": "Не удалось подтвердить бронирование",
|
|
111
|
+
"pendingCancelSuccess": "Бронирование отменено",
|
|
112
|
+
"pendingCancelError": "Не удалось отменить бронирование",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} подтверждено, {{failed}} не удалось",
|
|
114
|
+
"pendingEmpty": "Нет ожидающих бронирований",
|
|
115
|
+
"fieldQuantity": "Количество",
|
|
116
|
+
"fieldCapacityMode": "Режим вместимости",
|
|
117
|
+
"fieldTimezone": "Часовой пояс",
|
|
118
|
+
"fieldDurationType": "Тип продолжительности",
|
|
119
|
+
"capacityPerReservation": "На бронирование",
|
|
120
|
+
"capacityPerGuest": "На гостя",
|
|
121
|
+
"durationFixed": "Фиксированная",
|
|
122
|
+
"durationFlexible": "Гибкая",
|
|
123
|
+
"durationFullDay": "Весь день",
|
|
124
|
+
"fieldItems": "Позиции",
|
|
125
|
+
"fieldGuestCount": "Количество гостей",
|
|
126
|
+
"filterAllResources": "Все ресурсы",
|
|
127
|
+
"filterByResource": "Фильтровать по ресурсу",
|
|
128
|
+
"fieldOwner": "Владелец",
|
|
129
|
+
"fieldResourceType": "Тип ресурса",
|
|
130
|
+
"fieldRequiredResources": "Необходимые ресурсы",
|
|
131
|
+
"fieldRequiredResourcesDesc": "Дополнительные пулы ресурсов, которые занимает каждое бронирование этой услуги (например, кресло). Бронирования автоматически расширяются для их включения и блокируются, если какой-либо пул заполнен.",
|
|
132
|
+
"fieldAllowGuestBooking": "Гостевое бронирование",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "Разрешить бронирования без учётной записи клиента. «Наследовать» использует значение по умолчанию на уровне плагина.",
|
|
134
|
+
"guestBookingInherit": "Наследовать значение плагина по умолчанию",
|
|
135
|
+
"guestBookingEnabled": "Включено",
|
|
136
|
+
"guestBookingDisabled": "Отключено",
|
|
137
|
+
"fieldGuest": "Гость",
|
|
138
|
+
"fieldGuestDesc": "Контактные данные для бронирования, сделанного без учётной записи клиента. Оставьте пустым, если выбран клиент.",
|
|
139
|
+
"fieldGuestName": "Имя гостя",
|
|
140
|
+
"fieldGuestEmail": "Эл. почта гостя",
|
|
141
|
+
"fieldGuestPhone": "Телефон гостя",
|
|
142
|
+
"fieldItemsDesc": "Ресурсы, включённые в это бронирование. Оставьте пустым для бронирований с одним ресурсом.",
|
|
143
|
+
"errorGuestOrCustomerRequired": "Для бронирования требуется либо клиент, либо контактные данные гостя.",
|
|
144
|
+
"errorGuestAndCustomer": "Бронирование не может содержать одновременно клиента и контактные данные гостя.",
|
|
145
|
+
"errorGuestNameRequired": "Для гостевых бронирований требуется имя.",
|
|
146
|
+
"errorGuestContactRequired": "Для гостевых бронирований требуется адрес эл. почты или номер телефона.",
|
|
147
|
+
"errorGuestNotAllowed": "Гостевые бронирования не разрешены для этой услуги.",
|
|
148
|
+
"pickPrompt": "Выберите услугу и сотрудника, чтобы увидеть доступное время.",
|
|
149
|
+
"pickLoading": "Загрузка доступного времени…",
|
|
150
|
+
"pickNone": "Нет доступного времени на этот день.",
|
|
151
|
+
"laneNoResources": "Нет активных ресурсов для отображения.",
|
|
152
|
+
"slotFree": "Свободно",
|
|
153
|
+
"slotFull": "Занято",
|
|
154
|
+
"slotOffShift": "Не в смене",
|
|
155
|
+
"slotTimeOff": "Отгул"
|
|
156
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "Hizmetler",
|
|
3
|
+
"collectionResources": "Kaynaklar",
|
|
4
|
+
"collectionSchedules": "Çalışma Programları",
|
|
5
|
+
"collectionReservations": "Rezervasyonlar",
|
|
6
|
+
"collectionCustomers": "Müşteriler",
|
|
7
|
+
"collectionCustomer": "Müşteri",
|
|
8
|
+
"fieldFirstName": "Ad",
|
|
9
|
+
"fieldLastName": "Soyad",
|
|
10
|
+
"fieldName": "İsim",
|
|
11
|
+
"fieldDescription": "Açıklama",
|
|
12
|
+
"fieldImage": "Görsel",
|
|
13
|
+
"fieldPrice": "Fiyat",
|
|
14
|
+
"fieldActive": "Aktif",
|
|
15
|
+
"fieldServices": "Hizmetler",
|
|
16
|
+
"fieldResource": "Kaynak",
|
|
17
|
+
"fieldService": "Hizmet",
|
|
18
|
+
"fieldCustomer": "Müşteri",
|
|
19
|
+
"fieldStartTime": "Başlangıç Saati",
|
|
20
|
+
"fieldEndTime": "Bitiş Saati",
|
|
21
|
+
"fieldCancellationReason": "İptal Nedeni",
|
|
22
|
+
"fieldNotes": "Notlar",
|
|
23
|
+
"fieldStatus": "Durum",
|
|
24
|
+
"fieldScheduleType": "Program Türü",
|
|
25
|
+
"fieldRecurringSlots": "Tekrarlayan Aralıklar",
|
|
26
|
+
"fieldDay": "Gün",
|
|
27
|
+
"fieldManualSlots": "Manuel Aralıklar",
|
|
28
|
+
"fieldDate": "Tarih",
|
|
29
|
+
"fieldEndDate": "Bitiş tarihi",
|
|
30
|
+
"fieldExceptions": "İstisnalar",
|
|
31
|
+
"fieldLeaveType": "Tür",
|
|
32
|
+
"fieldReason": "Neden",
|
|
33
|
+
"fieldDurationMinutes": "Süre (dakika)",
|
|
34
|
+
"fieldBufferTimeBefore": "Öncesi Tampon Süre (dakika)",
|
|
35
|
+
"fieldBufferTimeAfter": "Sonrası Tampon Süre (dakika)",
|
|
36
|
+
"fieldStartTimeHHmm": "Başlangıç Saati (HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "Bitiş Saati (HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "Tekrarlayan",
|
|
39
|
+
"scheduleTypeManual": "Manuel",
|
|
40
|
+
"dayMonday": "Pazartesi",
|
|
41
|
+
"dayTuesday": "Salı",
|
|
42
|
+
"dayWednesday": "Çarşamba",
|
|
43
|
+
"dayThursday": "Perşembe",
|
|
44
|
+
"dayFriday": "Cuma",
|
|
45
|
+
"daySaturday": "Cumartesi",
|
|
46
|
+
"daySunday": "Pazar",
|
|
47
|
+
"dayShortSun": "Paz",
|
|
48
|
+
"dayShortMon": "Pzt",
|
|
49
|
+
"dayShortTue": "Sal",
|
|
50
|
+
"dayShortWed": "Çar",
|
|
51
|
+
"dayShortThu": "Per",
|
|
52
|
+
"dayShortFri": "Cum",
|
|
53
|
+
"dayShortSat": "Cmt",
|
|
54
|
+
"statusPending": "Beklemede",
|
|
55
|
+
"statusConfirmed": "Onaylandı",
|
|
56
|
+
"statusCompleted": "Tamamlandı",
|
|
57
|
+
"statusCancelled": "İptal Edildi",
|
|
58
|
+
"statusNoShow": "Gelmedi",
|
|
59
|
+
"statusNoShowLabel": "Gelmedi",
|
|
60
|
+
"errorInvalidCreateStatus": "Yeni rezervasyonlar {{allowed}} durumuyla başlamalıdır.",
|
|
61
|
+
"errorInvalidTransition": "\"{{from}}\" durumundan \"{{to}}\" durumuna geçiş yapılamaz.",
|
|
62
|
+
"errorCancellationNotice": "İptaller en az {{period}} saat önceden bildirim gerektirir. Randevuya yalnızca {{hours}} saat kaldı.",
|
|
63
|
+
"errorConflict": "Bu zaman aralığı, bu kaynak için mevcut bir rezervasyonla çakışıyor.",
|
|
64
|
+
"calendarLoading": "Rezervasyonlar yükleniyor...",
|
|
65
|
+
"calendarToday": "Bugün",
|
|
66
|
+
"calendarCreateNew": "Yeni Oluştur",
|
|
67
|
+
"calendarMonth": "Ay",
|
|
68
|
+
"calendarWeek": "Hafta",
|
|
69
|
+
"calendarDay": "Gün",
|
|
70
|
+
"calendarLanes": "Şeritler",
|
|
71
|
+
"calendarUnknownService": "Bilinmeyen hizmet",
|
|
72
|
+
"calendarUnknownCustomer": "Bilinmeyen müşteri",
|
|
73
|
+
"calendarUnknownResource": "Bilinmeyen kaynak",
|
|
74
|
+
"tooltipCustomer": "Müşteri:",
|
|
75
|
+
"tooltipResource": "Kaynak:",
|
|
76
|
+
"tooltipStatus": "Durum:",
|
|
77
|
+
"availabilityLoading": "Uygunluk yükleniyor...",
|
|
78
|
+
"availabilityTitle": "Uygunluk Genel Bakışı",
|
|
79
|
+
"availabilityThisWeek": "Bu Hafta",
|
|
80
|
+
"availabilityNoResources": "Aktif kaynak bulunamadı.",
|
|
81
|
+
"availabilityNotConfigured": "Rezervasyon eklentisi yapılandırılmadı.",
|
|
82
|
+
"availabilityBooked": "Dolu",
|
|
83
|
+
"availabilityXofYBooked": "{{booked}}/{{total}} dolu",
|
|
84
|
+
"availabilityUnavailable": "Müsait Değil",
|
|
85
|
+
"availabilityResource": "Kaynak",
|
|
86
|
+
"dashboardTitle": "Bugünün Rezervasyonları",
|
|
87
|
+
"dashboardTotal": "Toplam",
|
|
88
|
+
"dashboardActive": "Aktif",
|
|
89
|
+
"dashboardUpcoming": "Yaklaşan",
|
|
90
|
+
"dashboardTerminal": "Kapalı",
|
|
91
|
+
"dashboardCompleted": "Tamamlandı",
|
|
92
|
+
"dashboardCancelled": "İptal Edildi",
|
|
93
|
+
"dashboardNextAppointment": "Sonraki Randevu",
|
|
94
|
+
"dashboardTime": "Saat:",
|
|
95
|
+
"dashboardStatus": "Durum:",
|
|
96
|
+
"dashboardNoUpcoming": "Bugün için yaklaşan randevu yok.",
|
|
97
|
+
"fieldCustomerSearch": "Müşterileri ara...",
|
|
98
|
+
"fieldCustomerNoResults": "Müşteri bulunamadı",
|
|
99
|
+
"fieldCustomerCreateNew": "Yeni müşteri oluştur",
|
|
100
|
+
"fieldCustomerClear": "Seçimi temizle",
|
|
101
|
+
"calendarPending": "Beklemede",
|
|
102
|
+
"pendingDateTime": "Tarih / Saat",
|
|
103
|
+
"pendingActions": "İşlemler",
|
|
104
|
+
"pendingSelectAll": "Tümünü seç",
|
|
105
|
+
"pendingConfirmSelected": "Seçilenleri Onayla ({{count}})",
|
|
106
|
+
"pendingConfirming": "Onaylanıyor...",
|
|
107
|
+
"pendingConfirm": "Onayla",
|
|
108
|
+
"pendingCancel": "İptal Et",
|
|
109
|
+
"pendingConfirmSuccess": "Rezervasyon onaylandı",
|
|
110
|
+
"pendingConfirmError": "Rezervasyon onaylanamadı",
|
|
111
|
+
"pendingCancelSuccess": "Rezervasyon iptal edildi",
|
|
112
|
+
"pendingCancelError": "Rezervasyon iptal edilemedi",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} onaylandı, {{failed}} başarısız",
|
|
114
|
+
"pendingEmpty": "Bekleyen rezervasyon yok",
|
|
115
|
+
"fieldQuantity": "Miktar",
|
|
116
|
+
"fieldCapacityMode": "Kapasite Modu",
|
|
117
|
+
"fieldTimezone": "Saat Dilimi",
|
|
118
|
+
"fieldDurationType": "Süre Türü",
|
|
119
|
+
"capacityPerReservation": "Rezervasyon Başına",
|
|
120
|
+
"capacityPerGuest": "Misafir Başına",
|
|
121
|
+
"durationFixed": "Sabit",
|
|
122
|
+
"durationFlexible": "Esnek",
|
|
123
|
+
"durationFullDay": "Tam Gün",
|
|
124
|
+
"fieldItems": "Öğeler",
|
|
125
|
+
"fieldGuestCount": "Misafir Sayısı",
|
|
126
|
+
"filterAllResources": "Tüm Kaynaklar",
|
|
127
|
+
"filterByResource": "Kaynağa göre filtrele",
|
|
128
|
+
"fieldOwner": "Sahip",
|
|
129
|
+
"fieldResourceType": "Kaynak türü",
|
|
130
|
+
"fieldRequiredResources": "Gerekli kaynaklar",
|
|
131
|
+
"fieldRequiredResourcesDesc": "Bu hizmetin her rezervasyonunun kullandığı ek kaynak havuzları (ör. bir koltuk). Rezervasyonlar bunları içerecek şekilde otomatik genişletilir ve herhangi bir havuz dolarsa engellenir.",
|
|
132
|
+
"fieldAllowGuestBooking": "Misafir rezervasyonu",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "Müşteri hesabı olmadan rezervasyona izin ver. \"Devral\" eklenti düzeyindeki varsayılanı kullanır.",
|
|
134
|
+
"guestBookingInherit": "Eklenti varsayılanını devral",
|
|
135
|
+
"guestBookingEnabled": "Etkin",
|
|
136
|
+
"guestBookingDisabled": "Devre dışı",
|
|
137
|
+
"fieldGuest": "Misafir",
|
|
138
|
+
"fieldGuestDesc": "Müşteri hesabı olmadan yapılan bir rezervasyon için iletişim bilgileri. Bir müşteri belirlendiğinde boş bırakın.",
|
|
139
|
+
"fieldGuestName": "Misafir adı",
|
|
140
|
+
"fieldGuestEmail": "Misafir e-postası",
|
|
141
|
+
"fieldGuestPhone": "Misafir telefonu",
|
|
142
|
+
"fieldItemsDesc": "Bu rezervasyona dahil edilen kaynaklar. Tek kaynaklı rezervasyonlar için boş bırakın.",
|
|
143
|
+
"errorGuestOrCustomerRequired": "Bir rezervasyon için ya bir müşteri ya da misafir iletişim bilgileri gereklidir.",
|
|
144
|
+
"errorGuestAndCustomer": "Bir rezervasyon hem müşteri hem de misafir iletişim bilgilerine sahip olamaz.",
|
|
145
|
+
"errorGuestNameRequired": "Misafir rezervasyonları bir ad gerektirir.",
|
|
146
|
+
"errorGuestContactRequired": "Misafir rezervasyonları bir e-posta veya telefon numarası gerektirir.",
|
|
147
|
+
"errorGuestNotAllowed": "Bu hizmet için misafir rezervasyonlarına izin verilmiyor.",
|
|
148
|
+
"pickPrompt": "Müsait saatleri görmek için bir hizmet ve personel seçin.",
|
|
149
|
+
"pickLoading": "Müsait saatler yükleniyor…",
|
|
150
|
+
"pickNone": "Bu gün için müsait saat yok.",
|
|
151
|
+
"laneNoResources": "Gösterilecek aktif kaynak yok.",
|
|
152
|
+
"slotFree": "Boş",
|
|
153
|
+
"slotFull": "Dolu",
|
|
154
|
+
"slotOffShift": "Mesai dışı",
|
|
155
|
+
"slotTimeOff": "İzin"
|
|
156
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"collectionServices": "服务",
|
|
3
|
+
"collectionResources": "资源",
|
|
4
|
+
"collectionSchedules": "排班",
|
|
5
|
+
"collectionReservations": "预约",
|
|
6
|
+
"collectionCustomers": "客户",
|
|
7
|
+
"collectionCustomer": "客户",
|
|
8
|
+
"fieldFirstName": "名",
|
|
9
|
+
"fieldLastName": "姓",
|
|
10
|
+
"fieldName": "名称",
|
|
11
|
+
"fieldDescription": "描述",
|
|
12
|
+
"fieldImage": "图片",
|
|
13
|
+
"fieldPrice": "价格",
|
|
14
|
+
"fieldActive": "启用",
|
|
15
|
+
"fieldServices": "服务",
|
|
16
|
+
"fieldResource": "资源",
|
|
17
|
+
"fieldService": "服务",
|
|
18
|
+
"fieldCustomer": "客户",
|
|
19
|
+
"fieldStartTime": "开始时间",
|
|
20
|
+
"fieldEndTime": "结束时间",
|
|
21
|
+
"fieldCancellationReason": "取消原因",
|
|
22
|
+
"fieldNotes": "备注",
|
|
23
|
+
"fieldStatus": "状态",
|
|
24
|
+
"fieldScheduleType": "排班类型",
|
|
25
|
+
"fieldRecurringSlots": "周期性时段",
|
|
26
|
+
"fieldDay": "星期",
|
|
27
|
+
"fieldManualSlots": "手动时段",
|
|
28
|
+
"fieldDate": "日期",
|
|
29
|
+
"fieldEndDate": "结束日期",
|
|
30
|
+
"fieldExceptions": "例外",
|
|
31
|
+
"fieldLeaveType": "类型",
|
|
32
|
+
"fieldReason": "原因",
|
|
33
|
+
"fieldDurationMinutes": "时长(分钟)",
|
|
34
|
+
"fieldBufferTimeBefore": "前置缓冲时间(分钟)",
|
|
35
|
+
"fieldBufferTimeAfter": "后置缓冲时间(分钟)",
|
|
36
|
+
"fieldStartTimeHHmm": "开始时间(HH:mm)",
|
|
37
|
+
"fieldEndTimeHHmm": "结束时间(HH:mm)",
|
|
38
|
+
"scheduleTypeRecurring": "周期性",
|
|
39
|
+
"scheduleTypeManual": "手动",
|
|
40
|
+
"dayMonday": "星期一",
|
|
41
|
+
"dayTuesday": "星期二",
|
|
42
|
+
"dayWednesday": "星期三",
|
|
43
|
+
"dayThursday": "星期四",
|
|
44
|
+
"dayFriday": "星期五",
|
|
45
|
+
"daySaturday": "星期六",
|
|
46
|
+
"daySunday": "星期日",
|
|
47
|
+
"dayShortSun": "周日",
|
|
48
|
+
"dayShortMon": "周一",
|
|
49
|
+
"dayShortTue": "周二",
|
|
50
|
+
"dayShortWed": "周三",
|
|
51
|
+
"dayShortThu": "周四",
|
|
52
|
+
"dayShortFri": "周五",
|
|
53
|
+
"dayShortSat": "周六",
|
|
54
|
+
"statusPending": "待处理",
|
|
55
|
+
"statusConfirmed": "已确认",
|
|
56
|
+
"statusCompleted": "已完成",
|
|
57
|
+
"statusCancelled": "已取消",
|
|
58
|
+
"statusNoShow": "未到店",
|
|
59
|
+
"statusNoShowLabel": "未到店",
|
|
60
|
+
"errorInvalidCreateStatus": "新预约必须以 {{allowed}} 状态创建。",
|
|
61
|
+
"errorInvalidTransition": "无法从“{{from}}”转换为“{{to}}”。",
|
|
62
|
+
"errorCancellationNotice": "取消预约至少需要提前 {{period}} 小时通知。距离预约仅剩 {{hours}} 小时。",
|
|
63
|
+
"errorConflict": "此时间段与该资源的现有预约冲突。",
|
|
64
|
+
"calendarLoading": "正在加载预约……",
|
|
65
|
+
"calendarToday": "今天",
|
|
66
|
+
"calendarCreateNew": "新建",
|
|
67
|
+
"calendarMonth": "月",
|
|
68
|
+
"calendarWeek": "周",
|
|
69
|
+
"calendarDay": "日",
|
|
70
|
+
"calendarLanes": "泳道",
|
|
71
|
+
"calendarUnknownService": "未知服务",
|
|
72
|
+
"calendarUnknownCustomer": "未知客户",
|
|
73
|
+
"calendarUnknownResource": "未知资源",
|
|
74
|
+
"tooltipCustomer": "客户:",
|
|
75
|
+
"tooltipResource": "资源:",
|
|
76
|
+
"tooltipStatus": "状态:",
|
|
77
|
+
"availabilityLoading": "正在加载可用情况……",
|
|
78
|
+
"availabilityTitle": "可用情况概览",
|
|
79
|
+
"availabilityThisWeek": "本周",
|
|
80
|
+
"availabilityNoResources": "未找到启用的资源。",
|
|
81
|
+
"availabilityNotConfigured": "预约插件尚未配置。",
|
|
82
|
+
"availabilityBooked": "已预约",
|
|
83
|
+
"availabilityXofYBooked": "已预约 {{booked}}/{{total}}",
|
|
84
|
+
"availabilityUnavailable": "不可用",
|
|
85
|
+
"availabilityResource": "资源",
|
|
86
|
+
"dashboardTitle": "今日预约",
|
|
87
|
+
"dashboardTotal": "总计",
|
|
88
|
+
"dashboardActive": "进行中",
|
|
89
|
+
"dashboardUpcoming": "即将到来",
|
|
90
|
+
"dashboardTerminal": "已结束",
|
|
91
|
+
"dashboardCompleted": "已完成",
|
|
92
|
+
"dashboardCancelled": "已取消",
|
|
93
|
+
"dashboardNextAppointment": "下一个预约",
|
|
94
|
+
"dashboardTime": "时间:",
|
|
95
|
+
"dashboardStatus": "状态:",
|
|
96
|
+
"dashboardNoUpcoming": "今日没有即将到来的预约。",
|
|
97
|
+
"fieldCustomerSearch": "搜索客户……",
|
|
98
|
+
"fieldCustomerNoResults": "未找到客户",
|
|
99
|
+
"fieldCustomerCreateNew": "新建客户",
|
|
100
|
+
"fieldCustomerClear": "清除选择",
|
|
101
|
+
"calendarPending": "待处理",
|
|
102
|
+
"pendingDateTime": "日期 / 时间",
|
|
103
|
+
"pendingActions": "操作",
|
|
104
|
+
"pendingSelectAll": "全选",
|
|
105
|
+
"pendingConfirmSelected": "确认所选({{count}})",
|
|
106
|
+
"pendingConfirming": "正在确认……",
|
|
107
|
+
"pendingConfirm": "确认",
|
|
108
|
+
"pendingCancel": "取消",
|
|
109
|
+
"pendingConfirmSuccess": "预约已确认",
|
|
110
|
+
"pendingConfirmError": "确认预约失败",
|
|
111
|
+
"pendingCancelSuccess": "预约已取消",
|
|
112
|
+
"pendingCancelError": "取消预约失败",
|
|
113
|
+
"pendingBulkConfirmSuccess": "{{succeeded}} 个已确认,{{failed}} 个失败",
|
|
114
|
+
"pendingEmpty": "没有待处理的预约",
|
|
115
|
+
"fieldQuantity": "数量",
|
|
116
|
+
"fieldCapacityMode": "容量模式",
|
|
117
|
+
"fieldTimezone": "时区",
|
|
118
|
+
"fieldDurationType": "时长类型",
|
|
119
|
+
"capacityPerReservation": "按预约",
|
|
120
|
+
"capacityPerGuest": "按宾客",
|
|
121
|
+
"durationFixed": "固定",
|
|
122
|
+
"durationFlexible": "灵活",
|
|
123
|
+
"durationFullDay": "全天",
|
|
124
|
+
"fieldItems": "项目",
|
|
125
|
+
"fieldGuestCount": "宾客人数",
|
|
126
|
+
"filterAllResources": "所有资源",
|
|
127
|
+
"filterByResource": "按资源筛选",
|
|
128
|
+
"fieldOwner": "负责人",
|
|
129
|
+
"fieldResourceType": "资源类型",
|
|
130
|
+
"fieldRequiredResources": "必需资源",
|
|
131
|
+
"fieldRequiredResourcesDesc": "此服务的每次预约都会占用的额外资源池(例如一把座椅)。预约会自动扩展以包含这些资源,若任一资源池已满则会被阻止。",
|
|
132
|
+
"fieldAllowGuestBooking": "访客预约",
|
|
133
|
+
"fieldAllowGuestBookingDesc": "允许无客户账户的预约。“继承”将使用插件级别的默认设置。",
|
|
134
|
+
"guestBookingInherit": "继承插件默认设置",
|
|
135
|
+
"guestBookingEnabled": "启用",
|
|
136
|
+
"guestBookingDisabled": "禁用",
|
|
137
|
+
"fieldGuest": "访客",
|
|
138
|
+
"fieldGuestDesc": "无客户账户预约的联系方式。设置了客户时请留空。",
|
|
139
|
+
"fieldGuestName": "访客姓名",
|
|
140
|
+
"fieldGuestEmail": "访客邮箱",
|
|
141
|
+
"fieldGuestPhone": "访客电话",
|
|
142
|
+
"fieldItemsDesc": "此预约包含的资源。单资源预约请留空。",
|
|
143
|
+
"errorGuestOrCustomerRequired": "预约需要提供客户或访客联系方式之一。",
|
|
144
|
+
"errorGuestAndCustomer": "预约不能同时包含客户和访客联系方式。",
|
|
145
|
+
"errorGuestNameRequired": "访客预约需要填写姓名。",
|
|
146
|
+
"errorGuestContactRequired": "访客预约需要填写邮箱或电话号码。",
|
|
147
|
+
"errorGuestNotAllowed": "此服务不允许访客预约。",
|
|
148
|
+
"pickPrompt": "请选择服务和员工以查看可用时间。",
|
|
149
|
+
"pickLoading": "正在加载可用时间……",
|
|
150
|
+
"pickNone": "当天没有可用时间。",
|
|
151
|
+
"laneNoResources": "没有可显示的启用资源。",
|
|
152
|
+
"slotFree": "空闲",
|
|
153
|
+
"slotFull": "已满",
|
|
154
|
+
"slotOffShift": "非排班时段",
|
|
155
|
+
"slotTimeOff": "休假"
|
|
156
|
+
}
|