Use weather icon instead of condition (more variety)

This commit is contained in:
2026-04-28 22:06:57 +02:00
parent dcb916d442
commit c4dd938a56
6 changed files with 450 additions and 512 deletions

View File

@@ -1,191 +1,170 @@
{ {
"action.back": "Back", "action.back": "Back",
"action.delete": "Delete", "action.delete": "Delete",
"action.save": "Save", "action.save": "Save",
"action.send": "Send", "action.send": "Send",
"admin.config": "Config", "admin.config": "Config",
"admin.create_success": "Created", "admin.create_success": "Created",
"admin.delete_success": "Deleted", "admin.delete_success": "Deleted",
"admin.save_success": "Saved", "admin.save_success": "Saved",
"admin.title": "Admin Panel", "admin.title": "Admin Panel",
"admin.toolbox": "Toolbox", "admin.toolbox": "Toolbox",
"admin.upload": "Upload", "admin.upload": "Upload",
"credits.git": "Git Repository", "credits.git": "Git Repository",
"credits.license": "under GPLv3 license", "credits.license": "under GPLv3 license",
"credits.project": "Spotty Project", "credits.project": "Spotty Project",
"email.confirmation.body_1": "Thank you for checking in on my wanderings :). I'll make sure to keep you posted on my progress along the trail.", "email.confirmation.body_1": "Thank you for checking in on my wanderings :). I'll make sure to keep you posted on my progress along the trail.",
"email.confirmation.body_2": "I usually check-in once a day, plus sometimes on special events, like successful peak ascents. I am using a GPS-based device (PLB) which does not require phone reception to work. Thus the messages should be pretty frequent, but, being awestruck by the beauty of nature, I could also just forget to send a signal once in a while. So do not worry if you don't receive anything for a couple of days.", "email.confirmation.body_2": "I usually check-in once a day, plus sometimes on special events, like successful peak ascents. I am using a GPS-based device (PLB) which does not require phone reception to work. Thus the messages should be pretty frequent, but, being awestruck by the beauty of nature, I could also just forget to send a signal once in a while. So do not worry if you don't receive anything for a couple of days.",
"email.confirmation.body_3": "If I've posted some pictures recently, you should also get them in the same email.", "email.confirmation.body_3": "If I've posted some pictures recently, you should also get them in the same email.",
"email.confirmation.conclusion": "See you down the road!", "email.confirmation.conclusion": "See you down the road!",
"email.confirmation.preheader": "Thanks for keeping in touch!", "email.confirmation.preheader": "Thanks for keeping in touch!",
"email.confirmation.signature": "--François", "email.confirmation.signature": "--François",
"email.confirmation.subject": "Successful Registration", "email.confirmation.subject": "Successful Registration",
"email.confirmation.thanks_subject": "You're all set!", "email.confirmation.thanks_subject": "You're all set!",
"email.unsubscribe": "PS: Changed your mind?", "email.unsubscribe": "PS: Changed your mind?",
"email.unsubscribe_button": "Unsubscribe", "email.unsubscribe_button": "Unsubscribe",
"email.update.latest_news": "Latest news:", "email.update.latest_news": "Latest news:",
"email.update.preheader": "New position received", "email.update.preheader": "New position received",
"email.update.subject": "Spotted!", "email.update.subject": "Spotted!",
"email.update.title": "Message", "email.update.title": "Message",
"error.commit_db": "Issue committing to DB", "error.commit_db": "Issue committing to DB",
"error.impossible_value": "Value \"$0\" is not possible for field \"$1\"", "error.impossible_value": "Value \"$0\" is not possible for field \"$1\"",
"error.no_auth": "No authorization", "error.no_auth": "No authorization",
"error.unknown_field": "Field \"$0\" is unknown", "error.unknown_field": "Field \"$0\" is unknown",
"feed.counter": "#$0", "feed.counter": "#$0",
"feed.id": "Feed ID", "feed.id": "Feed ID",
"feed.last_update": "Last Spot Check", "feed.last_update": "Last Spot Check",
"feed.name": "Name", "feed.name": "Name",
"feed.new": "New feed", "feed.new": "New feed",
"feed.plural": "Feeds", "feed.plural": "Feeds",
"feed.ref_id": "Ref. Feed ID", "feed.ref_id": "Ref. Feed ID",
"feed.status": "Status", "feed.status": "Status",
"map.ign_france": "IGN (France)", "map.ign_france": "IGN (France)",
"map.ign_spain": "IGN (Spain)", "map.ign_spain": "IGN (Spain)",
"map.linz": "LINZ", "map.linz": "LINZ",
"map.natgeo": "National Geographic", "map.natgeo": "National Geographic",
"map.otm": "Open Topo Map", "map.otm": "Open Topo Map",
"map.outdoors": "Mapbox Outdoors", "map.outdoors": "Mapbox Outdoors",
"map.satellite": "Satellite", "map.satellite": "Satellite",
"map.see_on_google": "See on Google Maps", "map.see_on_google": "See on Google Maps",
"map.title": "Base Maps", "map.title": "Base Maps",
"map.usgs": "USGS", "map.usgs": "USGS",
"media.add_on": "added on $0", "media.add_on": "added on $0",
"media.click_watch": "Click to watch video", "media.click_watch": "Click to watch video",
"media.click_zoom": "Click to zoom", "media.click_zoom": "Click to zoom",
"media.comment_update": "Comment of media \"$0\" updated", "media.comment_update": "Comment of media \"$0\" updated",
"media.count": "Media $0 / $1", "media.count": "Media $0 / $1",
"media.image": "Picture", "media.image": "Picture",
"media.image_taken": "taken on $0", "media.image_taken": "taken on $0",
"media.images": "Pictures", "media.images": "Pictures",
"media.nearby": "Nearby pictures", "media.nearby": "Nearby pictures",
"media.no_id": "Missing Media ID in request", "media.no_id": "Missing Media ID in request",
"media.video": "Video", "media.video": "Video",
"media.video_taken": "shot on $0", "media.video_taken": "shot on $0",
"meta.locale": "en_NZ", "meta.locale": "en_NZ",
"meta.page_og_desc": "Keep contact with François when he is off hiking", "meta.page_og_desc": "Keep contact with François when he is off hiking",
"newsletter.email_exists": "This email is already subscribed. You can unsubscribe by clicking on the button above.", "newsletter.email_exists": "This email is already subscribed. You can unsubscribe by clicking on the button above.",
"newsletter.email_placeholder": "my@email.com", "newsletter.email_placeholder": "my@email.com",
"newsletter.invalid_email": "It doesn't look like an email", "newsletter.invalid_email": "It doesn't look like an email",
"newsletter.subscribe": "Subscribe", "newsletter.subscribe": "Subscribe",
"newsletter.subscribed": "Thanks! You'll receive a confirmation email shortly", "newsletter.subscribed": "Thanks! You'll receive a confirmation email shortly",
"newsletter.subscribed_desc": "You're all set. We'll send you updates as soon as we get them", "newsletter.subscribed_desc": "You're all set. We'll send you updates as soon as we get them",
"newsletter.title": "Keep in touch!", "newsletter.title": "Keep in touch!",
"newsletter.unknown_email": "Unknown email address", "newsletter.unknown_email": "Unknown email address",
"newsletter.unsubscribe": "Unsubscribe", "newsletter.unsubscribe": "Unsubscribe",
"newsletter.unsubscribed": "Done. No more junk mail from us", "newsletter.unsubscribed": "Done. No more junk mail from us",
"newsletter.unsubscribed_desc": "Write down your email address and we'll send you François' position as soon as we get it :)", "newsletter.unsubscribed_desc": "Write down your email address and we'll send you François' position as soon as we get it :)",
"post.copy_to_clipboard": "Copy direct link to clipboard", "post.copy_to_clipboard": "Copy direct link to clipboard",
"post.link_copied": "Link copied!", "post.link_copied": "Link copied!",
"post.message": "Message", "post.message": "Message",
"post.name": "Name", "post.name": "Name",
"post.new_message": "New message", "post.new_message": "New message",
"project.code_name": "Code name", "project.code_name": "Code name",
"project.end": "End", "project.end": "End",
"project.hikes": "Hikes", "project.hikes": "Hikes",
"project.id": "Project ID", "project.id": "Project ID",
"project.mode": "Mode", "project.mode": "Mode",
"project.modes.blog": "Active Project", "project.modes.blog": "Active Project",
"project.modes.histo": "Archived Project", "project.modes.histo": "Archived Project",
"project.modes.previz": "Project in preparation", "project.modes.previz": "Project in preparation",
"project.new": "New Project", "project.new": "New Project",
"project.plural": "Projects", "project.plural": "Projects",
"project.single": "Project", "project.single": "Project",
"project.start": "Start", "project.start": "Start",
"project.update_messages": "Update project messages", "project.update_messages": "Update project messages",
"spot.id": "Spot ID", "spot.id": "Spot ID",
"spot.model": "Model", "spot.model": "Model",
"spot.name": "Spot Name", "spot.name": "Spot Name",
"spot.plural": "Spots", "spot.plural": "Spots",
"spot.ref_id": "Ref. Spot ID", "spot.ref_id": "Ref. Spot ID",
"stats.distance": "Distance", "stats.distance": "Distance",
"stats.elevation": "Elevation", "stats.elevation": "Elevation",
"stats.legend": "Legend", "stats.legend": "Legend",
"stats.segment_length": "Segment length", "stats.segment_length": "Segment length",
"stats.type": "Track Type", "stats.type": "Track Type",
"time.city": "$0 Time", "time.city": "$0 Time",
"time.date_time": "$0 at $1", "time.date_time": "$0 at $1",
"time.local": "$0 Local Time", "time.local": "$0 Local Time",
"time.user": "$0 Your Time", "time.user": "$0 Your Time",
"time.zone": "Time Zone", "time.zone": "Time Zone",
"track.download": "Download GPX Track", "track.download": "Download GPX Track",
"track.hitchhiking": "Hitchhiking", "track.hitchhiking": "Hitchhiking",
"track.main": "Main track", "track.main": "Main track",
"track.off-track": "Off-track", "track.off-track": "Off-track",
"unit.day": "day", "unit.day": "day",
"unit.day_short": "D", "unit.day_short": "D",
"unit.days": "days", "unit.days": "days",
"unit.hour": "h", "unit.hour": "h",
"upload.media.exists": "Picture $0 already exists", "upload.media.exists": "Picture $0 already exists",
"upload.media.title": "Picture & Video Uploads", "upload.media.title": "Picture & Video Uploads",
"upload.mode_archived": "Project \"$0\" is archived. No upload allowed", "upload.mode_archived": "Project \"$0\" is archived. No upload allowed",
"upload.position.new": "New Position", "upload.position.new": "New Position",
"upload.position.title": "Additional Position", "upload.position.title": "Additional Position",
"upload.success": "$0 uploaded successfully", "upload.success": "$0 uploaded successfully",
"user.active": "Active Users", "user.active": "Active Users",
"user.clearance": "Clearance", "user.clearance": "Clearance",
"user.id": "User ID", "user.id": "User ID",
"user.language": "Language", "user.language": "Language",
"user.name": "User Name", "user.name": "User Name",
"weather.type_1": "Blowing Or Drifting Snow", "weather.clear-day": "Cloud cover is less than 20% during daytime",
"weather.type_10": "Heavy Freezing Drizzle/Freezing Rain", "weather.clear-night": "Cloud cover is less than 20% during nighttime",
"weather.type_11": "Light Freezing Drizzle/Freezing Rain", "weather.cloudy": "Cloud cover is greater than 90%",
"weather.type_12": "Freezing Fog", "weather.fog": "Visibility is low (less than one kilometer or mile)",
"weather.type_13": "Heavy Freezing Rain", "weather.hail": "Hail showers",
"weather.type_14": "Light Freezing Rain", "weather.partly-cloudy-day": "Cloud cover is greater than 20% during daytime",
"weather.type_15": "Funnel Cloud/Tornado", "weather.partly-cloudy-night": "Cloud cover is greater than 20% during nighttime",
"weather.type_16": "Hail Showers", "weather.rain": "Amount of rainfall is greater than zero",
"weather.type_17": "Ice", "weather.rain-snow": "Snow and rain showers",
"weather.type_18": "Lightning Without Thunder", "weather.rain-snow-showers-day": "Possible rain/snow throughout the day",
"weather.type_19": "Mist", "weather.rain-snow-showers-night": "Possible rain/snow throughout the night",
"weather.type_2": "Drizzle", "weather.showers-day": "Rain showers during the day",
"weather.type_20": "Precipitation In Vicinity", "weather.showers-night": "Rain showers during the night",
"weather.type_21": "Rain", "weather.sleet": "Sleet",
"weather.type_22": "Heavy Rain And Snow", "weather.snow": "Amount of snow is greater than zero",
"weather.type_23": "Light Rain And Snow", "weather.snow-showers-day": "Periods of snow during the day",
"weather.type_24": "Rain Showers", "weather.snow-showers-night": "Periods of snow during the night",
"weather.type_25": "Heavy Rain", "weather.thunder": "Thunderstorms",
"weather.type_26": "Light Rain", "weather.thunder-rain": "Thunderstorms throughout the day or night",
"weather.type_27": "Sky Coverage Decreasing", "weather.thunder-showers-day": "Possible thunderstorms throughout the day",
"weather.type_28": "Sky Coverage Increasing", "weather.thunder-showers-night": "Possible thunderstorms throughout the night",
"weather.type_29": "Sky Unchanged", "weather.wind": "Wind speed is high (greater than 30 kph or mph)"
"weather.type_3": "Heavy Drizzle",
"weather.type_30": "Smoke Or Haze",
"weather.type_31": "Snow",
"weather.type_32": "Snow And Rain Showers",
"weather.type_33": "Snow Showers",
"weather.type_34": "Heavy Snow",
"weather.type_35": "Light Snow",
"weather.type_36": "Squalls",
"weather.type_37": "Thunderstorm",
"weather.type_38": "Thunderstorm Without Precipitation",
"weather.type_39": "Diamond Dust",
"weather.type_4": "Light Drizzle",
"weather.type_40": "Hail",
"weather.type_41": "Overcast",
"weather.type_42": "Partially cloudy",
"weather.type_43": "Clear",
"weather.type_5": "Heavy Drizzle/Rain",
"weather.type_6": "Light Drizzle/Rain",
"weather.type_7": "Duststorm",
"weather.type_8": "Fog",
"weather.type_9": "Freezing Drizzle/Freezing Rain"
} }

View File

@@ -1,191 +1,170 @@
{ {
"action.back": "Atrás", "action.back": "Atrás",
"action.delete": "Borrar", "action.delete": "Borrar",
"action.save": "Guardar", "action.save": "Guardar",
"action.send": "Enviar", "action.send": "Enviar",
"admin.config": "Configuración", "admin.config": "Configuración",
"admin.create_success": "Creado", "admin.create_success": "Creado",
"admin.delete_success": "Eliminado", "admin.delete_success": "Eliminado",
"admin.save_success": "Guardado", "admin.save_success": "Guardado",
"admin.title": "Administración", "admin.title": "Administración",
"admin.toolbox": "Herramientas", "admin.toolbox": "Herramientas",
"admin.upload": "Cargar", "admin.upload": "Cargar",
"credits.git": "Repositorio de Git", "credits.git": "Repositorio de Git",
"credits.license": "bajo licencia GPLv3", "credits.license": "bajo licencia GPLv3",
"credits.project": "Proyecto Spotty", "credits.project": "Proyecto Spotty",
"email.confirmation.body_1": "Os agradezco mucho que sigais mi proyecto, y os intereseis de la evolucion. Os prometo que os mantendré informados sobre mi progreso.", "email.confirmation.body_1": "Os agradezco mucho que sigais mi proyecto, y os intereseis de la evolucion. Os prometo que os mantendré informados sobre mi progreso.",
"email.confirmation.body_2": "Normalmente envío un mensaje una vez al día. Cuando voy a lugares guays, envío uno extra (cimas, ese tipo de cosas). Estoy usando una dispositivo GPS para enviar la señal, por lo que no necesito una red telefónica para que funcione. Sin embargo, puede haber ocasiones en las que presione el botón. Por lo tanto, no se preocupe si no recibe mensajes durante uno o dos días.", "email.confirmation.body_2": "Normalmente envío un mensaje una vez al día. Cuando voy a lugares guays, envío uno extra (cimas, ese tipo de cosas). Estoy usando una dispositivo GPS para enviar la señal, por lo que no necesito una red telefónica para que funcione. Sin embargo, puede haber ocasiones en las que presione el botón. Por lo tanto, no se preocupe si no recibe mensajes durante uno o dos días.",
"email.confirmation.body_3": "Cuando añada fotos en la página, también deberás encontrarlas en este correo electrónico.", "email.confirmation.body_3": "Cuando añada fotos en la página, también deberás encontrarlas en este correo electrónico.",
"email.confirmation.conclusion": "¡Nos vemos en el camino!", "email.confirmation.conclusion": "¡Nos vemos en el camino!",
"email.confirmation.preheader": "¡Gracias por mantenerte en contacto!", "email.confirmation.preheader": "¡Gracias por mantenerte en contacto!",
"email.confirmation.signature": "--François", "email.confirmation.signature": "--François",
"email.confirmation.subject": "Confirmación", "email.confirmation.subject": "Confirmación",
"email.confirmation.thanks_subject": "¡Hecho!", "email.confirmation.thanks_subject": "¡Hecho!",
"email.unsubscribe": "PD: ¿Demasiados correos electrónicos?", "email.unsubscribe": "PD: ¿Demasiados correos electrónicos?",
"email.unsubscribe_button": "Desinscribirse", "email.unsubscribe_button": "Desinscribirse",
"email.update.latest_news": "Últimas noticias:", "email.update.latest_news": "Últimas noticias:",
"email.update.preheader": "¡Nueva posición!", "email.update.preheader": "¡Nueva posición!",
"email.update.subject": "Nueva posición recibida", "email.update.subject": "Nueva posición recibida",
"email.update.title": "Mensaje", "email.update.title": "Mensaje",
"error.commit_db": "Error SQL", "error.commit_db": "Error SQL",
"error.impossible_value": "Valor \"$0\" no es posible para campo \"$1\"", "error.impossible_value": "Valor \"$0\" no es posible para campo \"$1\"",
"error.no_auth": "No autorización", "error.no_auth": "No autorización",
"error.unknown_field": "Campo \"$0\" desconocido", "error.unknown_field": "Campo \"$0\" desconocido",
"feed.counter": "No. $0", "feed.counter": "No. $0",
"feed.id": "ID Feed", "feed.id": "ID Feed",
"feed.last_update": "Última actualización de Spot", "feed.last_update": "Última actualización de Spot",
"feed.name": "Descripción", "feed.name": "Descripción",
"feed.new": "Nuevo feed", "feed.new": "Nuevo feed",
"feed.plural": "Feeds", "feed.plural": "Feeds",
"feed.ref_id": "ID Feed ref.", "feed.ref_id": "ID Feed ref.",
"feed.status": "Estado", "feed.status": "Estado",
"map.ign_france": "IGN (Francia)", "map.ign_france": "IGN (Francia)",
"map.ign_spain": "IGN (España)", "map.ign_spain": "IGN (España)",
"map.linz": "LINZ", "map.linz": "LINZ",
"map.natgeo": "National Geographic", "map.natgeo": "National Geographic",
"map.otm": "Open Topo Map", "map.otm": "Open Topo Map",
"map.outdoors": "Mapbox Topo", "map.outdoors": "Mapbox Topo",
"map.satellite": "Satélite", "map.satellite": "Satélite",
"map.see_on_google": "Ver la posición en Google Maps", "map.see_on_google": "Ver la posición en Google Maps",
"map.title": "Mapas de base", "map.title": "Mapas de base",
"map.usgs": "USGS", "map.usgs": "USGS",
"media.add_on": "Agregado el $0", "media.add_on": "Agregado el $0",
"media.click_watch": "Haz clic para ver el video", "media.click_watch": "Haz clic para ver el video",
"media.click_zoom": "Haz clic para ampliar", "media.click_zoom": "Haz clic para ampliar",
"media.comment_update": "Comentario \"$0\" actualizado", "media.comment_update": "Comentario \"$0\" actualizado",
"media.count": "Media $0 de $1", "media.count": "Media $0 de $1",
"media.image": "Foto", "media.image": "Foto",
"media.image_taken": "Foto tomada el $0", "media.image_taken": "Foto tomada el $0",
"media.images": "Fotos", "media.images": "Fotos",
"media.nearby": "Fotos cercanas", "media.nearby": "Fotos cercanas",
"media.no_id": "Falta el ID del sujeto", "media.no_id": "Falta el ID del sujeto",
"media.video": "Video", "media.video": "Video",
"media.video_taken": "Video filmado el $0", "media.video_taken": "Video filmado el $0",
"meta.locale": "es_ES", "meta.locale": "es_ES",
"meta.page_og_desc": "Mantente en contacto con François durante sus aventuras a la montaña", "meta.page_og_desc": "Mantente en contacto con François durante sus aventuras a la montaña",
"newsletter.email_exists": "Esta dirección de correo electrónico ya está registrada. Puedes darte de baja haciendo clic en el botón de arriba.", "newsletter.email_exists": "Esta dirección de correo electrónico ya está registrada. Puedes darte de baja haciendo clic en el botón de arriba.",
"newsletter.email_placeholder": "nombre@email.com", "newsletter.email_placeholder": "nombre@email.com",
"newsletter.invalid_email": "Esto no parece una dirección de correo electrónico", "newsletter.invalid_email": "Esto no parece una dirección de correo electrónico",
"newsletter.subscribe": "Suscribir", "newsletter.subscribe": "Suscribir",
"newsletter.subscribed": "¡Gracias! Recibirás un correo electrónico de confirmación", "newsletter.subscribed": "¡Gracias! Recibirás un correo electrónico de confirmación",
"newsletter.subscribed_desc": "Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido...", "newsletter.subscribed_desc": "Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido...",
"newsletter.title": "Mantenerse en contacto", "newsletter.title": "Mantenerse en contacto",
"newsletter.unknown_email": "Dirección de email desconocida", "newsletter.unknown_email": "Dirección de email desconocida",
"newsletter.unsubscribe": "Desinscribirse", "newsletter.unsubscribe": "Desinscribirse",
"newsletter.unsubscribed": "Está hecho. ¡No más spam!", "newsletter.unsubscribed": "Está hecho. ¡No más spam!",
"newsletter.unsubscribed_desc": "Anade tu dirección de correo electrónico y te enviaremos la posicion actualizada de François tan pronto como la recibamos :)", "newsletter.unsubscribed_desc": "Anade tu dirección de correo electrónico y te enviaremos la posicion actualizada de François tan pronto como la recibamos :)",
"post.copy_to_clipboard": "Copiar el enlace", "post.copy_to_clipboard": "Copiar el enlace",
"post.link_copied": "¡Enlace copiado!", "post.link_copied": "¡Enlace copiado!",
"post.message": "Mensaje", "post.message": "Mensaje",
"post.name": "Nombre", "post.name": "Nombre",
"post.new_message": "Mensaje nuevo", "post.new_message": "Mensaje nuevo",
"project.code_name": "Nombre clave", "project.code_name": "Nombre clave",
"project.end": "Fin", "project.end": "Fin",
"project.hikes": "Senderos", "project.hikes": "Senderos",
"project.id": "Proyecto ID", "project.id": "Proyecto ID",
"project.mode": "Modo", "project.mode": "Modo",
"project.modes.blog": "Proyecto activo", "project.modes.blog": "Proyecto activo",
"project.modes.histo": "Proyecto archivado", "project.modes.histo": "Proyecto archivado",
"project.modes.previz": "Proyecto en preparación", "project.modes.previz": "Proyecto en preparación",
"project.new": "Nuevo proyecto", "project.new": "Nuevo proyecto",
"project.plural": "Proyectos", "project.plural": "Proyectos",
"project.single": "Proyecto", "project.single": "Proyecto",
"project.start": "Inicio", "project.start": "Inicio",
"project.update_messages": "Actualizar los mensajes del proyecto", "project.update_messages": "Actualizar los mensajes del proyecto",
"spot.id": "ID Spot", "spot.id": "ID Spot",
"spot.model": "Modelo", "spot.model": "Modelo",
"spot.name": "Spot", "spot.name": "Spot",
"spot.plural": "Spots", "spot.plural": "Spots",
"spot.ref_id": "ID Spot ref.", "spot.ref_id": "ID Spot ref.",
"stats.distance": "Distancia", "stats.distance": "Distancia",
"stats.elevation": "Elevación", "stats.elevation": "Elevación",
"stats.legend": "Leyenda", "stats.legend": "Leyenda",
"stats.segment_length": "Tamaño del segmento", "stats.segment_length": "Tamaño del segmento",
"stats.type": "Tipo de sendero", "stats.type": "Tipo de sendero",
"time.city": "Hora de $0", "time.city": "Hora de $0",
"time.date_time": "$0 a la $1", "time.date_time": "$0 a la $1",
"time.local": "$0 hora local", "time.local": "$0 hora local",
"time.user": "$0 en tu zona horaria", "time.user": "$0 en tu zona horaria",
"time.zone": "Huso horario", "time.zone": "Huso horario",
"track.download": "Descarga la ruta GPX", "track.download": "Descarga la ruta GPX",
"track.hitchhiking": "Autostop", "track.hitchhiking": "Autostop",
"track.main": "Camino principal", "track.main": "Camino principal",
"track.off-track": "Variante", "track.off-track": "Variante",
"unit.day": "Día", "unit.day": "Día",
"unit.day_short": "D", "unit.day_short": "D",
"unit.days": "Días", "unit.days": "Días",
"unit.hour": "h", "unit.hour": "h",
"upload.media.exists": "La imagen $0 ya existe", "upload.media.exists": "La imagen $0 ya existe",
"upload.media.title": "Cargar fotos y videos", "upload.media.title": "Cargar fotos y videos",
"upload.mode_archived": "El proyecto \"$0\" esta archivado. No se puede cargar", "upload.mode_archived": "El proyecto \"$0\" esta archivado. No se puede cargar",
"upload.position.new": "Nueva posición", "upload.position.new": "Nueva posición",
"upload.position.title": "Subir posición", "upload.position.title": "Subir posición",
"upload.success": "$0 ha sido subido", "upload.success": "$0 ha sido subido",
"user.active": "Usuarios activos", "user.active": "Usuarios activos",
"user.clearance": "Nivel de autorización", "user.clearance": "Nivel de autorización",
"user.id": "ID del usuario", "user.id": "ID del usuario",
"user.language": "Idioma", "user.language": "Idioma",
"user.name": "Nombre", "user.name": "Nombre",
"weather.type_1": "Nieve que sopla o a la deriva", "weather.clear-day": "La nubosidad es inferior al 20 % durante el día",
"weather.type_10": "Fuerte llovizna helada / lluvia helada", "weather.clear-night": "La nubosidad es inferior al 20 % durante la noche",
"weather.type_11": "Llovizna helada ligera / lluvia helada", "weather.cloudy": "La nubosidad es superior al 90 %",
"weather.type_12": "Niebla helada", "weather.fog": "La visibilidad es baja (menos de un kilómetro o una milla)",
"weather.type_13": "Lluvia helada intensa", "weather.hail": "Chubascos de granizo",
"weather.type_14": "Lluvia helada ligera", "weather.partly-cloudy-day": "La nubosidad es superior al 20 % durante el día",
"weather.type_15": "Nube de embudo / Tornado", "weather.partly-cloudy-night": "La nubosidad es superior al 20 % durante la noche",
"weather.type_16": "Lluvias de granizo", "weather.rain": "La cantidad de lluvia es superior a cero",
"weather.type_17": "Hielo", "weather.rain-snow": "Chubascos de nieve y lluvia",
"weather.type_18": "Rayo sin trueno", "weather.rain-snow-showers-day": "Posible lluvia/nieve durante todo el día",
"weather.type_19": "Niebla", "weather.rain-snow-showers-night": "Posible lluvia/nieve durante toda la noche",
"weather.type_2": "Llovizna", "weather.showers-day": "Chubascos de lluvia durante el día",
"weather.type_20": "Precipitación en las proximidades", "weather.showers-night": "Chubascos de lluvia durante la noche",
"weather.type_21": "Lluvia", "weather.sleet": "Aguanieve",
"weather.type_22": "Fuertes lluvias y nieve", "weather.snow": "La cantidad de nieve es superior a cero",
"weather.type_23": "Lluvia ligera y nieve", "weather.snow-showers-day": "Periodos de nieve durante el día",
"weather.type_24": "Lluvias", "weather.snow-showers-night": "Periodos de nieve durante la noche",
"weather.type_25": "Lluvia Pesada", "weather.thunder": "Tormentas",
"weather.type_26": "Lluvia ligera", "weather.thunder-rain": "Tormentas durante el día o la noche",
"weather.type_27": "Disminución de la cobertura del cielo", "weather.thunder-showers-day": "Posibles tormentas durante todo el día",
"weather.type_28": "Aumento de la cobertura del cielo", "weather.thunder-showers-night": "Posibles tormentas durante toda la noche",
"weather.type_29": "Cielo sin cambios", "weather.wind": "La velocidad del viento es alta (más de 30 km/h o mph)"
"weather.type_3": "Llovizna fuerte",
"weather.type_30": "Humo o neblina",
"weather.type_31": "Nieve",
"weather.type_32": "Lluvias y nieve",
"weather.type_33": "Duchas de nieve",
"weather.type_34": "Fuertes nevadas",
"weather.type_35": "Nieve ligera",
"weather.type_36": "Chubascos",
"weather.type_37": "Tormenta",
"weather.type_38": "Tormenta sin precipitaciones",
"weather.type_39": "Polvo de diamante",
"weather.type_4": "Llovizna ligera",
"weather.type_40": "Granizo",
"weather.type_41": "Nublado",
"weather.type_42": "Parcialmente nublado",
"weather.type_43": "Claro",
"weather.type_5": "Fuerte llovizna / lluvia",
"weather.type_6": "Llovizna ligera / Lluvia",
"weather.type_7": "Tormenta de arena",
"weather.type_8": "Niebla",
"weather.type_9": "Llovizna helada / Lluvia helada"
} }

View File

@@ -1,191 +1,170 @@
{ {
"action.back": "Retour", "action.back": "Retour",
"action.delete": "Supprimer", "action.delete": "Supprimer",
"action.save": "Sauvegarder", "action.save": "Sauvegarder",
"action.send": "Envoyer", "action.send": "Envoyer",
"admin.config": "Paramètres", "admin.config": "Paramètres",
"admin.create_success": "Créé", "admin.create_success": "Créé",
"admin.delete_success": "Supprimé", "admin.delete_success": "Supprimé",
"admin.save_success": "Sauvegardé", "admin.save_success": "Sauvegardé",
"admin.title": "Administration", "admin.title": "Administration",
"admin.toolbox": "Boite à outils", "admin.toolbox": "Boite à outils",
"admin.upload": "Uploader", "admin.upload": "Uploader",
"credits.git": "Dépôt Git", "credits.git": "Dépôt Git",
"credits.license": "sous licence GPLv3", "credits.license": "sous licence GPLv3",
"credits.project": "Projet Spotty", "credits.project": "Projet Spotty",
"email.confirmation.body_1": "C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée.", "email.confirmation.body_1": "C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée.",
"email.confirmation.body_2": "En général, j'envoie un message une fois par jour. Lorsque je passe à des endroits sympas, j'en envoie un supplémentaire (ascension de sommets, ce genre de choses). J'utilise une balise GPS pour envoyer le signal, je n'ai donc pas besoin de réseau téléphonique pour que cela fonctionne. Cependant, il peut m'arriver d'appuyer sur le bouton. Donc pas de raison de s'inquiéter si vous ne recevez pas de messages pendant une journée ou deux.", "email.confirmation.body_2": "En général, j'envoie un message une fois par jour. Lorsque je passe à des endroits sympas, j'en envoie un supplémentaire (ascension de sommets, ce genre de choses). J'utilise une balise GPS pour envoyer le signal, je n'ai donc pas besoin de réseau téléphonique pour que cela fonctionne. Cependant, il peut m'arriver d'appuyer sur le bouton. Donc pas de raison de s'inquiéter si vous ne recevez pas de messages pendant une journée ou deux.",
"email.confirmation.body_3": "Si j'ai ajouté des photos sur le site récemment, vous devriez aussi les retrouver dans cet email.", "email.confirmation.body_3": "Si j'ai ajouté des photos sur le site récemment, vous devriez aussi les retrouver dans cet email.",
"email.confirmation.conclusion": "A bientôt sur les chemins !", "email.confirmation.conclusion": "A bientôt sur les chemins !",
"email.confirmation.preheader": "Merci de rester en contact !", "email.confirmation.preheader": "Merci de rester en contact !",
"email.confirmation.signature": "--François", "email.confirmation.signature": "--François",
"email.confirmation.subject": "Confirmation", "email.confirmation.subject": "Confirmation",
"email.confirmation.thanks_subject": "C'est tout bon !", "email.confirmation.thanks_subject": "C'est tout bon !",
"email.unsubscribe": "PS: Trop d'emails ?", "email.unsubscribe": "PS: Trop d'emails ?",
"email.unsubscribe_button": "Se désinscrire", "email.unsubscribe_button": "Se désinscrire",
"email.update.latest_news": "Dernières nouvelles :", "email.update.latest_news": "Dernières nouvelles :",
"email.update.preheader": "Nouvelle position !", "email.update.preheader": "Nouvelle position !",
"email.update.subject": "Nouvelle position reçue", "email.update.subject": "Nouvelle position reçue",
"email.update.title": "Message", "email.update.title": "Message",
"error.commit_db": "Error lors de la requête SQL", "error.commit_db": "Error lors de la requête SQL",
"error.impossible_value": "La valeur \"$0\" n'est pas possible pour le champ \"$1\"", "error.impossible_value": "La valeur \"$0\" n'est pas possible pour le champ \"$1\"",
"error.no_auth": "Pas d'authorisation", "error.no_auth": "Pas d'authorisation",
"error.unknown_field": "Champ \"$0\" inconnu", "error.unknown_field": "Champ \"$0\" inconnu",
"feed.counter": "N°$0", "feed.counter": "N°$0",
"feed.id": "ID Feed", "feed.id": "ID Feed",
"feed.last_update": "Dernière vérification Spot", "feed.last_update": "Dernière vérification Spot",
"feed.name": "Description", "feed.name": "Description",
"feed.new": "Nouveau feed", "feed.new": "Nouveau feed",
"feed.plural": "Feeds", "feed.plural": "Feeds",
"feed.ref_id": "ID Feed ref.", "feed.ref_id": "ID Feed ref.",
"feed.status": "Statut", "feed.status": "Statut",
"map.ign_france": "IGN (France)", "map.ign_france": "IGN (France)",
"map.ign_spain": "IGN (Espagne)", "map.ign_spain": "IGN (Espagne)",
"map.linz": "LINZ", "map.linz": "LINZ",
"map.natgeo": "National Geographic", "map.natgeo": "National Geographic",
"map.otm": "Open Topo Map", "map.otm": "Open Topo Map",
"map.outdoors": "Mapbox Topo", "map.outdoors": "Mapbox Topo",
"map.satellite": "Satellite", "map.satellite": "Satellite",
"map.see_on_google": "Voir la position sur Google Maps", "map.see_on_google": "Voir la position sur Google Maps",
"map.title": "Fonds de carte", "map.title": "Fonds de carte",
"map.usgs": "USGS", "map.usgs": "USGS",
"media.add_on": "ajoutée le $0", "media.add_on": "ajoutée le $0",
"media.click_watch": "Click pour voir la vidéo", "media.click_watch": "Click pour voir la vidéo",
"media.click_zoom": "Click pour zoomer", "media.click_zoom": "Click pour zoomer",
"media.comment_update": "Commentaire du media \"$0\" mis-à-jour", "media.comment_update": "Commentaire du media \"$0\" mis-à-jour",
"media.count": "Média $0 sur $1", "media.count": "Média $0 sur $1",
"media.image": "Photo", "media.image": "Photo",
"media.image_taken": "prise le $0", "media.image_taken": "prise le $0",
"media.images": "Photos", "media.images": "Photos",
"media.nearby": "Photos prises dans le coin", "media.nearby": "Photos prises dans le coin",
"media.no_id": "ID du média manquant", "media.no_id": "ID du média manquant",
"media.video": "Vidéo", "media.video": "Vidéo",
"media.video_taken": "filmée le $0", "media.video_taken": "filmée le $0",
"meta.locale": "fr_CH", "meta.locale": "fr_CH",
"meta.page_og_desc": "Gardez le contact avec François lorsqu'il part sur les chemins", "meta.page_og_desc": "Gardez le contact avec François lorsqu'il part sur les chemins",
"newsletter.email_exists": "Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus.", "newsletter.email_exists": "Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus.",
"newsletter.email_placeholder": "mon@email.com", "newsletter.email_placeholder": "mon@email.com",
"newsletter.invalid_email": "Ceci ne ressemble pas à une adresse email", "newsletter.invalid_email": "Ceci ne ressemble pas à une adresse email",
"newsletter.subscribe": "S'abonner", "newsletter.subscribe": "S'abonner",
"newsletter.subscribed": "Merci ! Tu vas recevoir un email de confirmation très bientôt", "newsletter.subscribed": "Merci ! Tu vas recevoir un email de confirmation très bientôt",
"newsletter.subscribed_desc": "C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout.", "newsletter.subscribed_desc": "C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout.",
"newsletter.title": "Rester en contact", "newsletter.title": "Rester en contact",
"newsletter.unknown_email": "Adresse email inconnue", "newsletter.unknown_email": "Adresse email inconnue",
"newsletter.unsubscribe": "Se désinscrire", "newsletter.unsubscribe": "Se désinscrire",
"newsletter.unsubscribed": "C'est fait. Fini le spam!", "newsletter.unsubscribed": "C'est fait. Fini le spam!",
"newsletter.unsubscribed_desc": "Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :)", "newsletter.unsubscribed_desc": "Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :)",
"post.copy_to_clipboard": "Copie le lien dans le presse-papier", "post.copy_to_clipboard": "Copie le lien dans le presse-papier",
"post.link_copied": "Lien copié !", "post.link_copied": "Lien copié !",
"post.message": "Message", "post.message": "Message",
"post.name": "Nom", "post.name": "Nom",
"post.new_message": "Nouveau message", "post.new_message": "Nouveau message",
"project.code_name": "Nom de code", "project.code_name": "Nom de code",
"project.end": "Arrivée", "project.end": "Arrivée",
"project.hikes": "Randonnées", "project.hikes": "Randonnées",
"project.id": "ID projet", "project.id": "ID projet",
"project.mode": "Mode", "project.mode": "Mode",
"project.modes.blog": "Projet actif", "project.modes.blog": "Projet actif",
"project.modes.histo": "Projet archivé", "project.modes.histo": "Projet archivé",
"project.modes.previz": "Projet en cours de préparation", "project.modes.previz": "Projet en cours de préparation",
"project.new": "Nouveau projet", "project.new": "Nouveau projet",
"project.plural": "Projets", "project.plural": "Projets",
"project.single": "Projet", "project.single": "Projet",
"project.start": "Départ", "project.start": "Départ",
"project.update_messages": "Mettre à jour les messages du projet", "project.update_messages": "Mettre à jour les messages du projet",
"spot.id": "ID Spot", "spot.id": "ID Spot",
"spot.model": "Modèle", "spot.model": "Modèle",
"spot.name": "Spot", "spot.name": "Spot",
"spot.plural": "Spots", "spot.plural": "Spots",
"spot.ref_id": "ID Spot ref.", "spot.ref_id": "ID Spot ref.",
"stats.distance": "Distance", "stats.distance": "Distance",
"stats.elevation": "Dénivelé", "stats.elevation": "Dénivelé",
"stats.legend": "Légende", "stats.legend": "Légende",
"stats.segment_length": "Taille du segment", "stats.segment_length": "Taille du segment",
"stats.type": "Type de rando", "stats.type": "Type de rando",
"time.city": "heure de $0", "time.city": "heure de $0",
"time.date_time": "$0 à $1", "time.date_time": "$0 à $1",
"time.local": "$0 heure locale", "time.local": "$0 heure locale",
"time.user": "$0 dans votre fuseau horaire", "time.user": "$0 dans votre fuseau horaire",
"time.zone": "Fuseau horaire", "time.zone": "Fuseau horaire",
"track.download": "Télécharger la trace GPX", "track.download": "Télécharger la trace GPX",
"track.hitchhiking": "Hors rando", "track.hitchhiking": "Hors rando",
"track.main": "Trajet principal", "track.main": "Trajet principal",
"track.off-track": "Variante", "track.off-track": "Variante",
"unit.day": "jour", "unit.day": "jour",
"unit.day_short": "J", "unit.day_short": "J",
"unit.days": "jours", "unit.days": "jours",
"unit.hour": "h", "unit.hour": "h",
"upload.media.exists": "l'image $0 existe déjà", "upload.media.exists": "l'image $0 existe déjà",
"upload.media.title": "Uploader photos & vidéos", "upload.media.title": "Uploader photos & vidéos",
"upload.mode_archived": "Le projet \"$0\" a été archivé. Aucun upload possible", "upload.mode_archived": "Le projet \"$0\" a été archivé. Aucun upload possible",
"upload.position.new": "Nouvelle position", "upload.position.new": "Nouvelle position",
"upload.position.title": "Position supplémentaire", "upload.position.title": "Position supplémentaire",
"upload.success": "$0 a été uploadé", "upload.success": "$0 a été uploadé",
"user.active": "Utilisateurs actifs", "user.active": "Utilisateurs actifs",
"user.clearance": "Niveau d'autorisation", "user.clearance": "Niveau d'autorisation",
"user.id": "ID Utilisateur", "user.id": "ID Utilisateur",
"user.language": "Langue", "user.language": "Langue",
"user.name": "Nom", "user.name": "Nom",
"weather.type_1": "Poudrerie ou neige à la dérive", "weather.clear-day": "La couverture nuageuse est inférieure à 20 % pendant la journée",
"weather.type_10": "Forte bruine verglaçante / pluie verglaçante", "weather.clear-night": "La couverture nuageuse est inférieure à 20 % pendant la nuit",
"weather.type_11": "Légère bruine verglaçante / pluie verglaçante", "weather.cloudy": "La couverture nuageuse est supérieure à 90 %",
"weather.type_12": "Brouillard verglaçant", "weather.fog": "La visibilité est faible (moins dun kilomètre ou dun mile)",
"weather.type_13": "Forte pluie verglaçante", "weather.hail": "Averses de grêle",
"weather.type_14": "Légère pluie verglaçante", "weather.partly-cloudy-day": "La couverture nuageuse est supérieure à 20 % pendant la journée",
"weather.type_15": "Nuage d'entonnoir / Tornade", "weather.partly-cloudy-night": "La couverture nuageuse est supérieure à 20 % pendant la nuit",
"weather.type_16": "Douches de grêle", "weather.rain": "La quantité de pluie est supérieure à zéro",
"weather.type_17": "La glace", "weather.rain-snow": "Averses de neige et de pluie",
"weather.type_18": "Foudre sans tonnerre", "weather.rain-snow-showers-day": "Pluie/neige possible tout au long de la journée",
"weather.type_19": "Brouillard", "weather.rain-snow-showers-night": "Pluie/neige possible tout au long de la nuit",
"weather.type_2": "Bruine", "weather.showers-day": "Averses de pluie pendant la journée",
"weather.type_20": "Précipitations à proximité", "weather.showers-night": "Averses de pluie pendant la nuit",
"weather.type_21": "Pluie", "weather.sleet": "Grésil",
"weather.type_22": "Forte pluie et neige", "weather.snow": "La quantité de neige est supérieure à zéro",
"weather.type_23": "Légère pluie et neige", "weather.snow-showers-day": "Périodes de neige pendant la journée",
"weather.type_24": "Averses de pluie", "weather.snow-showers-night": "Périodes de neige pendant la nuit",
"weather.type_25": "Forte pluie", "weather.thunder": "Orages",
"weather.type_26": "Pluie légère", "weather.thunder-rain": "Orages tout au long de la journée ou de la nuit",
"weather.type_27": "Couverture du ciel en baisse", "weather.thunder-showers-day": "Orages possibles tout au long de la journée",
"weather.type_28": "Augmentation de la couverture du ciel", "weather.thunder-showers-night": "Orages possibles tout au long de la nuit",
"weather.type_29": "Ciel inchangé", "weather.wind": "La vitesse du vent est élevée (plus de 30 km/h ou mph)"
"weather.type_3": "Bruine lourde",
"weather.type_30": "Fumée ou brume",
"weather.type_31": "Neige",
"weather.type_32": "Averses de neige et de pluie",
"weather.type_33": "Douches de neige",
"weather.type_34": "Beaucoup de neige",
"weather.type_35": "Neige légère",
"weather.type_36": "Grains",
"weather.type_37": "Orage",
"weather.type_38": "Orage sans précipitations",
"weather.type_39": "La poussière de diamant",
"weather.type_4": "Bruine légère",
"weather.type_40": "Saluer",
"weather.type_41": "Couvert",
"weather.type_42": "Partiellement nuageux",
"weather.type_43": "Clair",
"weather.type_5": "Forte bruine / pluie",
"weather.type_6": "Légère bruine / pluie",
"weather.type_7": "Tempête de poussière",
"weather.type_8": "Brouillard",
"weather.type_9": "Bruine verglaçante / Pluie verglaçante"
} }

View File

@@ -47,7 +47,7 @@ export default {
<projectRelTime :icon="timeIcon" :localTime="options.formatted_time_local" :siteTime="options.formatted_time" :offset="options.day_offset" /> <projectRelTime :icon="timeIcon" :localTime="options.formatted_time_local" :siteTime="options.formatted_time" :offset="options.day_offset" />
<span v-if="project.mode==consts.modes.blog"> ({{ options.relative_time }})</span> <span v-if="project.mode==consts.modes.blog"> ({{ options.relative_time }})</span>
</p> </p>
<p class="weather" v-if="options.weather_icon && options.weather_icon!='unknown'" :title="options.weather_cond==''?'':lang.get(options.weather_cond)"> <p class="weather" v-if="options.weather_icon && options.weather_icon!='unknown'" :title="options.weather_cond==''?'':lang.get('weather.'+options.weather_icon)">
<spotIcon :icon="options.weather_icon" fixed-width size="lg" :text="options.weather_temp+'°C'" /> <spotIcon :icon="options.weather_icon" fixed-width size="lg" :text="options.weather_temp+'°C'" />
</p> </p>
<div v-if="medias.length > 0"> <div v-if="medias.length > 0">

View File

@@ -162,7 +162,7 @@
<div class="body"> <div class="body">
<div v-if="options.type == 'message'" class="body-box"> <div v-if="options.type == 'message'" class="body-box">
<div class="drill" @click.prevent="executeMainAction" @mouseenter="openMarkerPopup" @mouseleave="closeMarkerPopup"> <div class="drill" @click.prevent="executeMainAction" @mouseenter="openMarkerPopup" @mouseleave="closeMarkerPopup">
<span v-if="options.weather_icon && options.weather_icon!='unknown'" class="weather clickable" :title="lang.get(options.weather_cond)"> <span v-if="options.weather_icon && options.weather_icon!='unknown'" class="weather clickable" :title="lang.get('weather.'+options.weather_icon)">
<spotIcon :icon="options.weather_icon" :text="Math.round(options.weather_temp)+'°C'" text-classes="temperature" /> <spotIcon :icon="options.weather_icon" :text="Math.round(options.weather_temp)+'°C'" text-classes="temperature" />
</span> </span>
<img class="staticmap clickable" :title="lang.get('media.click_zoom')" :src="options.static_img_url" /> <img class="staticmap clickable" :title="lang.get('media.click_zoom')" :src="options.static_img_url" />

View File

@@ -59,6 +59,7 @@ function customIcon(iconName, width, height, hex, path) {
}; };
} }
/* TODO: Use official icons: https://github.com/visualcrossing/WeatherIcons/tree/main/SVG/2nd%20Set%20-%20Monochrome */
const faCloudBoltMoon = customIcon('cloud-bolt-moon', 640, 512, 'f76d', 'M399.1 48.4c34.7 19.6 59.3 54.8 64.2 96.1 38.8 22 64.9 63.6 64.9 111.4 35.6 .6 63.5-10.3 89.7-31.2 3.5-2.8 6.9-5.8 10.1-8.9 4.1-4 5.3-10.1 3-15.3s-7.7-8.4-13.4-7.9c-4 .3-7.9 .4-11.9 .3-55.5-1.9-99.9-47.5-99.9-103.4 0-36.3 18.7-68.3 47.1-86.8 3.3-2.2 6.8-4.1 10.3-5.9 5.1-2.5 8.1-8 7.4-13.7s-4.9-10.3-10.4-11.6c-10.5-2.4-21.2-3.5-31.9-3.5-56.7 0-105.8 32.8-129.3 80.5zM206.8 416L175.5 520.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L346.9 412.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L133.9 387.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0zm193.5-80.1c44.2 0 80-35.8 80-80 0-39.3-28.4-72.1-65.8-78.7 1.2-5.6 1.9-11.3 1.9-17.2 0-44.2-35.8-80-80-80-17 0-32.8 5.3-45.8 14.4-16.8-27.8-47.3-46.4-82.2-46.4-53.1 0-96.3 44.5-96 97.3-45.4 7.6-80 47.1-80 94.6 0 50 38.3 91.1 87.2 95.6L243.1 225c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 61.8 0z'); const faCloudBoltMoon = customIcon('cloud-bolt-moon', 640, 512, 'f76d', 'M399.1 48.4c34.7 19.6 59.3 54.8 64.2 96.1 38.8 22 64.9 63.6 64.9 111.4 35.6 .6 63.5-10.3 89.7-31.2 3.5-2.8 6.9-5.8 10.1-8.9 4.1-4 5.3-10.1 3-15.3s-7.7-8.4-13.4-7.9c-4 .3-7.9 .4-11.9 .3-55.5-1.9-99.9-47.5-99.9-103.4 0-36.3 18.7-68.3 47.1-86.8 3.3-2.2 6.8-4.1 10.3-5.9 5.1-2.5 8.1-8 7.4-13.7s-4.9-10.3-10.4-11.6c-10.5-2.4-21.2-3.5-31.9-3.5-56.7 0-105.8 32.8-129.3 80.5zM206.8 416L175.5 520.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L346.9 412.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L133.9 387.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0zm193.5-80.1c44.2 0 80-35.8 80-80 0-39.3-28.4-72.1-65.8-78.7 1.2-5.6 1.9-11.3 1.9-17.2 0-44.2-35.8-80-80-80-17 0-32.8 5.3-45.8 14.4-16.8-27.8-47.3-46.4-82.2-46.4-53.1 0-96.3 44.5-96 97.3-45.4 7.6-80 47.1-80 94.6 0 50 38.3 91.1 87.2 95.6L243.1 225c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 61.8 0z');
const faCloudBoltSun = customIcon('cloud-bolt-sun', 576, 512, 'f76e', 'M248.5-31c-4.2-1.7-8.9-1.3-12.6 1.2L176 9.9 116.2-29.8c-3.7-2.5-8.5-2.9-12.6-1.2s-7.2 5.4-8.1 9.8L81.2 49.2 10.8 63.4c-4.4 .9-8.1 3.9-9.8 8.1S-.2 80.4 2.3 84.2L41.9 144 2.3 203.8c-2.5 3.7-2.9 8.5-1.2 12.6s5.4 7.2 9.8 8.1l69.3 14c.5-47.2 26.5-88.2 64.9-110 7.3-60.8 57.3-108.5 119.1-112.3l-7.6-37.4c-.9-4.4-3.9-8.1-8.1-9.8zM128 239.9c0 44.2 35.8 80 80 80l6.7 0 124-111c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 45.8 0c53 0 96-43 96-96 0-47.6-34.6-87-80-94.6 .4-52.8-42.9-97.3-96-97.3-34.9 0-65.4 18.6-82.2 46.4-13-9.1-28.8-14.4-45.8-14.4-44.2 0-80 35.8-80 80 0 5.9 .6 11.7 1.9 17.2-37.4 6.7-65.8 39.4-65.8 78.7zM302.4 400L271.2 504.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L442.5 396.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L229.5 371.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0z'); const faCloudBoltSun = customIcon('cloud-bolt-sun', 576, 512, 'f76e', 'M248.5-31c-4.2-1.7-8.9-1.3-12.6 1.2L176 9.9 116.2-29.8c-3.7-2.5-8.5-2.9-12.6-1.2s-7.2 5.4-8.1 9.8L81.2 49.2 10.8 63.4c-4.4 .9-8.1 3.9-9.8 8.1S-.2 80.4 2.3 84.2L41.9 144 2.3 203.8c-2.5 3.7-2.9 8.5-1.2 12.6s5.4 7.2 9.8 8.1l69.3 14c.5-47.2 26.5-88.2 64.9-110 7.3-60.8 57.3-108.5 119.1-112.3l-7.6-37.4c-.9-4.4-3.9-8.1-8.1-9.8zM128 239.9c0 44.2 35.8 80 80 80l6.7 0 124-111c12.2-10.9 28-17 44.4-17 44.6 0 76.5 43 63.7 85.7l-12.7 42.2 45.8 0c53 0 96-43 96-96 0-47.6-34.6-87-80-94.6 .4-52.8-42.9-97.3-96-97.3-34.9 0-65.4 18.6-82.2 46.4-13-9.1-28.8-14.4-45.8-14.4-44.2 0-80 35.8-80 80 0 5.9 .6 11.7 1.9 17.2-37.4 6.7-65.8 39.4-65.8 78.7zM302.4 400L271.2 504.1c-3.6 11.9 5.3 23.9 17.8 23.9 4.6 0 9-1.7 12.4-4.7L442.5 396.9c3.5-3.1 5.5-7.6 5.5-12.4 0-9.2-7.4-16.6-16.6-16.6l-61.8 0 31.2-104.1c3.6-11.9-5.3-23.9-17.8-23.9-4.6 0-9 1.7-12.4 4.7L229.5 371.1c-3.5 3.1-5.5 7.6-5.5 12.4 0 9.2 7.4 16.6 16.6 16.6l61.8 0z');
const faCloudFog = customIcon('cloud-fog', 576, 512, 'f74e', 'M32 224c0 53 43 96 96 96l320 0c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0 1.1-5.2 1.6-10.5 1.6-16 0-44.2-35.8-80-80-80-24.3 0-46.1 10.9-60.8 28-18.7-35.7-56.1-60-99.2-60-61.9 0-112 50.1-112 112 0 7.1 .7 14.1 1.9 20.8-38.3 12.6-65.9 48.7-65.9 91.2zM512 392c0-13.3-10.7-24-24-24L24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm176 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l288 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-288 0z'); const faCloudFog = customIcon('cloud-fog', 576, 512, 'f74e', 'M32 224c0 53 43 96 96 96l320 0c53 0 96-43 96-96s-43-96-96-96c-.5 0-1.1 0-1.6 0 1.1-5.2 1.6-10.5 1.6-16 0-44.2-35.8-80-80-80-24.3 0-46.1 10.9-60.8 28-18.7-35.7-56.1-60-99.2-60-61.9 0-112 50.1-112 112 0 7.1 .7 14.1 1.9 20.8-38.3 12.6-65.9 48.7-65.9 91.2zM512 392c0-13.3-10.7-24-24-24L24 368c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm176 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l288 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-288 0z');