modified: static/css/style.css modified: templates/base.html modified: templates/index.html modified: templates/weather.html new file: translations.py
177 lines
10 KiB
Python
177 lines
10 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""UI translation strings for Skywatcher (de / en)."""
|
||
|
||
TRANSLATIONS = {
|
||
"de": {
|
||
# ── Nav / global ───────────────────────────────────────────
|
||
"nav_placeholder": "Ort suchen …",
|
||
"clock_suffix": "Uhr",
|
||
|
||
# ── Index page ─────────────────────────────────────────────
|
||
"page_title_home": "Skywatcher – Wetter für Deutschland",
|
||
"home_eyebrow": "Präzise Vorhersagen · Daten via DWD Open Data",
|
||
"home_headline": "Wo willst du<br>das Wetter wissen?",
|
||
"home_placeholder": "Stadt, Gemeinde oder PLZ …",
|
||
"home_btn": "Abrufen",
|
||
"btn_location": "Meinen Standort nutzen",
|
||
"locating": "Wird ermittelt …",
|
||
"location_unavailable": "Standort nicht verfügbar",
|
||
"geolocation_unsupported": "Geolocation nicht unterstützt.",
|
||
"recently_searched": "Zuletzt gesucht:",
|
||
|
||
# ── Error messages ─────────────────────────────────────────
|
||
"error_no_place": "Bitte einen Ort eingeben.",
|
||
"error_place_not_found": "Ort \"{ort}\" konnte nicht gefunden werden.",
|
||
"error_no_data": "Keine Wetterdaten verfügbar. Bitte später erneut versuchen.",
|
||
|
||
# ── Hero ───────────────────────────────────────────────────
|
||
"cloud_cover": "Bedeckung",
|
||
"feels_like": "Gefühlt wie",
|
||
"gusts": "Böen",
|
||
"precipitation": "Niederschlag",
|
||
"sun": "Sonne",
|
||
"uv_index": "UV-Index",
|
||
"station": "Station",
|
||
|
||
# ── Warnings ───────────────────────────────────────────────
|
||
"warn_details": "Details",
|
||
|
||
# ── Insights ───────────────────────────────────────────────
|
||
"section_summary": "Kurzfazit",
|
||
"temp_trend_label": "Temperaturtrend (6h)",
|
||
"pressure_trend_label": "Drucktrend (6h)",
|
||
"best_window_label": "Bestes Aktivitätsfenster",
|
||
"score": "Score",
|
||
|
||
# ── Hourly strip ───────────────────────────────────────────
|
||
"section_hourly": "Stundenweise",
|
||
"legend": "Legende:",
|
||
"conf_high": "Konfidenz hoch",
|
||
"conf_mid": "mittel",
|
||
"conf_low": "niedrig",
|
||
"activity_legend": "Aktivität 0–100",
|
||
"now": "Jetzt",
|
||
"active": "Aktiv",
|
||
|
||
# ── Chart ──────────────────────────────────────────────────
|
||
"section_chart": "Temperatur, Gefühlt & Niederschlag",
|
||
"chart_range": "72 Stunden",
|
||
"chart_temp": "Temperatur (°C)",
|
||
"chart_feels": "Gefühlt (°C)",
|
||
"chart_precip": "Niederschlag (mm)",
|
||
"chart_rainprob": "Regenwahrsch. (%)",
|
||
|
||
# ── Daily ──────────────────────────────────────────────────
|
||
"section_daily": "Tagesübersicht",
|
||
"daily_hdr_day": "Tag",
|
||
"daily_hdr_range": "Temperaturbereich",
|
||
"daily_hdr_details": "Min · Max · Nieder. · UV",
|
||
|
||
# ── Footer ─────────────────────────────────────────────────
|
||
"data_source": "Wetterdaten:",
|
||
|
||
# ── Dynamic back-end label translations ───────────────────
|
||
# confidence
|
||
"hoch": "hoch",
|
||
"mittel": "mittel",
|
||
"niedrig": "niedrig",
|
||
# UV
|
||
"moderat": "moderat",
|
||
"sehr hoch": "sehr hoch",
|
||
"extrem": "extrem",
|
||
# pressure / temp trend
|
||
"steigend": "steigend",
|
||
"fallend": "fallend",
|
||
"stabil": "stabil",
|
||
"wärmer": "wärmer",
|
||
"kälter": "kälter",
|
||
"konstant": "konstant",
|
||
},
|
||
|
||
"en": {
|
||
# ── Nav / global ───────────────────────────────────────────
|
||
"nav_placeholder": "Search location …",
|
||
"clock_suffix": "",
|
||
|
||
# ── Index page ─────────────────────────────────────────────
|
||
"page_title_home": "Skywatcher – Weather Forecast",
|
||
"home_eyebrow": "Precise forecasts · Data via DWD Open Data",
|
||
"home_headline": "Where do you want<br>to know the weather?",
|
||
"home_placeholder": "City, municipality or ZIP …",
|
||
"home_btn": "Get forecast",
|
||
"btn_location": "Use my location",
|
||
"locating": "Locating …",
|
||
"location_unavailable": "Location unavailable",
|
||
"geolocation_unsupported": "Geolocation not supported.",
|
||
"recently_searched": "Recently searched:",
|
||
|
||
# ── Error messages ─────────────────────────────────────────
|
||
"error_no_place": "Please enter a location.",
|
||
"error_place_not_found": "Location \"{ort}\" could not be found.",
|
||
"error_no_data": "No weather data available. Please try again later.",
|
||
|
||
# ── Hero ───────────────────────────────────────────────────
|
||
"cloud_cover": "Cloud cover",
|
||
"feels_like": "Feels like",
|
||
"gusts": "Gusts",
|
||
"precipitation": "Precipitation",
|
||
"sun": "Sun",
|
||
"uv_index": "UV index",
|
||
"station": "Station",
|
||
|
||
# ── Warnings ───────────────────────────────────────────────
|
||
"warn_details": "Details",
|
||
|
||
# ── Insights ───────────────────────────────────────────────
|
||
"section_summary": "Summary",
|
||
"temp_trend_label": "Temperature trend (6h)",
|
||
"pressure_trend_label": "Pressure trend (6h)",
|
||
"best_window_label": "Best activity window",
|
||
"score": "Score",
|
||
|
||
# ── Hourly strip ───────────────────────────────────────────
|
||
"section_hourly": "Hourly",
|
||
"legend": "Legend:",
|
||
"conf_high": "Confidence high",
|
||
"conf_mid": "medium",
|
||
"conf_low": "low",
|
||
"activity_legend": "Activity 0–100",
|
||
"now": "Now",
|
||
"active": "Active",
|
||
|
||
# ── Chart ──────────────────────────────────────────────────
|
||
"section_chart": "Temperature, Feels like & Precipitation",
|
||
"chart_range": "72 hours",
|
||
"chart_temp": "Temperature (°C)",
|
||
"chart_feels": "Feels like (°C)",
|
||
"chart_precip": "Precipitation (mm)",
|
||
"chart_rainprob": "Rain prob. (%)",
|
||
|
||
# ── Daily ──────────────────────────────────────────────────
|
||
"section_daily": "Daily overview",
|
||
"daily_hdr_day": "Day",
|
||
"daily_hdr_range": "Temperature range",
|
||
"daily_hdr_details": "Min · Max · Precip. · UV",
|
||
|
||
# ── Footer ─────────────────────────────────────────────────
|
||
"data_source": "Weather data:",
|
||
|
||
# ── Dynamic back-end label translations ───────────────────
|
||
# confidence
|
||
"hoch": "high",
|
||
"mittel": "medium",
|
||
"niedrig": "low",
|
||
# UV
|
||
"moderat": "moderate",
|
||
"sehr hoch": "very high",
|
||
"extrem": "extreme",
|
||
# pressure / temp trend
|
||
"steigend": "rising",
|
||
"fallend": "falling",
|
||
"stabil": "stable",
|
||
"wärmer": "warmer",
|
||
"kälter": "colder",
|
||
"konstant": "steady",
|
||
},
|
||
}
|