Make translations multi-leveled

This commit is contained in:
2026-04-29 22:41:07 +02:00
parent c4dd938a56
commit e5e34676e2
3 changed files with 597 additions and 504 deletions

View File

@@ -1,170 +1,201 @@
{ {
"action.back": "Back", "action": {
"action.delete": "Delete", "back": "Back",
"action.save": "Save", "delete": "Delete",
"action.send": "Send", "save": "Save",
"send": "Send"
"admin.config": "Config", },
"admin.create_success": "Created", "admin": {
"admin.delete_success": "Deleted", "config": "Config",
"admin.save_success": "Saved", "create_success": "Created",
"admin.title": "Admin Panel", "delete_success": "Deleted",
"admin.toolbox": "Toolbox", "save_success": "Saved",
"admin.upload": "Upload", "title": "Admin Panel",
"toolbox": "Toolbox",
"credits.git": "Git Repository", "upload": "Upload"
"credits.license": "under GPLv3 license", },
"credits.project": "Spotty Project", "credits": {
"git": "Git Repository",
"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.", "license": "under GPLv3 license",
"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.", "project": "Spotty Project"
"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": {
"email.confirmation.preheader": "Thanks for keeping in touch!", "confirmation": {
"email.confirmation.signature": "--François", "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.subject": "Successful Registration", "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.thanks_subject": "You're all set!", "body_3": "If I've posted some pictures recently, you should also get them in the same email.",
"email.unsubscribe": "PS: Changed your mind?", "conclusion": "See you down the road!",
"email.unsubscribe_button": "Unsubscribe", "preheader": "Thanks for keeping in touch!",
"email.update.latest_news": "Latest news:", "signature": "--François",
"email.update.preheader": "New position received", "subject": "Successful Registration",
"email.update.subject": "Spotted!", "thanks_subject": "You're all set!"
"email.update.title": "Message", },
"unsubscribe": "PS: Changed your mind?",
"error.commit_db": "Issue committing to DB", "unsubscribe_button": "Unsubscribe",
"error.impossible_value": "Value \"$0\" is not possible for field \"$1\"", "update": {
"error.no_auth": "No authorization", "latest_news": "Latest news:",
"error.unknown_field": "Field \"$0\" is unknown", "preheader": "New position received",
"subject": "Spotted!",
"feed.counter": "#$0", "title": "Message"
"feed.id": "Feed ID", }
"feed.last_update": "Last Spot Check", },
"feed.name": "Name", "error": {
"feed.new": "New feed", "commit_db": "Issue committing to DB",
"feed.plural": "Feeds", "impossible_value": "Value \"$0\" is not possible for field \"$1\"",
"feed.ref_id": "Ref. Feed ID", "no_auth": "No authorization",
"feed.status": "Status", "unknown_field": "Field \"$0\" is unknown"
},
"map.ign_france": "IGN (France)", "feed": {
"map.ign_spain": "IGN (Spain)", "counter": "#$0",
"map.linz": "LINZ", "id": "Feed ID",
"map.natgeo": "National Geographic", "last_update": "Last Spot Check",
"map.otm": "Open Topo Map", "name": "Name",
"map.outdoors": "Mapbox Outdoors", "new": "New feed",
"map.satellite": "Satellite", "plural": "Feeds",
"map.see_on_google": "See on Google Maps", "ref_id": "Ref. Feed ID",
"map.title": "Base Maps", "status": "Status"
"map.usgs": "USGS", },
"map": {
"media.add_on": "added on $0", "ign_france": "IGN (France)",
"media.click_watch": "Click to watch video", "ign_spain": "IGN (Spain)",
"media.click_zoom": "Click to zoom", "linz": "LINZ",
"media.comment_update": "Comment of media \"$0\" updated", "natgeo": "National Geographic",
"media.count": "Media $0 / $1", "otm": "Open Topo Map",
"media.image": "Picture", "outdoors": "Mapbox Outdoors",
"media.image_taken": "taken on $0", "satellite": "Satellite",
"media.images": "Pictures", "see_on_google": "See on Google Maps",
"media.nearby": "Nearby pictures", "title": "Base Maps",
"media.no_id": "Missing Media ID in request", "usgs": "USGS"
"media.video": "Video", },
"media.video_taken": "shot on $0", "media": {
"add_on": "added on $0",
"meta.locale": "en_NZ", "click_watch": "Click to watch video",
"meta.page_og_desc": "Keep contact with François when he is off hiking", "click_zoom": "Click to zoom",
"comment_update": "Comment of media \"$0\" updated",
"newsletter.email_exists": "This email is already subscribed. You can unsubscribe by clicking on the button above.", "count": "Media $0 / $1",
"newsletter.email_placeholder": "my@email.com", "image": "Picture",
"newsletter.invalid_email": "It doesn't look like an email", "image_taken": "taken on $0",
"newsletter.subscribe": "Subscribe", "images": "Pictures",
"newsletter.subscribed": "Thanks! You'll receive a confirmation email shortly", "nearby": "Nearby pictures",
"newsletter.subscribed_desc": "You're all set. We'll send you updates as soon as we get them", "no_id": "Missing Media ID in request",
"newsletter.title": "Keep in touch!", "video": "Video",
"newsletter.unknown_email": "Unknown email address", "video_taken": "shot on $0"
"newsletter.unsubscribe": "Unsubscribe", },
"newsletter.unsubscribed": "Done. No more junk mail from us", "meta": {
"newsletter.unsubscribed_desc": "Write down your email address and we'll send you François' position as soon as we get it :)", "locale": "en_NZ",
"page_og_desc": "Keep contact with François when he is off hiking"
"post.copy_to_clipboard": "Copy direct link to clipboard", },
"post.link_copied": "Link copied!", "newsletter": {
"post.message": "Message", "email_exists": "This email is already subscribed. You can unsubscribe by clicking on the button above.",
"post.name": "Name", "email_placeholder": "my@email.com",
"post.new_message": "New message", "invalid_email": "It doesn't look like an email",
"subscribe": "Subscribe",
"project.code_name": "Code name", "subscribed": "Thanks! You'll receive a confirmation email shortly",
"project.end": "End", "subscribed_desc": "You're all set. We'll send you updates as soon as we get them",
"project.hikes": "Hikes", "title": "Keep in touch!",
"project.id": "Project ID", "unknown_email": "Unknown email address",
"project.mode": "Mode", "unsubscribe": "Unsubscribe",
"project.modes.blog": "Active Project", "unsubscribed": "Done. No more junk mail from us",
"project.modes.histo": "Archived Project", "unsubscribed_desc": "Write down your email address and we'll send you François' position as soon as we get it :)"
"project.modes.previz": "Project in preparation", },
"project.new": "New Project", "post": {
"project.plural": "Projects", "copy_to_clipboard": "Copy direct link to clipboard",
"project.single": "Project", "link_copied": "Link copied!",
"project.start": "Start", "message": "Message",
"project.update_messages": "Update project messages", "name": "Name",
"new_message": "New message"
"spot.id": "Spot ID", },
"spot.model": "Model", "project": {
"spot.name": "Spot Name", "code_name": "Code name",
"spot.plural": "Spots", "end": "End",
"spot.ref_id": "Ref. Spot ID", "hikes": "Hikes",
"id": "Project ID",
"stats.distance": "Distance", "mode": "Mode",
"stats.elevation": "Elevation", "modes": {
"stats.legend": "Legend", "blog": "Active Project",
"stats.segment_length": "Segment length", "histo": "Archived Project",
"stats.type": "Track Type", "previz": "Project in preparation"
},
"time.city": "$0 Time", "new": "New Project",
"time.date_time": "$0 at $1", "plural": "Projects",
"time.local": "$0 Local Time", "single": "Project",
"time.user": "$0 Your Time", "start": "Start",
"time.zone": "Time Zone", "update_messages": "Update project messages"
},
"track.download": "Download GPX Track", "spot": {
"track.hitchhiking": "Hitchhiking", "id": "Spot ID",
"track.main": "Main track", "model": "Model",
"track.off-track": "Off-track", "name": "Spot Name",
"plural": "Spots",
"unit.day": "day", "ref_id": "Ref. Spot ID"
"unit.day_short": "D", },
"unit.days": "days", "stats": {
"unit.hour": "h", "distance": "Distance",
"elevation": "Elevation",
"upload.media.exists": "Picture $0 already exists", "legend": "Legend",
"upload.media.title": "Picture & Video Uploads", "segment_length": "Segment length",
"upload.mode_archived": "Project \"$0\" is archived. No upload allowed", "type": "Track Type"
"upload.position.new": "New Position", },
"upload.position.title": "Additional Position", "time": {
"upload.success": "$0 uploaded successfully", "city": "$0 Time",
"date_time": "$0 at $1",
"user.active": "Active Users", "local": "$0 Local Time",
"user.clearance": "Clearance", "user": "$0 Your Time",
"user.id": "User ID", "zone": "Time Zone"
"user.language": "Language", },
"user.name": "User Name", "track": {
"download": "Download GPX Track",
"weather.clear-day": "Cloud cover is less than 20% during daytime", "hitchhiking": "Hitchhiking",
"weather.clear-night": "Cloud cover is less than 20% during nighttime", "main": "Main track",
"weather.cloudy": "Cloud cover is greater than 90%", "off-track": "Off-track"
"weather.fog": "Visibility is low (less than one kilometer or mile)", },
"weather.hail": "Hail showers", "unit": {
"weather.partly-cloudy-day": "Cloud cover is greater than 20% during daytime", "day": "day",
"weather.partly-cloudy-night": "Cloud cover is greater than 20% during nighttime", "day_short": "D",
"weather.rain": "Amount of rainfall is greater than zero", "days": "days",
"weather.rain-snow": "Snow and rain showers", "hour": "h"
"weather.rain-snow-showers-day": "Possible rain/snow throughout the day", },
"weather.rain-snow-showers-night": "Possible rain/snow throughout the night", "upload": {
"weather.showers-day": "Rain showers during the day", "media": {
"weather.showers-night": "Rain showers during the night", "exists": "Picture $0 already exists",
"weather.sleet": "Sleet", "title": "Picture & Video Uploads"
"weather.snow": "Amount of snow is greater than zero", },
"weather.snow-showers-day": "Periods of snow during the day", "mode_archived": "Project \"$0\" is archived. No upload allowed",
"weather.snow-showers-night": "Periods of snow during the night", "position": {
"weather.thunder": "Thunderstorms", "new": "New Position",
"weather.thunder-rain": "Thunderstorms throughout the day or night", "title": "Additional Position"
"weather.thunder-showers-day": "Possible thunderstorms throughout the day", },
"weather.thunder-showers-night": "Possible thunderstorms throughout the night", "success": "$0 uploaded successfully"
"weather.wind": "Wind speed is high (greater than 30 kph or mph)" },
"user": {
"active": "Active Users",
"clearance": "Clearance",
"id": "User ID",
"language": "Language",
"name": "User Name"
},
"weather": {
"clear-day": "Cloud cover is less than 20% during daytime",
"clear-night": "Cloud cover is less than 20% during nighttime",
"cloudy": "Cloud cover is greater than 90%",
"fog": "Visibility is low (less than one kilometer or mile)",
"hail": "Hail showers",
"partly-cloudy-day": "Cloud cover is greater than 20% during daytime",
"partly-cloudy-night": "Cloud cover is greater than 20% during nighttime",
"rain": "Amount of rainfall is greater than zero",
"rain-snow": "Snow and rain showers",
"rain-snow-showers-day": "Possible rain/snow throughout the day",
"rain-snow-showers-night": "Possible rain/snow throughout the night",
"showers-day": "Rain showers during the day",
"showers-night": "Rain showers during the night",
"sleet": "Sleet",
"snow": "Amount of snow is greater than zero",
"snow-showers-day": "Periods of snow during the day",
"snow-showers-night": "Periods of snow during the night",
"thunder": "Thunderstorms",
"thunder-rain": "Thunderstorms throughout the day or night",
"thunder-showers-day": "Possible thunderstorms throughout the day",
"thunder-showers-night": "Possible thunderstorms throughout the night",
"wind": "Wind speed is high (greater than 30 kph or mph)"
}
} }

View File

@@ -1,170 +1,201 @@
{ {
"action.back": "Atrás", "action": {
"action.delete": "Borrar", "back": "Atrás",
"action.save": "Guardar", "delete": "Borrar",
"action.send": "Enviar", "save": "Guardar",
"send": "Enviar"
"admin.config": "Configuración", },
"admin.create_success": "Creado", "admin": {
"admin.delete_success": "Eliminado", "config": "Configuración",
"admin.save_success": "Guardado", "create_success": "Creado",
"admin.title": "Administración", "delete_success": "Eliminado",
"admin.toolbox": "Herramientas", "save_success": "Guardado",
"admin.upload": "Cargar", "title": "Administración",
"toolbox": "Herramientas",
"credits.git": "Repositorio de Git", "upload": "Cargar"
"credits.license": "bajo licencia GPLv3", },
"credits.project": "Proyecto Spotty", "credits": {
"git": "Repositorio de Git",
"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.", "license": "bajo licencia GPLv3",
"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.", "project": "Proyecto Spotty"
"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": {
"email.confirmation.preheader": "¡Gracias por mantenerte en contacto!", "confirmation": {
"email.confirmation.signature": "--François", "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.subject": "Confirmación", "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.thanks_subject": "¡Hecho!", "body_3": "Cuando añada fotos en la página, también deberás encontrarlas en este correo electrónico.",
"email.unsubscribe": "PD: ¿Demasiados correos electrónicos?", "conclusion": "¡Nos vemos en el camino!",
"email.unsubscribe_button": "Desinscribirse", "preheader": "¡Gracias por mantenerte en contacto!",
"email.update.latest_news": "Últimas noticias:", "signature": "--François",
"email.update.preheader": "¡Nueva posición!", "subject": "Confirmación",
"email.update.subject": "Nueva posición recibida", "thanks_subject": "¡Hecho!"
"email.update.title": "Mensaje", },
"unsubscribe": "PD: ¿Demasiados correos electrónicos?",
"error.commit_db": "Error SQL", "unsubscribe_button": "Desinscribirse",
"error.impossible_value": "Valor \"$0\" no es posible para campo \"$1\"", "update": {
"error.no_auth": "No autorización", "latest_news": "Últimas noticias:",
"error.unknown_field": "Campo \"$0\" desconocido", "preheader": "¡Nueva posición!",
"subject": "Nueva posición recibida",
"feed.counter": "No. $0", "title": "Mensaje"
"feed.id": "ID Feed", }
"feed.last_update": "Última actualización de Spot", },
"feed.name": "Descripción", "error": {
"feed.new": "Nuevo feed", "commit_db": "Error SQL",
"feed.plural": "Feeds", "impossible_value": "Valor \"$0\" no es posible para campo \"$1\"",
"feed.ref_id": "ID Feed ref.", "no_auth": "No autorización",
"feed.status": "Estado", "unknown_field": "Campo \"$0\" desconocido"
},
"map.ign_france": "IGN (Francia)", "feed": {
"map.ign_spain": "IGN (España)", "counter": "No. $0",
"map.linz": "LINZ", "id": "ID Feed",
"map.natgeo": "National Geographic", "last_update": "Última actualización de Spot",
"map.otm": "Open Topo Map", "name": "Descripción",
"map.outdoors": "Mapbox Topo", "new": "Nuevo feed",
"map.satellite": "Satélite", "plural": "Feeds",
"map.see_on_google": "Ver la posición en Google Maps", "ref_id": "ID Feed ref.",
"map.title": "Mapas de base", "status": "Estado"
"map.usgs": "USGS", },
"map": {
"media.add_on": "Agregado el $0", "ign_france": "IGN (Francia)",
"media.click_watch": "Haz clic para ver el video", "ign_spain": "IGN (España)",
"media.click_zoom": "Haz clic para ampliar", "linz": "LINZ",
"media.comment_update": "Comentario \"$0\" actualizado", "natgeo": "National Geographic",
"media.count": "Media $0 de $1", "otm": "Open Topo Map",
"media.image": "Foto", "outdoors": "Mapbox Topo",
"media.image_taken": "Foto tomada el $0", "satellite": "Satélite",
"media.images": "Fotos", "see_on_google": "Ver la posición en Google Maps",
"media.nearby": "Fotos cercanas", "title": "Mapas de base",
"media.no_id": "Falta el ID del sujeto", "usgs": "USGS"
"media.video": "Video", },
"media.video_taken": "Video filmado el $0", "media": {
"add_on": "Agregado el $0",
"meta.locale": "es_ES", "click_watch": "Haz clic para ver el video",
"meta.page_og_desc": "Mantente en contacto con François durante sus aventuras a la montaña", "click_zoom": "Haz clic para ampliar",
"comment_update": "Comentario \"$0\" actualizado",
"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.", "count": "Media $0 de $1",
"newsletter.email_placeholder": "nombre@email.com", "image": "Foto",
"newsletter.invalid_email": "Esto no parece una dirección de correo electrónico", "image_taken": "Foto tomada el $0",
"newsletter.subscribe": "Suscribir", "images": "Fotos",
"newsletter.subscribed": "¡Gracias! Recibirás un correo electrónico de confirmación", "nearby": "Fotos cercanas",
"newsletter.subscribed_desc": "Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido...", "no_id": "Falta el ID del sujeto",
"newsletter.title": "Mantenerse en contacto", "video": "Video",
"newsletter.unknown_email": "Dirección de email desconocida", "video_taken": "Video filmado el $0"
"newsletter.unsubscribe": "Desinscribirse", },
"newsletter.unsubscribed": "Está hecho. ¡No más spam!", "meta": {
"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 :)", "locale": "es_ES",
"page_og_desc": "Mantente en contacto con François durante sus aventuras a la montaña"
"post.copy_to_clipboard": "Copiar el enlace", },
"post.link_copied": "¡Enlace copiado!", "newsletter": {
"post.message": "Mensaje", "email_exists": "Esta dirección de correo electrónico ya está registrada. Puedes darte de baja haciendo clic en el botón de arriba.",
"post.name": "Nombre", "email_placeholder": "nombre@email.com",
"post.new_message": "Mensaje nuevo", "invalid_email": "Esto no parece una dirección de correo electrónico",
"subscribe": "Suscribir",
"project.code_name": "Nombre clave", "subscribed": "¡Gracias! Recibirás un correo electrónico de confirmación",
"project.end": "Fin", "subscribed_desc": "Todo esta listo. Te enviaremos noticias frescas en cuanto las recibamos. Prometido...",
"project.hikes": "Senderos", "title": "Mantenerse en contacto",
"project.id": "Proyecto ID", "unknown_email": "Dirección de email desconocida",
"project.mode": "Modo", "unsubscribe": "Desinscribirse",
"project.modes.blog": "Proyecto activo", "unsubscribed": "Está hecho. ¡No más spam!",
"project.modes.histo": "Proyecto archivado", "unsubscribed_desc": "Anade tu dirección de correo electrónico y te enviaremos la posicion actualizada de François tan pronto como la recibamos :)"
"project.modes.previz": "Proyecto en preparación", },
"project.new": "Nuevo proyecto", "post": {
"project.plural": "Proyectos", "copy_to_clipboard": "Copiar el enlace",
"project.single": "Proyecto", "link_copied": "¡Enlace copiado!",
"project.start": "Inicio", "message": "Mensaje",
"project.update_messages": "Actualizar los mensajes del proyecto", "name": "Nombre",
"new_message": "Mensaje nuevo"
"spot.id": "ID Spot", },
"spot.model": "Modelo", "project": {
"spot.name": "Spot", "code_name": "Nombre clave",
"spot.plural": "Spots", "end": "Fin",
"spot.ref_id": "ID Spot ref.", "hikes": "Senderos",
"id": "Proyecto ID",
"stats.distance": "Distancia", "mode": "Modo",
"stats.elevation": "Elevación", "modes": {
"stats.legend": "Leyenda", "blog": "Proyecto activo",
"stats.segment_length": "Tamaño del segmento", "histo": "Proyecto archivado",
"stats.type": "Tipo de sendero", "previz": "Proyecto en preparación"
},
"time.city": "Hora de $0", "new": "Nuevo proyecto",
"time.date_time": "$0 a la $1", "plural": "Proyectos",
"time.local": "$0 hora local", "single": "Proyecto",
"time.user": "$0 en tu zona horaria", "start": "Inicio",
"time.zone": "Huso horario", "update_messages": "Actualizar los mensajes del proyecto"
},
"track.download": "Descarga la ruta GPX", "spot": {
"track.hitchhiking": "Autostop", "id": "ID Spot",
"track.main": "Camino principal", "model": "Modelo",
"track.off-track": "Variante", "name": "Spot",
"plural": "Spots",
"unit.day": "Día", "ref_id": "ID Spot ref."
"unit.day_short": "D", },
"unit.days": "Días", "stats": {
"unit.hour": "h", "distance": "Distancia",
"elevation": "Elevación",
"upload.media.exists": "La imagen $0 ya existe", "legend": "Leyenda",
"upload.media.title": "Cargar fotos y videos", "segment_length": "Tamaño del segmento",
"upload.mode_archived": "El proyecto \"$0\" esta archivado. No se puede cargar", "type": "Tipo de sendero"
"upload.position.new": "Nueva posición", },
"upload.position.title": "Subir posición", "time": {
"upload.success": "$0 ha sido subido", "city": "Hora de $0",
"date_time": "$0 a la $1",
"user.active": "Usuarios activos", "local": "$0 hora local",
"user.clearance": "Nivel de autorización", "user": "$0 en tu zona horaria",
"user.id": "ID del usuario", "zone": "Huso horario"
"user.language": "Idioma", },
"user.name": "Nombre", "track": {
"download": "Descarga la ruta GPX",
"weather.clear-day": "La nubosidad es inferior al 20 % durante el día", "hitchhiking": "Autostop",
"weather.clear-night": "La nubosidad es inferior al 20 % durante la noche", "main": "Camino principal",
"weather.cloudy": "La nubosidad es superior al 90 %", "off-track": "Variante"
"weather.fog": "La visibilidad es baja (menos de un kilómetro o una milla)", },
"weather.hail": "Chubascos de granizo", "unit": {
"weather.partly-cloudy-day": "La nubosidad es superior al 20 % durante el día", "day": "Día",
"weather.partly-cloudy-night": "La nubosidad es superior al 20 % durante la noche", "day_short": "D",
"weather.rain": "La cantidad de lluvia es superior a cero", "days": "Días",
"weather.rain-snow": "Chubascos de nieve y lluvia", "hour": "h"
"weather.rain-snow-showers-day": "Posible lluvia/nieve durante todo el día", },
"weather.rain-snow-showers-night": "Posible lluvia/nieve durante toda la noche", "upload": {
"weather.showers-day": "Chubascos de lluvia durante el día", "media": {
"weather.showers-night": "Chubascos de lluvia durante la noche", "exists": "La imagen $0 ya existe",
"weather.sleet": "Aguanieve", "title": "Cargar fotos y videos"
"weather.snow": "La cantidad de nieve es superior a cero", },
"weather.snow-showers-day": "Periodos de nieve durante el día", "mode_archived": "El proyecto \"$0\" esta archivado. No se puede cargar",
"weather.snow-showers-night": "Periodos de nieve durante la noche", "position": {
"weather.thunder": "Tormentas", "new": "Nueva posición",
"weather.thunder-rain": "Tormentas durante el día o la noche", "title": "Subir posición"
"weather.thunder-showers-day": "Posibles tormentas durante todo el día", },
"weather.thunder-showers-night": "Posibles tormentas durante toda la noche", "success": "$0 ha sido subido"
"weather.wind": "La velocidad del viento es alta (más de 30 km/h o mph)" },
"user": {
"active": "Usuarios activos",
"clearance": "Nivel de autorización",
"id": "ID del usuario",
"language": "Idioma",
"name": "Nombre"
},
"weather": {
"clear-day": "La nubosidad es inferior al 20 % durante el día",
"clear-night": "La nubosidad es inferior al 20 % durante la noche",
"cloudy": "La nubosidad es superior al 90 %",
"fog": "La visibilidad es baja (menos de un kilómetro o una milla)",
"hail": "Chubascos de granizo",
"partly-cloudy-day": "La nubosidad es superior al 20 % durante el día",
"partly-cloudy-night": "La nubosidad es superior al 20 % durante la noche",
"rain": "La cantidad de lluvia es superior a cero",
"rain-snow": "Chubascos de nieve y lluvia",
"rain-snow-showers-day": "Posible lluvia/nieve durante todo el día",
"rain-snow-showers-night": "Posible lluvia/nieve durante toda la noche",
"showers-day": "Chubascos de lluvia durante el día",
"showers-night": "Chubascos de lluvia durante la noche",
"sleet": "Aguanieve",
"snow": "La cantidad de nieve es superior a cero",
"snow-showers-day": "Periodos de nieve durante el día",
"snow-showers-night": "Periodos de nieve durante la noche",
"thunder": "Tormentas",
"thunder-rain": "Tormentas durante el día o la noche",
"thunder-showers-day": "Posibles tormentas durante todo el día",
"thunder-showers-night": "Posibles tormentas durante toda la noche",
"wind": "La velocidad del viento es alta (más de 30 km/h o mph)"
}
} }

View File

@@ -1,170 +1,201 @@
{ {
"action.back": "Retour", "action": {
"action.delete": "Supprimer", "back": "Retour",
"action.save": "Sauvegarder", "delete": "Supprimer",
"action.send": "Envoyer", "save": "Sauvegarder",
"send": "Envoyer"
"admin.config": "Paramètres", },
"admin.create_success": "Créé", "admin": {
"admin.delete_success": "Supprimé", "config": "Paramètres",
"admin.save_success": "Sauvegardé", "create_success": "Créé",
"admin.title": "Administration", "delete_success": "Supprimé",
"admin.toolbox": "Boite à outils", "save_success": "Sauvegardé",
"admin.upload": "Uploader", "title": "Administration",
"toolbox": "Boite à outils",
"credits.git": "Dépôt Git", "upload": "Uploader"
"credits.license": "sous licence GPLv3", },
"credits.project": "Projet Spotty", "credits": {
"git": "Dépôt Git",
"email.confirmation.body_1": "C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée.", "license": "sous licence GPLv3",
"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.", "project": "Projet Spotty"
"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": {
"email.confirmation.preheader": "Merci de rester en contact !", "confirmation": {
"email.confirmation.signature": "--François", "body_1": "C'est gentil de venir voir où j'en suis. Promis, je vous tiendrais au courant de mon avancée.",
"email.confirmation.subject": "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.thanks_subject": "C'est tout bon !", "body_3": "Si j'ai ajouté des photos sur le site récemment, vous devriez aussi les retrouver dans cet email.",
"email.unsubscribe": "PS: Trop d'emails ?", "conclusion": "A bientôt sur les chemins !",
"email.unsubscribe_button": "Se désinscrire", "preheader": "Merci de rester en contact !",
"email.update.latest_news": "Dernières nouvelles :", "signature": "--François",
"email.update.preheader": "Nouvelle position !", "subject": "Confirmation",
"email.update.subject": "Nouvelle position reçue", "thanks_subject": "C'est tout bon !"
"email.update.title": "Message", },
"unsubscribe": "PS: Trop d'emails ?",
"error.commit_db": "Error lors de la requête SQL", "unsubscribe_button": "Se désinscrire",
"error.impossible_value": "La valeur \"$0\" n'est pas possible pour le champ \"$1\"", "update": {
"error.no_auth": "Pas d'authorisation", "latest_news": "Dernières nouvelles :",
"error.unknown_field": "Champ \"$0\" inconnu", "preheader": "Nouvelle position !",
"subject": "Nouvelle position reçue",
"feed.counter": "N°$0", "title": "Message"
"feed.id": "ID Feed", }
"feed.last_update": "Dernière vérification Spot", },
"feed.name": "Description", "error": {
"feed.new": "Nouveau feed", "commit_db": "Error lors de la requête SQL",
"feed.plural": "Feeds", "impossible_value": "La valeur \"$0\" n'est pas possible pour le champ \"$1\"",
"feed.ref_id": "ID Feed ref.", "no_auth": "Pas d'authorisation",
"feed.status": "Statut", "unknown_field": "Champ \"$0\" inconnu"
},
"map.ign_france": "IGN (France)", "feed": {
"map.ign_spain": "IGN (Espagne)", "counter": "N°$0",
"map.linz": "LINZ", "id": "ID Feed",
"map.natgeo": "National Geographic", "last_update": "Dernière vérification Spot",
"map.otm": "Open Topo Map", "name": "Description",
"map.outdoors": "Mapbox Topo", "new": "Nouveau feed",
"map.satellite": "Satellite", "plural": "Feeds",
"map.see_on_google": "Voir la position sur Google Maps", "ref_id": "ID Feed ref.",
"map.title": "Fonds de carte", "status": "Statut"
"map.usgs": "USGS", },
"map": {
"media.add_on": "ajoutée le $0", "ign_france": "IGN (France)",
"media.click_watch": "Click pour voir la vidéo", "ign_spain": "IGN (Espagne)",
"media.click_zoom": "Click pour zoomer", "linz": "LINZ",
"media.comment_update": "Commentaire du media \"$0\" mis-à-jour", "natgeo": "National Geographic",
"media.count": "Média $0 sur $1", "otm": "Open Topo Map",
"media.image": "Photo", "outdoors": "Mapbox Topo",
"media.image_taken": "prise le $0", "satellite": "Satellite",
"media.images": "Photos", "see_on_google": "Voir la position sur Google Maps",
"media.nearby": "Photos prises dans le coin", "title": "Fonds de carte",
"media.no_id": "ID du média manquant", "usgs": "USGS"
"media.video": "Vidéo", },
"media.video_taken": "filmée le $0", "media": {
"add_on": "ajoutée le $0",
"meta.locale": "fr_CH", "click_watch": "Click pour voir la vidéo",
"meta.page_og_desc": "Gardez le contact avec François lorsqu'il part sur les chemins", "click_zoom": "Click pour zoomer",
"comment_update": "Commentaire du media \"$0\" mis-à-jour",
"newsletter.email_exists": "Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus.", "count": "Média $0 sur $1",
"newsletter.email_placeholder": "mon@email.com", "image": "Photo",
"newsletter.invalid_email": "Ceci ne ressemble pas à une adresse email", "image_taken": "prise le $0",
"newsletter.subscribe": "S'abonner", "images": "Photos",
"newsletter.subscribed": "Merci ! Tu vas recevoir un email de confirmation très bientôt", "nearby": "Photos prises dans le coin",
"newsletter.subscribed_desc": "C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout.", "no_id": "ID du média manquant",
"newsletter.title": "Rester en contact", "video": "Vidéo",
"newsletter.unknown_email": "Adresse email inconnue", "video_taken": "filmée le $0"
"newsletter.unsubscribe": "Se désinscrire", },
"newsletter.unsubscribed": "C'est fait. Fini le spam!", "meta": {
"newsletter.unsubscribed_desc": "Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :)", "locale": "fr_CH",
"page_og_desc": "Gardez le contact avec François lorsqu'il part sur les chemins"
"post.copy_to_clipboard": "Copie le lien dans le presse-papier", },
"post.link_copied": "Lien copié !", "newsletter": {
"post.message": "Message", "email_exists": "Cette adresse email est déjà enregistrée. Vous pouvez vous désinscrire en cliquant sur le bouton ci-dessus.",
"post.name": "Nom", "email_placeholder": "mon@email.com",
"post.new_message": "Nouveau message", "invalid_email": "Ceci ne ressemble pas à une adresse email",
"subscribe": "S'abonner",
"project.code_name": "Nom de code", "subscribed": "Merci ! Tu vas recevoir un email de confirmation très bientôt",
"project.end": "Arrivée", "subscribed_desc": "C'est tout bon. On t'envoie des nouvelles fraiches dès qu'on les reçoit. Parole de scout.",
"project.hikes": "Randonnées", "title": "Rester en contact",
"project.id": "ID projet", "unknown_email": "Adresse email inconnue",
"project.mode": "Mode", "unsubscribe": "Se désinscrire",
"project.modes.blog": "Projet actif", "unsubscribed": "C'est fait. Fini le spam!",
"project.modes.histo": "Projet archivé", "unsubscribed_desc": "Ajoute ton adresse email et on t'enverra la nouvelle position de François dès qu'on la reçoit :)"
"project.modes.previz": "Projet en cours de préparation", },
"project.new": "Nouveau projet", "post": {
"project.plural": "Projets", "copy_to_clipboard": "Copie le lien dans le presse-papier",
"project.single": "Projet", "link_copied": "Lien copié !",
"project.start": "Départ", "message": "Message",
"project.update_messages": "Mettre à jour les messages du projet", "name": "Nom",
"new_message": "Nouveau message"
"spot.id": "ID Spot", },
"spot.model": "Modèle", "project": {
"spot.name": "Spot", "code_name": "Nom de code",
"spot.plural": "Spots", "end": "Arrivée",
"spot.ref_id": "ID Spot ref.", "hikes": "Randonnées",
"id": "ID projet",
"stats.distance": "Distance", "mode": "Mode",
"stats.elevation": "Dénivelé", "modes": {
"stats.legend": "Légende", "blog": "Projet actif",
"stats.segment_length": "Taille du segment", "histo": "Projet archivé",
"stats.type": "Type de rando", "previz": "Projet en cours de préparation"
},
"time.city": "heure de $0", "new": "Nouveau projet",
"time.date_time": "$0 à $1", "plural": "Projets",
"time.local": "$0 heure locale", "single": "Projet",
"time.user": "$0 dans votre fuseau horaire", "start": "Départ",
"time.zone": "Fuseau horaire", "update_messages": "Mettre à jour les messages du projet"
},
"track.download": "Télécharger la trace GPX", "spot": {
"track.hitchhiking": "Hors rando", "id": "ID Spot",
"track.main": "Trajet principal", "model": "Modèle",
"track.off-track": "Variante", "name": "Spot",
"plural": "Spots",
"unit.day": "jour", "ref_id": "ID Spot ref."
"unit.day_short": "J", },
"unit.days": "jours", "stats": {
"unit.hour": "h", "distance": "Distance",
"elevation": "Dénivelé",
"upload.media.exists": "l'image $0 existe déjà", "legend": "Légende",
"upload.media.title": "Uploader photos & vidéos", "segment_length": "Taille du segment",
"upload.mode_archived": "Le projet \"$0\" a été archivé. Aucun upload possible", "type": "Type de rando"
"upload.position.new": "Nouvelle position", },
"upload.position.title": "Position supplémentaire", "time": {
"upload.success": "$0 a été uploadé", "city": "heure de $0",
"date_time": "$0 à $1",
"user.active": "Utilisateurs actifs", "local": "$0 heure locale",
"user.clearance": "Niveau d'autorisation", "user": "$0 dans votre fuseau horaire",
"user.id": "ID Utilisateur", "zone": "Fuseau horaire"
"user.language": "Langue", },
"user.name": "Nom", "track": {
"download": "Télécharger la trace GPX",
"weather.clear-day": "La couverture nuageuse est inférieure à 20 % pendant la journée", "hitchhiking": "Hors rando",
"weather.clear-night": "La couverture nuageuse est inférieure à 20 % pendant la nuit", "main": "Trajet principal",
"weather.cloudy": "La couverture nuageuse est supérieure à 90 %", "off-track": "Variante"
"weather.fog": "La visibilité est faible (moins dun kilomètre ou dun mile)", },
"weather.hail": "Averses de grêle", "unit": {
"weather.partly-cloudy-day": "La couverture nuageuse est supérieure à 20 % pendant la journée", "day": "jour",
"weather.partly-cloudy-night": "La couverture nuageuse est supérieure à 20 % pendant la nuit", "day_short": "J",
"weather.rain": "La quantité de pluie est supérieure à zéro", "days": "jours",
"weather.rain-snow": "Averses de neige et de pluie", "hour": "h"
"weather.rain-snow-showers-day": "Pluie/neige possible tout au long de la journée", },
"weather.rain-snow-showers-night": "Pluie/neige possible tout au long de la nuit", "upload": {
"weather.showers-day": "Averses de pluie pendant la journée", "media": {
"weather.showers-night": "Averses de pluie pendant la nuit", "exists": "l'image $0 existe déjà",
"weather.sleet": "Grésil", "title": "Uploader photos & vidéos"
"weather.snow": "La quantité de neige est supérieure à zéro", },
"weather.snow-showers-day": "Périodes de neige pendant la journée", "mode_archived": "Le projet \"$0\" a été archivé. Aucun upload possible",
"weather.snow-showers-night": "Périodes de neige pendant la nuit", "position": {
"weather.thunder": "Orages", "new": "Nouvelle position",
"weather.thunder-rain": "Orages tout au long de la journée ou de la nuit", "title": "Position supplémentaire"
"weather.thunder-showers-day": "Orages possibles tout au long de la journée", },
"weather.thunder-showers-night": "Orages possibles tout au long de la nuit", "success": "$0 a été uploadé"
"weather.wind": "La vitesse du vent est élevée (plus de 30 km/h ou mph)" },
"user": {
"active": "Utilisateurs actifs",
"clearance": "Niveau d'autorisation",
"id": "ID Utilisateur",
"language": "Langue",
"name": "Nom"
},
"weather": {
"clear-day": "La couverture nuageuse est inférieure à 20 % pendant la journée",
"clear-night": "La couverture nuageuse est inférieure à 20 % pendant la nuit",
"cloudy": "La couverture nuageuse est supérieure à 90 %",
"fog": "La visibilité est faible (moins dun kilomètre ou dun mile)",
"hail": "Averses de grêle",
"partly-cloudy-day": "La couverture nuageuse est supérieure à 20 % pendant la journée",
"partly-cloudy-night": "La couverture nuageuse est supérieure à 20 % pendant la nuit",
"rain": "La quantité de pluie est supérieure à zéro",
"rain-snow": "Averses de neige et de pluie",
"rain-snow-showers-day": "Pluie/neige possible tout au long de la journée",
"rain-snow-showers-night": "Pluie/neige possible tout au long de la nuit",
"showers-day": "Averses de pluie pendant la journée",
"showers-night": "Averses de pluie pendant la nuit",
"sleet": "Grésil",
"snow": "La quantité de neige est supérieure à zéro",
"snow-showers-day": "Périodes de neige pendant la journée",
"snow-showers-night": "Périodes de neige pendant la nuit",
"thunder": "Orages",
"thunder-rain": "Orages tout au long de la journée ou de la nuit",
"thunder-showers-day": "Orages possibles tout au long de la journée",
"thunder-showers-night": "Orages possibles tout au long de la nuit",
"wind": "La vitesse du vent est élevée (plus de 30 km/h ou mph)"
}
} }