'At job start', 'moment_end' => 'At job end', 'retry_dispatched' => 'Weather fetch has been re-queued.', 'retry_no_coordinates' => 'No coordinates available – weather fetch not possible.', 'fetch_failed' => 'Weather fetch failed.', 'snapshot_start' => 'Weather at job start', 'snapshot_end' => 'Weather at job end', 'temperature' => 'Temperature', 'precipitation' => 'Precipitation', 'snow_depth' => 'Snow depth', 'weather_code' => 'Weather code', 'col_moment' => 'Moment', 'col_temperature' => 'Temperature', 'col_precipitation' => 'Precipitation', 'col_snow_depth' => 'Snow Depth', 'col_weather_code' => 'Weather Code', 'col_weather' => 'Weather', 'col_fetched' => 'Fetched', 'wmo_0' => 'Clear sky', 'wmo_1' => 'Mainly clear', 'wmo_2' => 'Partly cloudy', 'wmo_3' => 'Overcast', 'wmo_45' => 'Fog', 'wmo_48' => 'Depositing rime fog', 'wmo_51' => 'Light drizzle', 'wmo_53' => 'Moderate drizzle', 'wmo_55' => 'Dense drizzle', 'wmo_56' => 'Light freezing drizzle', 'wmo_57' => 'Dense freezing drizzle', 'wmo_61' => 'Slight rain', 'wmo_63' => 'Moderate rain', 'wmo_65' => 'Heavy rain', 'wmo_66' => 'Light freezing rain', 'wmo_67' => 'Heavy freezing rain', 'wmo_71' => 'Slight snowfall', 'wmo_73' => 'Moderate snowfall', 'wmo_75' => 'Heavy snowfall', 'wmo_77' => 'Snow grains', 'wmo_80' => 'Slight rain showers', 'wmo_81' => 'Moderate rain showers', 'wmo_82' => 'Violent rain showers', 'wmo_85' => 'Slight snow showers', 'wmo_86' => 'Heavy snow showers', 'wmo_95' => 'Thunderstorm', 'wmo_96' => 'Thunderstorm with slight hail', 'wmo_99' => 'Thunderstorm with heavy hail', 'wmo_unknown' => 'Unknown (code :code)', // Provider names 'provider_openmeteo_free' => 'Open-Meteo (Free)', 'provider_openmeteo_api' => 'Open-Meteo (API Key)', 'provider_brightsky' => 'Bright Sky (DWD)', 'provider_met_norway' => 'MET Norway', // Provider warnings 'provider_free_warning' => 'Free version – for non-commercial use / demo only. For production use: purchase an API key, or switch to Bright Sky / MET Norway.', // Condition labels 'condition_clear' => 'Clear', 'condition_cloudy' => 'Cloudy', 'condition_fog' => 'Fog', 'condition_drizzle' => 'Drizzle', 'condition_rain' => 'Rain', 'condition_snow' => 'Snowfall', 'condition_rain-shower' => 'Rain showers', 'condition_snow-shower' => 'Snow showers', 'condition_thunderstorm' => 'Thunderstorm', // Connection test 'test_ok' => 'Connection successful.', 'test_http_error' => 'HTTP error: status :status', 'test_missing_data' => 'Response contains no weather data.', // New columns 'col_wind_speed' => 'Wind speed', 'col_humidity' => 'Humidity', 'col_provider' => 'Source', 'wind_speed' => 'Wind speed', 'humidity' => 'Humidity', // Settings UI 'settings_title' => 'Weather', 'settings_description' => 'Manage weather data provider, API key, and cache settings.', 'settings_provider' => 'Provider', 'settings_api_key' => 'API Key', 'settings_api_key_help' => 'Required for paid providers. Stored securely.', 'settings_user_agent_email' => 'Contact Email (User-Agent)', 'settings_user_agent_email_help' => 'Some providers (e.g. MET Norway) require a contact email in the User-Agent header.', 'settings_cache_ttl' => 'Cache Duration (minutes)', 'settings_cache_ttl_help' => 'How long weather data is cached before a new request is made.', 'settings_saved' => 'Weather settings saved.', 'settings_test_btn' => 'Test Connection', 'settings_test_section' => 'Connection Test', 'settings_test_help' => 'Tests the connection to the selected provider using company coordinates.', 'settings_test_success' => 'Connection successful (:latency ms).', 'settings_test_failure' => 'Connection failed: :message', 'settings_test_no_coords' => 'No company coordinates set – using default coordinates (Munich).', ];