Files
HeatGuard/web/i18n/en.json
vikingowl 528a249009 feat: add AI configuration step to guide
Insert step 5 (Configure AI) into the getting-started guide with
mentions of Setup > AI Summary, --llm-provider/--llm-model CLI flags,
and Ollama local support. Renumber Fetch Forecast to step 6 and View
Dashboard to step 7.
2026-02-10 05:07:14 +01:00

271 lines
13 KiB
JSON

{
"app": {
"name": "HeatGuard",
"tagline": "Personalized heat preparedness"
},
"nav": {
"dashboard": "Dashboard",
"setup": "Setup",
"guide": "Guide",
"language": "Language"
},
"setup": {
"title": "Setup",
"profiles": {
"title": "Profiles",
"help": "A profile represents a location you want to monitor.",
"name": { "label": "Name", "tooltip": "A descriptive name for this location" },
"latitude": { "label": "Latitude", "tooltip": "Decimal degrees (e.g. 52.52)" },
"longitude": { "label": "Longitude", "tooltip": "Decimal degrees (e.g. 13.405)" },
"timezone": { "label": "Timezone", "tooltip": "IANA timezone (e.g. Europe/Berlin)" },
"geolocate": {
"button": "Use my location",
"loading": "Detecting location\u2026",
"denied": "Location permission denied.",
"unavailable": "Location unavailable.",
"timeout": "Location request timed out."
},
"add": "Add Profile",
"save": "Save Profile",
"edit": "Edit",
"delete": "Delete",
"noItems": "No profiles yet. Create one to get started."
},
"rooms": {
"title": "Rooms",
"help": "Add rooms to monitor. Properties affect heat calculations.",
"name": { "label": "Name", "tooltip": "Room name (e.g. Office, Bedroom)" },
"area": { "label": "Area (m\u00b2)", "tooltip": "Floor area. Affects solar gain through windows." },
"ceilingHeight": { "label": "Ceiling Height (m)", "tooltip": "Room height. Affects air volume for ventilation calculations." },
"floor": { "label": "Floor", "tooltip": "Floor number (0 = ground). Higher floors tend to be warmer." },
"orientation": {
"label": "Orientation",
"tooltip": "Primary window direction. Affects solar gain timing.",
"options": { "N": "North", "NE": "Northeast", "E": "East", "SE": "Southeast", "S": "South", "SW": "Southwest", "W": "West", "NW": "Northwest" }
},
"shadingType": {
"label": "Shading",
"tooltip": "Type of exterior shading (none, blinds, shutters, awning).",
"options": { "none": "None", "blinds": "Blinds", "shutters": "Shutters", "awning": "Awning" }
},
"shadingFactor": { "label": "Shading Factor", "tooltip": "0 = fully shaded, 1 = no shading. External shutters \u2248 0.2, internal blinds \u2248 0.6." },
"ventilation": { "label": "Ventilation", "tooltip": "Ventilation type (natural, mechanical, sealed)." },
"ventilationAch": { "label": "Ventilation ACH", "tooltip": "Air Changes per Hour. Sealed \u2248 0.3, natural \u2248 1.5, open windows \u2248 5.0." },
"windowFraction": { "label": "Window Fraction", "tooltip": "Fraction of wall area that is window (0\u20131). Typical: 0.15." },
"shgc": { "label": "SHGC", "tooltip": "Solar Heat Gain Coefficient (0\u20131). Low-E glass \u2248 0.3, clear glass \u2248 0.8." },
"insulation": {
"label": "Insulation",
"tooltip": "Wall insulation quality (poor, average, good, excellent).",
"options": { "poor": "Poor", "average": "Average", "good": "Good", "excellent": "Excellent" }
},
"indoorTemp": {
"label": "Indoor Temp (\u00b0C)",
"tooltip": "Current or target indoor temperature. Default 25\u00b0C."
},
"add": "Add Room",
"save": "Save Room",
"noItems": "No rooms yet. Add rooms to your profile."
},
"devices": {
"title": "Devices",
"help": "Heat-producing devices in each room.",
"name": { "label": "Name", "tooltip": "Device name (e.g. Desktop PC, TV)" },
"room": { "label": "Room", "tooltip": "Which room this device is in" },
"type": { "label": "Type", "tooltip": "Device category" },
"wattsIdle": { "label": "Watts (Idle)", "tooltip": "Power draw when idle/standby" },
"wattsTypical": { "label": "Watts (Typical)", "tooltip": "Power draw during normal use" },
"wattsPeak": { "label": "Watts (Peak)", "tooltip": "Power draw at maximum load (e.g. gaming)" },
"dutyCycle": { "label": "Duty Cycle", "tooltip": "Fraction of time active (0\u20131). Fridge \u2248 0.3, PC \u2248 1.0." },
"add": "Add Device",
"save": "Save Device",
"noItems": "No devices yet."
},
"occupants": {
"title": "Occupants",
"help": "People in each room. Metabolic heat contributes to room temperature.",
"room": { "label": "Room", "tooltip": "Which room" },
"count": { "label": "Count", "tooltip": "Number of people" },
"activity": {
"label": "Activity Level",
"tooltip": "Sleeping \u2248 70W, Sedentary \u2248 100W, Light \u2248 130W, Moderate \u2248 200W, Heavy \u2248 300W per person.",
"options": { "sleeping": "Sleeping", "sedentary": "Sedentary", "light": "Light", "moderate": "Moderate", "heavy": "Heavy" }
},
"vulnerable": { "label": "Vulnerable", "tooltip": "Check if elderly, young children, or health-compromised. Adds care reminders." },
"add": "Add Occupants",
"save": "Save Occupants",
"noItems": "No occupants yet."
},
"ac": {
"title": "AC Units",
"help": "Air conditioning units and their room assignments.",
"name": { "label": "Name", "tooltip": "AC unit name" },
"type": {
"label": "Type",
"tooltip": "portable, window, split, central",
"options": { "portable": "Portable", "window": "Window", "split": "Split", "central": "Central" }
},
"capacity": { "label": "Capacity (BTU)", "tooltip": "Cooling capacity in BTU/h. Typical portable: 8,000\u201314,000 BTU." },
"eer": { "label": "EER", "tooltip": "Energy Efficiency Ratio. Higher = more efficient. Typical: 8\u201312." },
"dehumidify": { "label": "Dehumidify", "tooltip": "Whether the unit has a dehumidify mode" },
"rooms": { "label": "Assigned Rooms", "tooltip": "Which rooms this AC unit serves" },
"add": "Add AC Unit",
"save": "Save AC Unit",
"noItems": "No AC units yet."
},
"toggles": {
"title": "Toggles",
"help": "Activity toggles affect heat calculations for the current day.",
"gaming": "Gaming (devices at peak power)",
"cooking": "Cooking (additional kitchen heat)",
"laundry": "Laundry / Dryer running",
"guests": "Extra guests present"
},
"forecast": {
"title": "Forecast",
"help": "Fetch weather forecast data for your profile location.",
"fetch": "Fetch Forecast",
"lastFetched": "Last fetched",
"never": "Never",
"fetching": "Fetching forecast\u2026"
},
"llm": {
"title": "AI Summary",
"help": "Configure an AI provider for personalized heat summaries.",
"provider": "Provider",
"model": "Model",
"apiKey": "API Key",
"apiKeyPlaceholder": "Enter API key",
"modelPlaceholder": "Model name (leave blank for default)",
"save": "Save Settings",
"providerOptions": { "anthropic": "Anthropic", "openai": "OpenAI", "gemini": "Google Gemini" }
}
},
"dashboard": {
"title": "Heat Report",
"riskLevel": "Risk Level",
"peakTemp": "Peak Temperature",
"minNightTemp": "Min Night Temp",
"poorNightCool": "Poor Night Cooling",
"timeline": "24h Timeline",
"roomBudgets": "Room Heat Budgets",
"actions": "Actions",
"careChecklist": "Care Checklist",
"warnings": "Weather Warnings",
"riskWindows": "Risk Windows",
"llmSummary": "AI Summary",
"noData": "No data yet. Set up your profile and fetch a forecast.",
"goToSetup": "Go to Setup",
"goToGuide": "Read the Guide",
"loading": "Loading\u2026",
"computing": "Computing heat analysis\u2026",
"error": "Failed to load data. Please try again.",
"internalGains": "Internal Gains",
"solarGain": "Solar Gain",
"ventGain": "Ventilation Gain",
"totalGain": "Total Gain",
"acCapacity": "AC Capacity",
"headroom": "Headroom",
"fetchForecastFirst": "No forecast data. Fetch a forecast in Setup first.",
"no": "No",
"noActions": "No actions",
"effort": "Effort",
"impact": "Impact",
"aiDisclaimer": "AI-generated summary. Not a substitute for professional advice.",
"riskComfort": "Comfortable",
"coolComfort": "No cooling needed",
"coolVentilate": "Open windows",
"coolAC": "AC cooling",
"coolOverloaded": "AC overloaded",
"coolSealed": "Keep sealed",
"aiActions": "AI-recommended actions",
"legendTemp": "Temperature",
"legendCooling": "Cooling",
"refreshForecast": "Refresh Forecast",
"quickSettings": "Quick Settings",
"qsIndoorTemp": "Indoor Temp (\u00b0C)",
"qsIndoorHumidity": "Indoor Humidity (%)",
"qsApply": "Apply",
"legendAI": "AI Actions",
"category": {
"shading": "Shading",
"ventilation": "Ventilation",
"internal_gains": "Heat Sources",
"ac_strategy": "AC Strategy",
"hydration": "Hydration",
"care": "Care"
}
},
"guide": {
"title": "Getting Started",
"intro": "HeatGuard helps you prepare for heat events by analyzing your living space, weather forecasts, and providing personalized hour-by-hour action plans.",
"step1": {
"title": "1. Create a Profile",
"text": "Go to Setup and create a profile for your location. Enter your coordinates (use the 'Use my location' button for auto-detection) and timezone."
},
"step2": {
"title": "2. Add Rooms",
"text": "Add the rooms you want to monitor. Set the area, orientation (which direction windows face), ceiling height, and window properties. These affect solar gain and ventilation calculations."
},
"step3": {
"title": "3. Add Devices & Occupants",
"text": "Add heat-producing devices (computers, TVs, appliances) and occupants to each room. Each person and device contributes to the internal heat load."
},
"step4": {
"title": "4. Configure AC Units",
"text": "If you have air conditioning, add your units and assign them to rooms. This allows HeatGuard to calculate whether your cooling capacity is sufficient."
},
"step5": {
"title": "5. Configure AI (Optional)",
"text": "For AI-powered summaries and action recommendations, configure an LLM provider. Use Setup > AI Summary for browser-side config, or start the server with --llm-provider and --llm-model flags. Ollama runs locally without an API key."
},
"step6": {
"title": "6. Fetch a Forecast",
"text": "On the Setup page, click 'Fetch Forecast' to get the latest weather data for your location. Forecasts cover the next 3 days."
},
"step7": {
"title": "7. View the Dashboard",
"text": "Return to the Dashboard to see your personalized heat analysis: risk level, temperature timeline, room heat budgets, recommended actions, and AI summary."
},
"params": {
"title": "Understanding Room Parameters",
"shgc": "SHGC (Solar Heat Gain Coefficient): How much solar energy passes through windows. Low-E glass \u2248 0.3, clear single pane \u2248 0.8.",
"ventilation": "Ventilation ACH (Air Changes per Hour): How often the room's air volume is replaced. Sealed room \u2248 0.3, open windows \u2248 5.0.",
"shading": "Shading Factor: 0 = fully shaded (no sun enters), 1 = no shading. External shutters \u2248 0.2, internal blinds \u2248 0.6.",
"orientation": "Orientation: South-facing rooms get the most midday sun. East faces morning sun, West faces afternoon sun."
},
"risk": {
"title": "Understanding Risk Levels",
"low": "Low: Temperatures below 30\u00b0C. Normal conditions.",
"moderate": "Moderate: Temperatures 30\u201335\u00b0C. Take basic precautions.",
"high": "High: Temperatures 35\u201340\u00b0C. Significant heat stress risk.",
"extreme": "Extreme: Temperatures above 40\u00b0C. Dangerous conditions."
},
"budget": {
"title": "Understanding Heat Budgets",
"text": "Each room's heat budget compares total heat gains (devices + people + solar + ventilation) against AC cooling capacity. Status: Comfortable (>20% headroom), Marginal (0\u201320% headroom), Overloaded (gains exceed capacity)."
},
"tips": {
"title": "Tips for Accuracy",
"tip1": "Measure your room area and window sizes for better solar gain estimates.",
"tip2": "Check device power ratings on labels or manufacturer specs.",
"tip3": "Close external shutters/blinds during peak sun hours for maximum effect.",
"tip4": "Use the gaming toggle on days when you'll be running devices at full load."
}
},
"footer": {
"source": "Source Code",
"license": "GPL-3.0 License"
},
"common": {
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"saved": "Saved",
"error": "Something went wrong.",
"confirm": "Are you sure?",
"loading": "Loading\u2026",
"watts": "W"
}
}