feat(vacay): add school holiday overlays (#1633)

* feat: add vacay school holiday overlays

* fix(vacay): remove SOH control character corruption in locale files

13 of 22 vacay locale files contained a 0x01 (SOH) control character
that corrupted the closing }; token. This broke the shared package
build (tsdown/rolldown PARSE_ERROR: Invalid Character) and cascaded
to all client tests failing to resolve @trek/shared.

Affected locales: ar, br, ca, cs, es, fr, gr, hu, id, it, ja, ko,
nl, pl, ru, sv, tr, uk, vi, zh, zh-TW

* fix(vacay): school-holiday migration order, i18n dupes, settings layout

- Move the school-holiday columns migration to the end of the migrations
  array. It sat before the #1435/#1281 migrations, which every existing DB
  had already run, so the runner skipped it and school_holidays_enabled /
  vacay_holiday_calendars.type were never created — PUT /addons/vacay/plan
  then 500'd with "no such column".
- Remove duplicate i18n keys in 13 locale vacay files (TS1117) that failed
  the shared + client typechecks.
- Move the school-holidays block into the right column, directly under
  public holidays, instead of full-width below everything.
- Add the school-holidays section to the mobile Vacay settings sheet.

* feat(vacay): modern school-holiday day styling + combined hover tooltip

- Replace the stacked 2px underlines with a single rounded accent band and a
  soft background wash on plain school-break days (desktop + mobile — mobile
  did not render school holidays at all before).
- Fold school holidays into the custom day tooltip under a divider instead of a
  separate native title, and show the tooltip on every set day (whole vacation
  days too), not only half days / shared calendars.

---------

Co-authored-by: Otto <uif86164@automotive-wan.com>
Co-authored-by: Maurice <mauriceboe@icloud.com>
This commit is contained in:
Elmer
2026-07-23 22:48:42 +02:00
committed by GitHub
parent 4d3d16389e
commit 7bd9e08016
47 changed files with 854 additions and 119 deletions
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'السبت',
'vacay.sun': 'الأحد',
'vacay.publicHolidays': 'العطل الرسمية',
'vacay.publicHolidaysHint': 'وضع علامة على العطل الرسمية في التقويم',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'اختر الدولة',
'vacay.selectRegion': 'اختر المنطقة (اختياري)',
'vacay.addCalendar': 'إضافة تقويم',
'vacay.calendarLabel': 'التسمية',
'vacay.calendarColor': 'اللون',
'vacay.noCalendars': 'لا توجد تقويمات',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'عطل الشركة',
'vacay.companyHolidaysHint': 'السماح بوضع علامة على أيام عطلات الشركة',
'vacay.companyHolidaysNoDeduct': 'لا تُخصم عطل الشركة من أيام الإجازة.',
@@ -106,5 +107,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'إخفاء من التقويم',
'vacay.sharedEmpty': 'اعرضا تقويميكما لبعضكما البعض دون دمجهما.',
'vacay.sharedLegend': 'مشترك (عرض فقط)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -47,13 +47,14 @@ const vacay: TranslationStrings = {
'vacay.sun': 'Dom',
'vacay.blockWeekendsHint': 'Impedir entradas de férias aos sábados e domingos',
'vacay.publicHolidays': 'Feriados nacionais',
'vacay.publicHolidaysHint': 'Marcar feriados nacionais no calendário',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Selecione o país',
'vacay.selectRegion': 'Selecione a região (opcional)',
'vacay.addCalendar': 'Adicionar calendário',
'vacay.calendarLabel': 'Rótulo (opcional)',
'vacay.calendarColor': 'Cor',
'vacay.noCalendars': 'Nenhum calendário de feriados adicionado ainda',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Feriados da empresa',
'vacay.companyHolidaysHint': 'Permitir marcar dias de feriado em toda a empresa',
'vacay.companyHolidaysNoDeduct': 'Feriados da empresa não contam como dias de férias.',
@@ -109,5 +110,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Ocultar do calendário',
'vacay.sharedEmpty': 'Mostrem seus calendários um ao outro sem fundi-los.',
'vacay.sharedLegend': 'Compartilhado (somente visualização)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Ds',
'vacay.sun': 'Dg',
'vacay.publicHolidays': 'Festius',
'vacay.publicHolidaysHint': 'Marca festius al calendari',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Selecciona un país',
'vacay.selectRegion': 'Selecciona una regió (opcional)',
'vacay.companyHolidays': "Festius de l'empresa",
@@ -107,6 +109,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Afegeix un calendari',
'vacay.calendarColor': 'Color del calendari',
'vacay.calendarLabel': 'Etiqueta',
'vacay.noCalendars': 'Sense calendaris',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sun': 'Ne',
'vacay.weekendDays': 'Víkendové dny',
'vacay.publicHolidays': 'Státní svátky',
'vacay.publicHolidaysHint': 'Zobrazit státní svátky v kalendáři',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Vyberte zemi',
'vacay.selectRegion': 'Vyberte region (volitelné)',
'vacay.addCalendar': 'Přidat kalendář',
'vacay.calendarLabel': 'Popisek (volitelné)',
'vacay.calendarColor': 'Barva',
'vacay.noCalendars': 'Zatím nebyly přidány žádné svátkové kalendáře',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Firemní volno',
'vacay.companyHolidaysHint': 'Povolit označování dnů celofiremního volna',
'vacay.companyHolidaysNoDeduct': 'Firemní volno se nezapočítává do nároku na dovolenou.',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Skrýt z kalendáře',
'vacay.sharedEmpty': 'Ukažte si navzájem své kalendáře, aniž byste je propojili.',
'vacay.sharedLegend': 'Sdílené (pouze pro čtení)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+3
View File
@@ -47,12 +47,15 @@ const vacay: TranslationStrings = {
'vacay.sun': 'So',
'vacay.publicHolidays': 'Feiertage',
'vacay.publicHolidaysHint': 'Feiertage im Kalender markieren',
'vacay.schoolHolidays': 'Schulferien',
'vacay.schoolHolidaysHint': 'Schulferien als visuelle Kalender-Ebene markieren',
'vacay.selectCountry': 'Land wählen',
'vacay.selectRegion': 'Region wählen (optional)',
'vacay.addCalendar': 'Kalender hinzufügen',
'vacay.calendarLabel': 'Bezeichnung (optional)',
'vacay.calendarColor': 'Farbe',
'vacay.noCalendars': 'Noch keine Feiertagskalender angelegt',
'vacay.noSchoolCalendars': 'Noch keine Schulferienkalender angelegt',
'vacay.companyHolidays': 'Betriebsferien',
'vacay.companyHolidaysHint': 'Erlaubt das Markieren von unternehmensweiten Feiertagen',
'vacay.companyHolidaysNoDeduct': 'Betriebsferien werden nicht vom Urlaubskontingent abgezogen.',
+3
View File
@@ -47,12 +47,15 @@ const vacay: TranslationStrings = {
'vacay.sun': 'Sun',
'vacay.publicHolidays': 'Public Holidays',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Select country',
'vacay.selectRegion': 'Select region (optional)',
'vacay.addCalendar': 'Add calendar',
'vacay.calendarLabel': 'Label (optional)',
'vacay.calendarColor': 'Color',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Company Holidays',
'vacay.companyHolidaysHint': 'Allow marking company-wide holiday days',
'vacay.companyHolidaysNoDeduct': 'Company holidays do not count towards vacation days.',
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Sáb',
'vacay.sun': 'Dom',
'vacay.publicHolidays': 'Festivos',
'vacay.publicHolidaysHint': 'Marcar festivos en el calendario',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Seleccionar país',
'vacay.selectRegion': 'Seleccionar región (opcional)',
'vacay.companyHolidays': 'Festivos de empresa',
@@ -107,6 +109,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Añadir calendario',
'vacay.calendarColor': 'Color del calendario',
'vacay.calendarLabel': 'Etiqueta',
'vacay.noCalendars': 'Sin calendarios',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -47,7 +47,9 @@ const vacay: TranslationStrings = {
'vacay.blockWeekends': 'Bloquer les week-ends',
'vacay.blockWeekendsHint': 'Empêcher les entrées de vacances les samedis et dimanches',
'vacay.publicHolidays': 'Jours fériés',
'vacay.publicHolidaysHint': 'Marquer les jours fériés dans le calendrier',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Sélectionner un pays',
'vacay.selectRegion': 'Sélectionner une région (facultatif)',
'vacay.companyHolidays': "Jours fériés d'entreprise",
@@ -108,6 +110,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Ajouter un calendrier',
'vacay.calendarColor': 'Couleur',
'vacay.calendarLabel': 'Libellé',
'vacay.noCalendars': 'Aucun calendrier',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -47,13 +47,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Σαβ',
'vacay.sun': 'Κυρ',
'vacay.publicHolidays': 'Δημόσιες Αργίες',
'vacay.publicHolidaysHint': 'Σήμανση δημόσιων αργιών στο ημερολόγιο',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Επιλογή χώρας',
'vacay.selectRegion': 'Επιλογή περιοχής (προαιρετικό)',
'vacay.addCalendar': 'Προσθήκη ημερολογίου',
'vacay.calendarLabel': 'Ετικέτα (προαιρετικό)',
'vacay.calendarColor': 'Χρώμα',
'vacay.noCalendars': 'Δεν έχουν προστεθεί ημερολόγια αργιών ακόμη',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Αργίες Εταιρείας',
'vacay.companyHolidaysHint': 'Επιτρέψτε τη σήμανση αργιών για όλη την εταιρεία',
'vacay.companyHolidaysNoDeduct': 'Οι αργίες της εταιρείας δεν προσμετρώνται στις ημέρες διακοπών.',
@@ -109,5 +110,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Απόκρυψη από το ημερολόγιο',
'vacay.sharedEmpty': 'Δείξτε ο ένας στον άλλο τα ημερολόγιά σας χωρίς να τα συγχωνεύσετε.',
'vacay.sharedLegend': 'Κοινόχρηστο (μόνο προβολή)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -38,13 +38,14 @@ const vacay: TranslationStrings = {
'vacay.blockWeekends': 'Hétvégék zárolása',
'vacay.blockWeekendsHint': 'Szabadság-bejegyzések megakadályozása szombaton és vasárnap',
'vacay.publicHolidays': 'Ünnepnapok',
'vacay.publicHolidaysHint': 'Ünnepnapok megjelölése a naptárban',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Ország kiválasztása',
'vacay.selectRegion': 'Régió kiválasztása (opcionális)',
'vacay.addCalendar': 'Naptár hozzáadása',
'vacay.calendarLabel': 'Címke (opcionális)',
'vacay.calendarColor': 'Szín',
'vacay.noCalendars': 'Még nincsenek ünnepnap-naptárak hozzáadva',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.weekendDays': 'Hétvégi napok',
'vacay.mon': 'Hé',
'vacay.tue': 'Ke',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Elrejtés a naptárból',
'vacay.sharedEmpty': 'Mutassátok meg egymásnak a naptáraitokat összevonás nélkül.',
'vacay.sharedLegend': 'Megosztott (csak megtekintés)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Sab',
'vacay.sun': 'Min',
'vacay.publicHolidays': 'Hari Libur Nasional',
'vacay.publicHolidaysHint': 'Tandai hari libur nasional di kalender',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Pilih negara',
'vacay.selectRegion': 'Pilih wilayah (opsional)',
'vacay.addCalendar': 'Tambah kalender',
'vacay.calendarLabel': 'Label (opsional)',
'vacay.calendarColor': 'Warna',
'vacay.noCalendars': 'Belum ada kalender hari libur ditambahkan',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Hari Libur Perusahaan',
'vacay.companyHolidaysHint': 'Izinkan penandaan hari libur seluruh perusahaan',
'vacay.companyHolidaysNoDeduct': 'Hari libur perusahaan tidak dipotong dari jatah cuti.',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Sembunyikan dari kalender',
'vacay.sharedEmpty': 'Saling tunjukkan kalender kalian tanpa menggabungkannya.',
'vacay.sharedLegend': 'Dibagikan (hanya lihat)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -47,13 +47,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Sab',
'vacay.sun': 'Dom',
'vacay.publicHolidays': 'Festività pubbliche',
'vacay.publicHolidaysHint': 'Segna le festività pubbliche nel calendario',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Seleziona paese',
'vacay.selectRegion': 'Seleziona regione (opzionale)',
'vacay.addCalendar': 'Aggiungi calendario',
'vacay.calendarLabel': 'Etichetta (opzionale)',
'vacay.calendarColor': 'Colore',
'vacay.noCalendars': 'Ancora nessun calendario delle festività aggiunto',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Ferie aziendali',
'vacay.companyHolidaysHint': 'Consenti di segnare giorni di ferie aziendali',
'vacay.companyHolidaysNoDeduct': 'Le ferie aziendali non vengono conteggiate nei giorni di ferie.',
@@ -109,5 +110,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Nascondi dal calendario',
'vacay.sharedEmpty': 'Mostratevi i calendari a vicenda senza unirli.',
'vacay.sharedLegend': 'Condiviso (sola visualizzazione)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': '土',
'vacay.sun': '日',
'vacay.publicHolidays': '祝日',
'vacay.publicHolidaysHint': 'カレンダーに祝日を表示',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': '国を選択',
'vacay.selectRegion': '地域を選択(任意)',
'vacay.addCalendar': 'カレンダーを追加',
'vacay.calendarLabel': 'ラベル(任意)',
'vacay.calendarColor': '色',
'vacay.noCalendars': '祝日カレンダーはまだありません',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': '会社休日',
'vacay.companyHolidaysHint': '会社全体の休日を設定できます',
'vacay.companyHolidaysNoDeduct': '会社休日は休暇日数に含まれません。',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'カレンダーから非表示',
'vacay.sharedEmpty': '統合せずにお互いのカレンダーを見せ合えます。',
'vacay.sharedLegend': '共有(閲覧のみ)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': '토',
'vacay.sun': '일',
'vacay.publicHolidays': '공휴일',
'vacay.publicHolidaysHint': '캘린더에 공휴일을 표시합니다',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': '국가 선택',
'vacay.selectRegion': '지역 선택 (선택)',
'vacay.addCalendar': '캘린더 추가',
'vacay.calendarLabel': '레이블 (선택)',
'vacay.calendarColor': '색상',
'vacay.noCalendars': '아직 공휴일 캘린더가 없습니다',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': '회사 휴일',
'vacay.companyHolidaysHint': '회사 전체 휴일 표시를 허용합니다',
'vacay.companyHolidaysNoDeduct': '회사 휴일은 휴가 일수에서 차감되지 않습니다.',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': '캘린더에서 숨기기',
'vacay.sharedEmpty': '캘린더를 합치지 않고 서로에게 보여주세요.',
'vacay.sharedLegend': '공유됨 (보기 전용)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Za',
'vacay.sun': 'Zo',
'vacay.publicHolidays': 'Feestdagen',
'vacay.publicHolidaysHint': 'Markeer feestdagen in de kalender',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Selecteer land',
'vacay.selectRegion': 'Selecteer regio (optioneel)',
'vacay.companyHolidays': 'Bedrijfsvakanties',
@@ -106,6 +108,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Kalender toevoegen',
'vacay.calendarColor': 'Kleur',
'vacay.calendarLabel': 'Label',
'vacay.noCalendars': 'Geen kalenders',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Sob',
'vacay.sun': 'Nd',
'vacay.publicHolidays': 'Święta państwowe',
'vacay.publicHolidaysHint': 'Oznacz święta państwowe w kalendarzu',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Wybierz kraj',
'vacay.selectRegion': 'Wybierz region (opcjonalnie)',
'vacay.addCalendar': 'Dodaj kalendarz',
'vacay.calendarLabel': 'Etykieta (opcjonalnie)',
'vacay.calendarColor': 'Kolor',
'vacay.noCalendars': 'Nie dodano jeszcze kalendarzy świąt',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Urlopy firmowe',
'vacay.companyHolidaysHint': 'Pozwala oznaczać dni wolne od pracy w kalendarzu',
'vacay.companyHolidaysNoDeduct': 'Urlopy firmowe nie są odejmowane od puli dni urlopowych.',
@@ -108,5 +109,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Ukryj w kalendarzu',
'vacay.sharedEmpty': 'Pokażcie sobie nawzajem swoje kalendarze bez ich łączenia.',
'vacay.sharedLegend': 'Udostępnione (tylko podgląd)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Сб',
'vacay.sun': 'Вс',
'vacay.publicHolidays': 'Государственные праздники',
'vacay.publicHolidaysHint': 'Отмечать государственные праздники в календаре',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Выберите страну',
'vacay.selectRegion': 'Выберите регион (необязательно)',
'vacay.companyHolidays': 'Корпоративные выходные',
@@ -106,6 +108,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Добавить календарь',
'vacay.calendarColor': 'Цвет',
'vacay.calendarLabel': 'Название',
'vacay.noCalendars': 'Нет календарей',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Lör',
'vacay.sun': 'Sön',
'vacay.publicHolidays': 'Allmänna helgdagar',
'vacay.publicHolidaysHint': 'Markera allmäna helgdagar i kalendern',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Välj land',
'vacay.selectRegion': 'Välj region (valfritt)',
'vacay.addCalendar': 'Lägg till kalender',
'vacay.calendarLabel': 'Etikett (valfritt)',
'vacay.calendarColor': 'Färg',
'vacay.noCalendars': 'Inga helgdagskalendrar har ännu tillagts',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Företagshelger',
'vacay.companyHolidaysHint': 'Tillåt markering av helgdagar som gäller för hela företaget',
'vacay.companyHolidaysNoDeduct': 'Företagets helgdagar räknas inte in i semesterdagarna.',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Dölj från kalendern',
'vacay.sharedEmpty': 'Visa varandra era kalendrar utan att slå samman dem.',
'vacay.sharedLegend': 'Delad (endast visning)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Doygunluk',
'vacay.sun': 'Güneş',
'vacay.publicHolidays': 'Resmi Tatiller',
'vacay.publicHolidaysHint': 'Resmi tatil günlerini takvimde işaretleyin',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Ülke seçin',
'vacay.selectRegion': 'Bölge seçin (isteğe bağlı)',
'vacay.addCalendar': 'Takvim ekle',
'vacay.calendarLabel': 'Etiket (isteğe bağlı)',
'vacay.calendarColor': 'Renk',
'vacay.noCalendars': 'Henüz tatil takvimi eklenmedi',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Şirket Tatilleri',
'vacay.companyHolidaysHint': 'Şirket çapında tatil günlerinin işaretlenmesine izin ver',
'vacay.companyHolidaysNoDeduct': 'Şirket tatilleri tatil günlerinden sayılmaz.',
@@ -107,5 +108,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Takvimden gizle',
'vacay.sharedEmpty': 'Takvimlerinizi birleştirmeden birbirinize gösterin.',
'vacay.sharedLegend': 'Paylaşılan (yalnızca görüntüleme)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Сб',
'vacay.sun': 'Нд',
'vacay.publicHolidays': 'Державні свята',
'vacay.publicHolidaysHint': 'Позначати державні свята в календарі',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Виберіть країну',
'vacay.selectRegion': 'Виберіть регіон (необов’язково)',
'vacay.companyHolidays': 'Корпоративні вихідні',
@@ -106,6 +108,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': 'Добавить календарь',
'vacay.calendarColor': 'Колір',
'vacay.calendarLabel': 'Назва',
'vacay.noCalendars': 'Немає календарів',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,13 +46,14 @@ const vacay: TranslationStrings = {
'vacay.sat': 'Thứ bảy',
'vacay.sun': 'Chủ nhật',
'vacay.publicHolidays': 'Ngày lễ',
'vacay.publicHolidaysHint': 'Đánh dấu các ngày lễ trong lịch',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': 'Chọn quốc gia',
'vacay.selectRegion': 'Chọn khu vực (tùy chọn)',
'vacay.addCalendar': 'Thêm lịch',
'vacay.calendarLabel': 'Nhãn (tùy chọn)',
'vacay.calendarColor': 'Màu sắc',
'vacay.noCalendars': 'Chưa có lịch nghỉ lễ nào được thêm vào',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
'vacay.companyHolidays': 'Ngày lễ của công ty',
'vacay.companyHolidaysHint': 'Cho phép đánh dấu ngày nghỉ lễ toàn công ty',
'vacay.companyHolidaysNoDeduct': 'Ngày nghỉ của công ty không được tính vào ngày nghỉ.',
@@ -108,5 +109,7 @@ const vacay: TranslationStrings = {
'vacay.hideFromCalendar': 'Ẩn khỏi lịch',
'vacay.sharedEmpty': 'Cho nhau xem lịch của mình mà không cần hợp nhất chúng.',
'vacay.sharedLegend': 'Được chia sẻ (chỉ xem)',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.noCalendars': 'No holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': '週六',
'vacay.sun': '週日',
'vacay.publicHolidays': '公共假日',
'vacay.publicHolidaysHint': '在日曆中標記公共假日',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': '選擇國家',
'vacay.selectRegion': '選擇地區(可選)',
'vacay.companyHolidays': '公司假日',
@@ -105,6 +107,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': '新增日曆',
'vacay.calendarColor': '顏色',
'vacay.calendarLabel': '標籤',
'vacay.noCalendars': '無日曆',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+5 -2
View File
@@ -46,7 +46,9 @@ const vacay: TranslationStrings = {
'vacay.sat': '周六',
'vacay.sun': '周日',
'vacay.publicHolidays': '公共假日',
'vacay.publicHolidaysHint': '在日历中标记公共假日',
'vacay.publicHolidaysHint': 'Mark public holidays in the calendar',
'vacay.schoolHolidays': 'School Holidays',
'vacay.schoolHolidaysHint': 'Mark school holidays as a visual calendar layer',
'vacay.selectCountry': '选择国家',
'vacay.selectRegion': '选择地区(可选)',
'vacay.companyHolidays': '公司假日',
@@ -105,6 +107,7 @@ const vacay: TranslationStrings = {
'vacay.addCalendar': '添加日历',
'vacay.calendarColor': '颜色',
'vacay.calendarLabel': '标签',
'vacay.noCalendars': '无日历',
'vacay.noCalendars': 'No holiday calendars added yet',
'vacay.noSchoolCalendars': 'No school holiday calendars added yet',
};
export default vacay;
+1
View File
@@ -18,6 +18,7 @@ const open = z.record(z.string(), z.unknown());
export const vacayAddHolidayCalendarRequestSchema = z.object({
region: z.string().min(1),
type: z.enum(['public_holiday', 'school_holiday']).optional(),
label: z.string().nullable().optional(),
color: z.string().optional(),
sort_order: z.number().optional(),