6.3 KiB
2026-04-22
Co zrobiono
-
[Phase 15, Plan 01] Usunięcie Softra-insurance z modala rezerwacji — pozostają wyłącznie pakiety WP (SOFT/PREMIUM) z Phase 13
-
Usunięty kontener
#carei-insurance-container+ wewnętrzny divider w szablonie widgetu Elementor -
Usunięta zmienna
insuranceContainer(deklaracja + init) wcarei-reservation.js -
Pozycje pricelist zawierające
ubezp|ochrony|zniesienie|insurancesą dropowane — nie trafiają do extras, podsumowania, ani do payloadumakebooking -
[Phase 16, Plan 01] i18n refactor pluginu carei-reservation — przygotowanie do dwujęzyczności PL/EN
-
load_plugin_textdomain('carei-reservation')w bootstrapie + kataloglanguages/ -
8 plików PHP z user-facing stringami owiniętymi w
__()/esc_html__()/esc_attr__() -
carei-reservation.js: ~70 literałów zamienione na wywołaniat()/tFmt()przez globalny obiektwindow.careiI18n, helperpluralPl()dla polskich form -
wp_localize_script('carei-reservation-js', 'careiI18n', [...])z 78 kluczami tłumaczonymi po PHP -
Wygenerowany
languages/carei-reservation.pot— 157 unikalnych msgid gotowych do tłumaczenia (Phase 18) -
Admin panel: statyczna tablica statusów → helper
get_status_label()(wymóg WP — translation timing) -
Mu-plugin
fix-sprintf-global.php— backfill globalnegowindow.sprintfdla Automatic Translate Addon For Polylang
Zmienione pliki
wp-content/plugins/carei-reservation/carei-reservation.phpwp-content/plugins/carei-reservation/includes/class-elementor-widget.phpwp-content/plugins/carei-reservation/includes/class-admin-panel.phpwp-content/plugins/carei-reservation/includes/class-rest-proxy.phpwp-content/plugins/carei-reservation/includes/class-search-widget.phpwp-content/plugins/carei-reservation/includes/class-cities-widget.phpwp-content/plugins/carei-reservation/includes/class-map-widget.phpwp-content/plugins/carei-reservation/includes/class-branches-widget.phpwp-content/plugins/carei-reservation/assets/js/carei-reservation.jswp-content/plugins/carei-reservation/languages/carei-reservation.pot(nowy)wp-content/mu-plugins/fix-sprintf-global.php(nowy).paul/phases/15-remove-softra-insurance/15-01-PLAN.md.paul/phases/15-remove-softra-insurance/15-01-SUMMARY.md.paul/phases/16-i18n-plugin-refactor/16-01-PLAN.md.paul/phases/16-i18n-plugin-refactor/16-01-SUMMARY.md.paul/STATE.md.paul/ROADMAP.md
Phase 17 — Dwujęzyczne pakiety + mapowanie błędów Softra
- [Phase 17, Plan 01] Pola
name_en/description_enw panelu pakietów SOFT/PREMIUM + sanitize/save - REST
/protection-packagesz helperemresolve_locale()(?lang=→determine_locale()→ fallback) Carei_Softra_API::extract_softra_message()— parser JSON odpowiedzi błęduCarei_Softra_API::map_error_message()— słownik 13 typowych PL komunikatów Softra →__()z textdomain, exact + fuzzy prefix match, graceful passthrough- Frontend:
loadProtectionPackages()dodaje?lang=na podstawiedocument.documentElement.lang - Pliki:
class-admin-panel.php,class-rest-proxy.php,class-softra-api.php,carei-reservation.js .paul/phases/17-bilingual-packages-and-softra-errors/17-01-PLAN.md+ SUMMARY
Phase 18 — EN translation .po/.mo + Flatpickr
- [Phase 18, Plan 01] Tłumaczenie EN pluginu carei-reservation — 158 wpisów z .pot przetłumaczone na angielski (branża car rental)
- Własny PHP kompilator
po2mo.php(msgfmt niedostępny) — parsuje .po, sortuje, pakuje binarnie wg gettext spec (magic 0x950412de) - Wygenerowane
carei-reservation-en_US.po+.mo(9455 bytes, N=158) orazen_GB.po+.mo - Scope addition: Flatpickr 4.6.13 (CDN jsdelivr) — cross-browser date picker z locale PL/EN dla modal + hero;
static: truedla modala (popup w container, bypass focus-trap);disableMobile: truedla spójności UX - Kompaktowy CSS theme flatpickr w kolorach Carei (#2F2482): szerokość 260px, font 12–13px, zaokrąglone dni, miękki fioletowy shadow
- Graceful fallback — jeśli CDN padnie, wraca do natywnego
datetime-localpickera
Zmienione pliki (Phase 18)
wp-content/plugins/carei-reservation/carei-reservation.php(Flatpickr enqueue)wp-content/plugins/carei-reservation/assets/js/carei-reservation.js(initDatePickers)wp-content/plugins/carei-reservation/assets/css/carei-reservation.css(kompaktowy theme)wp-content/plugins/carei-reservation/languages/carei-reservation-en_US.po(nowy)wp-content/plugins/carei-reservation/languages/carei-reservation-en_US.mo(nowy)wp-content/plugins/carei-reservation/languages/carei-reservation-en_GB.po(nowy)wp-content/plugins/carei-reservation/languages/carei-reservation-en_GB.mo(nowy).paul/phases/18-en-translation/18-01-PLAN.md+ SUMMARY
Milestone v0.7 — Dwujęzyczność (PL/EN) ✅ COMPLETE
Plugin carei-reservation działa w pełni dwujęzycznie (PL + EN), z Flatpickr pokrywającym też kalendarze. Phase 16 (infrastruktura i18n) + Phase 17 (bilingual pakiety + Softra errors) + Phase 18 (tłumaczenia + UX).
Phase 19 — Extras translations admin panel
- [Phase 19, Plan 01] Admin panel do zarządzania tłumaczeniami dynamicznych nazw extras z Softra API
- Nowe WP options:
carei_extras_seen(auto-collected PL names),carei_extras_translations(admin override PL → EN) - Helpery w
Carei_Admin_Panel:remember_extra_name(),get_extras_seen(),get_extras_translations(),translate_extra_name() - Submenu
wp-admin → Rezerwacje → Tłumaczenia extras(lista PL + inputy EN + zapis z nonce/sanitize) Carei_REST_Proxy::get_pricelist()— runtime auto-collect + per-locale replacement nazw z fallbackiem do PL- Reuse
resolve_locale()z Phase 17 — brak duplikacji
Zmienione pliki (Phase 19)
wp-content/plugins/carei-reservation/includes/class-admin-panel.phpwp-content/plugins/carei-reservation/includes/class-rest-proxy.php.paul/phases/19-extras-translations-admin/19-01-PLAN.md+ SUMMARY
Milestone v0.8 — Admin-managed tłumaczenia extras ✅ COMPLETE
System tłumaczeń pluginu kompletny: statyczne stringi (.po/.mo), bilingual pakiety + błędy Softra, dynamiczne extras z admin override. Użytkownik EN widzi całość w języku angielskim (poza świadomie pominiętymi danymi biznesowymi: nazwy miast/krajów/klas pojazdów).