feat(frontend): streamline AI workflows and localize remaining UI copy
Move product and skin AI helpers into modal flows, simplify product edit/inventory navigation, and improve responsive actions so core forms are faster to use. Localize remaining frontend labels/placeholders and strip deprecated Rollup output options to remove deploy-time build warnings.
This commit is contained in:
parent
83ba4cc5c0
commit
d4fbc1faf5
15 changed files with 921 additions and 532 deletions
|
|
@ -22,6 +22,12 @@
|
|||
"common_unknown_value": "Unknown",
|
||||
"common_optional_notes": "optional",
|
||||
"common_steps": "steps",
|
||||
"common_am": "AM",
|
||||
"common_pm": "PM",
|
||||
"common_toggleMenu": "Toggle menu",
|
||||
"common_dragToReorder": "drag to reorder",
|
||||
"common_editStep": "edit step",
|
||||
"common_pricePerUse": "PLN/use",
|
||||
|
||||
"dashboard_title": "Dashboard",
|
||||
"dashboard_subtitle": "Your recent health & skincare overview",
|
||||
|
|
@ -61,8 +67,9 @@
|
|||
"products_colBrand": "Brand",
|
||||
"products_colTargets": "Targets",
|
||||
"products_colTime": "Time",
|
||||
"products_colPricePerUse": "PLN/use",
|
||||
"products_newTitle": "New Product",
|
||||
"products_backToList": "← Products",
|
||||
"products_backToList": "Products",
|
||||
"products_createProduct": "Create product",
|
||||
"products_saveChanges": "Save changes",
|
||||
"products_deleteProduct": "Delete product",
|
||||
|
|
@ -106,7 +113,7 @@
|
|||
"routines_addNew": "+ New routine",
|
||||
"routines_noRoutines": "No routines found.",
|
||||
"routines_newTitle": "New Routine",
|
||||
"routines_backToList": "← Routines",
|
||||
"routines_backToList": "Routines",
|
||||
"routines_detailsTitle": "Routine details",
|
||||
"routines_date": "Date *",
|
||||
"routines_amOrPm": "AM or PM *",
|
||||
|
|
@ -124,12 +131,15 @@
|
|||
"routines_dosePlaceholder": "e.g. 2 pumps",
|
||||
"routines_region": "Region",
|
||||
"routines_regionPlaceholder": "e.g. face",
|
||||
"routines_action": "Action",
|
||||
"routines_selectAction": "Select action",
|
||||
"routines_actionNotesPlaceholder": "Optional notes",
|
||||
"routines_addStepBtn": "Add step",
|
||||
"routines_unknownStep": "Unknown step",
|
||||
"routines_noSteps": "No steps yet.",
|
||||
|
||||
"grooming_title": "Grooming Schedule",
|
||||
"grooming_backToRoutines": "← Routines",
|
||||
"grooming_backToRoutines": "Routines",
|
||||
"grooming_addEntry": "+ Add entry",
|
||||
"grooming_entryAdded": "Entry added.",
|
||||
"grooming_entryUpdated": "Entry updated.",
|
||||
|
|
@ -152,7 +162,7 @@
|
|||
"grooming_daySunday": "Sunday",
|
||||
|
||||
"suggest_title": "AI Routine Suggestion",
|
||||
"suggest_backToRoutines": "← Routines",
|
||||
"suggest_backToRoutines": "Routines",
|
||||
"suggest_singleTab": "Single routine",
|
||||
"suggest_batchTab": "Batch / Vacation",
|
||||
"suggest_singleParams": "Parameters",
|
||||
|
|
@ -165,6 +175,8 @@
|
|||
"suggest_leavingHomeHint": "Affects SPF selection — checked: SPF50+, unchecked: SPF30.",
|
||||
"suggest_minoxidilToggleLabel": "Prioritize beard/mustache density (minoxidil)",
|
||||
"suggest_minoxidilToggleHint": "When enabled, AI will explicitly consider minoxidil for beard/mustache areas if available.",
|
||||
"suggest_minimizeProductsLabel": "Minimize products",
|
||||
"suggest_minimizeProductsHint": "Limit the number of different products",
|
||||
"suggest_generateBtn": "Generate suggestion",
|
||||
"suggest_generating": "Generating…",
|
||||
"suggest_proposalTitle": "Suggestion",
|
||||
|
|
@ -258,6 +270,7 @@
|
|||
"labResults_flagNone": "None",
|
||||
"labResults_date": "Date *",
|
||||
"labResults_loincCode": "LOINC code *",
|
||||
"labResults_loincExample": "e.g. 718-7",
|
||||
"labResults_testName": "Test name",
|
||||
"labResults_testNamePlaceholder": "e.g. Hemoglobin",
|
||||
"labResults_lab": "Lab",
|
||||
|
|
@ -336,7 +349,7 @@
|
|||
"productForm_aiPrefill": "AI pre-fill",
|
||||
"productForm_aiPrefillText": "Paste product description from a website, ingredient list, or other text. AI will fill in available fields — you can review and correct before saving.",
|
||||
"productForm_pasteText": "Paste product description, INCI ingredients here...",
|
||||
"productForm_parseWithAI": "Fill fields (AI)",
|
||||
"productForm_parseWithAI": "Fill",
|
||||
"productForm_parsing": "Processing…",
|
||||
"productForm_basicInfo": "Basic info",
|
||||
"productForm_name": "Name *",
|
||||
|
|
@ -346,6 +359,7 @@
|
|||
"productForm_lineName": "Line / series",
|
||||
"productForm_lineNamePlaceholder": "e.g. Hydro Boost",
|
||||
"productForm_url": "URL",
|
||||
"productForm_urlPlaceholder": "https://...",
|
||||
"productForm_sku": "SKU",
|
||||
"productForm_skuPlaceholder": "e.g. NTR-HB-50",
|
||||
"productForm_barcode": "Barcode / EAN",
|
||||
|
|
@ -370,11 +384,14 @@
|
|||
"productForm_contraindicationsPlaceholder": "e.g. active rosacea flares",
|
||||
"productForm_ingredients": "Ingredients",
|
||||
"productForm_inciList": "INCI list (one ingredient per line)",
|
||||
"productForm_inciPlaceholder": "Aqua\nGlycerin\nNiacinamide",
|
||||
"productForm_activeIngredients": "Active ingredients",
|
||||
"productForm_addActive": "+ Add active",
|
||||
"productForm_noActives": "No actives added yet.",
|
||||
"productForm_activeName": "Name",
|
||||
"productForm_activeNamePlaceholder": "e.g. Niacinamide",
|
||||
"productForm_activePercent": "%",
|
||||
"productForm_activePercentPlaceholder": "e.g. 5",
|
||||
"productForm_activeStrength": "Strength",
|
||||
"productForm_activeIrritation": "Irritation",
|
||||
"productForm_activeFunctions": "Functions",
|
||||
|
|
@ -387,6 +404,19 @@
|
|||
"productForm_ctxLowUvOnly": "Low UV only (evening/covered)",
|
||||
"productForm_productDetails": "Product details",
|
||||
"productForm_priceTier": "Price tier",
|
||||
"productForm_price": "Price",
|
||||
"productForm_currency": "Currency",
|
||||
"productForm_priceAmountPlaceholder": "e.g. 79.99",
|
||||
"productForm_priceCurrencyPlaceholder": "PLN",
|
||||
"productForm_sizePlaceholder": "e.g. 50",
|
||||
"productForm_fullWeightPlaceholder": "e.g. 120",
|
||||
"productForm_emptyWeightPlaceholder": "e.g. 30",
|
||||
"productForm_paoPlaceholder": "e.g. 12",
|
||||
"productForm_phMinPlaceholder": "e.g. 3.5",
|
||||
"productForm_phMaxPlaceholder": "e.g. 4.5",
|
||||
"productForm_minIntervalPlaceholder": "e.g. 24",
|
||||
"productForm_maxFrequencyPlaceholder": "e.g. 3",
|
||||
"productForm_needleLengthPlaceholder": "e.g. 0.25",
|
||||
"productForm_selectTier": "Select tier",
|
||||
"productForm_sizeMl": "Size (ml)",
|
||||
"productForm_fullWeightG": "Full weight (g)",
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@
|
|||
"common_unknown_value": "Nieznane",
|
||||
"common_optional_notes": "opcjonalnie",
|
||||
"common_steps": "kroków",
|
||||
"common_am": "AM",
|
||||
"common_pm": "PM",
|
||||
"common_toggleMenu": "Przełącz menu",
|
||||
"common_dragToReorder": "przeciągnij, aby zmienić kolejność",
|
||||
"common_editStep": "edytuj krok",
|
||||
"common_pricePerUse": "PLN/use",
|
||||
|
||||
"dashboard_title": "Dashboard",
|
||||
"dashboard_subtitle": "Przegląd zdrowia i pielęgnacji",
|
||||
|
|
@ -63,8 +69,9 @@
|
|||
"products_colBrand": "Marka",
|
||||
"products_colTargets": "Cele",
|
||||
"products_colTime": "Pora",
|
||||
"products_colPricePerUse": "PLN/use",
|
||||
"products_newTitle": "Nowy produkt",
|
||||
"products_backToList": "← Produkty",
|
||||
"products_backToList": "Produkty",
|
||||
"products_createProduct": "Utwórz produkt",
|
||||
"products_saveChanges": "Zapisz zmiany",
|
||||
"products_deleteProduct": "Usuń produkt",
|
||||
|
|
@ -110,7 +117,7 @@
|
|||
"routines_addNew": "+ Nowa rutyna",
|
||||
"routines_noRoutines": "Nie znaleziono rutyn.",
|
||||
"routines_newTitle": "Nowa rutyna",
|
||||
"routines_backToList": "← Rutyny",
|
||||
"routines_backToList": "Rutyny",
|
||||
"routines_detailsTitle": "Szczegóły rutyny",
|
||||
"routines_date": "Data *",
|
||||
"routines_amOrPm": "AM lub PM *",
|
||||
|
|
@ -128,12 +135,15 @@
|
|||
"routines_dosePlaceholder": "np. 2 pompki",
|
||||
"routines_region": "Okolica",
|
||||
"routines_regionPlaceholder": "np. twarz",
|
||||
"routines_action": "Czynność",
|
||||
"routines_selectAction": "Wybierz czynność",
|
||||
"routines_actionNotesPlaceholder": "Opcjonalne notatki",
|
||||
"routines_addStepBtn": "Dodaj krok",
|
||||
"routines_unknownStep": "Nieznany krok",
|
||||
"routines_noSteps": "Brak kroków.",
|
||||
|
||||
"grooming_title": "Harmonogram pielęgnacji",
|
||||
"grooming_backToRoutines": "← Rutyny",
|
||||
"grooming_backToRoutines": "Rutyny",
|
||||
"grooming_addEntry": "+ Dodaj wpis",
|
||||
"grooming_entryAdded": "Wpis dodany.",
|
||||
"grooming_entryUpdated": "Wpis zaktualizowany.",
|
||||
|
|
@ -156,7 +166,7 @@
|
|||
"grooming_daySunday": "Niedziela",
|
||||
|
||||
"suggest_title": "Propozycja rutyny AI",
|
||||
"suggest_backToRoutines": "← Rutyny",
|
||||
"suggest_backToRoutines": "Rutyny",
|
||||
"suggest_singleTab": "Jedna rutyna",
|
||||
"suggest_batchTab": "Batch / Urlop",
|
||||
"suggest_singleParams": "Parametry",
|
||||
|
|
@ -169,6 +179,8 @@
|
|||
"suggest_leavingHomeHint": "Wpływa na wybór SPF — zaznaczone: SPF50+, odznaczone: SPF30.",
|
||||
"suggest_minoxidilToggleLabel": "Priorytet: gęstość brody/wąsów (minoksydyl)",
|
||||
"suggest_minoxidilToggleHint": "Po włączeniu AI jawnie uwzględni minoksydyl dla obszaru brody/wąsów, jeśli jest dostępny.",
|
||||
"suggest_minimizeProductsLabel": "Minimalizuj produkty",
|
||||
"suggest_minimizeProductsHint": "Ogranicz liczbę różnych produktów",
|
||||
"suggest_generateBtn": "Generuj propozycję",
|
||||
"suggest_generating": "Generuję…",
|
||||
"suggest_proposalTitle": "Propozycja",
|
||||
|
|
@ -270,6 +282,7 @@
|
|||
"labResults_flagNone": "Brak",
|
||||
"labResults_date": "Data *",
|
||||
"labResults_loincCode": "Kod LOINC *",
|
||||
"labResults_loincExample": "np. 718-7",
|
||||
"labResults_testName": "Nazwa badania",
|
||||
"labResults_testNamePlaceholder": "np. Hemoglobina",
|
||||
"labResults_lab": "Laboratorium",
|
||||
|
|
@ -350,7 +363,7 @@
|
|||
"productForm_aiPrefill": "Uzupełnienie AI",
|
||||
"productForm_aiPrefillText": "Wklej opis produktu ze strony, listę składników lub inny tekst. AI uzupełni dostępne pola — możesz je przejrzeć i poprawić przed zapisem.",
|
||||
"productForm_pasteText": "Wklej tutaj opis produktu, składniki INCI...",
|
||||
"productForm_parseWithAI": "Uzupełnij pola (AI)",
|
||||
"productForm_parseWithAI": "Uzupełnij",
|
||||
"productForm_parsing": "Przetwarzam…",
|
||||
"productForm_basicInfo": "Informacje podstawowe",
|
||||
"productForm_name": "Nazwa *",
|
||||
|
|
@ -360,6 +373,7 @@
|
|||
"productForm_lineName": "Linia / seria",
|
||||
"productForm_lineNamePlaceholder": "np. Hydro Boost",
|
||||
"productForm_url": "URL",
|
||||
"productForm_urlPlaceholder": "https://...",
|
||||
"productForm_sku": "SKU",
|
||||
"productForm_skuPlaceholder": "np. NTR-HB-50",
|
||||
"productForm_barcode": "Kod kreskowy / EAN",
|
||||
|
|
@ -384,11 +398,14 @@
|
|||
"productForm_contraindicationsPlaceholder": "np. aktywna rosacea",
|
||||
"productForm_ingredients": "Składniki",
|
||||
"productForm_inciList": "Lista INCI (jeden składnik na linię)",
|
||||
"productForm_inciPlaceholder": "Aqua\nGlycerin\nNiacinamide",
|
||||
"productForm_activeIngredients": "Składniki aktywne",
|
||||
"productForm_addActive": "+ Dodaj aktywny",
|
||||
"productForm_noActives": "Brak składników aktywnych.",
|
||||
"productForm_activeName": "Nazwa",
|
||||
"productForm_activeNamePlaceholder": "np. Niacinamide",
|
||||
"productForm_activePercent": "%",
|
||||
"productForm_activePercentPlaceholder": "np. 5",
|
||||
"productForm_activeStrength": "Siła",
|
||||
"productForm_activeIrritation": "Podrażnienie",
|
||||
"productForm_activeFunctions": "Funkcje",
|
||||
|
|
@ -401,6 +418,19 @@
|
|||
"productForm_ctxLowUvOnly": "Tylko przy niskim UV (wieczór/zakrycie)",
|
||||
"productForm_productDetails": "Szczegóły produktu",
|
||||
"productForm_priceTier": "Przedział cenowy",
|
||||
"productForm_price": "Cena",
|
||||
"productForm_currency": "Waluta",
|
||||
"productForm_priceAmountPlaceholder": "np. 79.99",
|
||||
"productForm_priceCurrencyPlaceholder": "PLN",
|
||||
"productForm_sizePlaceholder": "np. 50",
|
||||
"productForm_fullWeightPlaceholder": "np. 120",
|
||||
"productForm_emptyWeightPlaceholder": "np. 30",
|
||||
"productForm_paoPlaceholder": "np. 12",
|
||||
"productForm_phMinPlaceholder": "np. 3.5",
|
||||
"productForm_phMaxPlaceholder": "np. 4.5",
|
||||
"productForm_minIntervalPlaceholder": "np. 24",
|
||||
"productForm_maxFrequencyPlaceholder": "np. 3",
|
||||
"productForm_needleLengthPlaceholder": "np. 0.25",
|
||||
"productForm_selectTier": "Wybierz przedział",
|
||||
"productForm_sizeMl": "Rozmiar (ml)",
|
||||
"productForm_fullWeightG": "Waga pełna (g)",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue