Add bilingual i18n UI and lighten component shadows
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "SignalMap",
|
||||
"tagline": "Crowd signals around your route"
|
||||
},
|
||||
"status": {
|
||||
"idle": "Live feed",
|
||||
"loading": "Syncing map",
|
||||
"posting": "Sending signal",
|
||||
"refreshing": "Updating heat",
|
||||
"error": "Offline"
|
||||
},
|
||||
"header": {
|
||||
"badge": {
|
||||
"updated": "{{time}}"
|
||||
},
|
||||
"actions": {
|
||||
"refresh": "Refresh now",
|
||||
"focusHeat": "Focus heatmap",
|
||||
"locate": "Locate me",
|
||||
"mySignal": "My last signal"
|
||||
}
|
||||
},
|
||||
"overview": {
|
||||
"title": "Nearby coverage",
|
||||
"description": "Signals refresh automatically every few seconds.",
|
||||
"stats": {
|
||||
"signals": "Signals",
|
||||
"contributors": "Contributors"
|
||||
},
|
||||
"badge": "Your last signal {{time}}",
|
||||
"error": {
|
||||
"action": "Try again"
|
||||
},
|
||||
"cta": {
|
||||
"send": "Drop a signal manually",
|
||||
"sending": "Sending…",
|
||||
"waiting": "Waiting for location…"
|
||||
},
|
||||
"locationPermission": "Allow location permissions to personalise the feed.",
|
||||
"lastSynced": "Last synced {{time}}"
|
||||
},
|
||||
"hotspots": {
|
||||
"title": "Danger zone intel",
|
||||
"description": "Highest intensity heat within {{radius}}km.",
|
||||
"noLocation": "{{hint}}",
|
||||
"empty": "No active hotspots nearby. Tap the map to log a new signal.",
|
||||
"focus": "Focus",
|
||||
"itemTitle": "Hotspot #{{index}}",
|
||||
"itemSubtitleWithDistance": "{{distance}} · {{coordinates}}",
|
||||
"itemSubtitle": "{{coordinates}}"
|
||||
},
|
||||
"activity": {
|
||||
"title": "Live community pings",
|
||||
"description": "Latest activity reported by nearby contributors.",
|
||||
"empty": "No recent signals within your area yet.",
|
||||
"view": "View"
|
||||
},
|
||||
"map": {
|
||||
"posting": "Sending your signal…",
|
||||
"loading": "Syncing map…",
|
||||
"confirmationHint": "Confirm the new signal in the dialog to send it."
|
||||
},
|
||||
"dialog": {
|
||||
"confirmSignal": {
|
||||
"title": "Confirm new signal",
|
||||
"description": "You're about to publish a community alert at these coordinates. Double-check the spot before confirming.",
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude",
|
||||
"reach": "Signals are visible to travellers within {{radius}}km and help the community stay aware of hotspots.",
|
||||
"cancel": "Cancel",
|
||||
"confirm": "Confirm signal",
|
||||
"sending": "Sending…"
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"hint": {
|
||||
"requesting": "Fetching your location…",
|
||||
"allow": "Allow location access to view nearby reports.",
|
||||
"showing": "Showing reports within {{radius}}km of you."
|
||||
},
|
||||
"error": {
|
||||
"permissionDenied": "Location access denied. Enable it to view nearby pings.",
|
||||
"unavailable": "Unable to determine your position. Try again.",
|
||||
"timeout": "Timed out while fetching your location.",
|
||||
"generic": "Failed to retrieve your location.",
|
||||
"unsupported": "Geolocation is not supported in this browser."
|
||||
}
|
||||
},
|
||||
"activityItem": {
|
||||
"user": "User {{id}}",
|
||||
"distance": "{{distance}} away"
|
||||
},
|
||||
"common": {
|
||||
"coordinates": "{{lat}}°, {{lng}}°",
|
||||
"never": "never",
|
||||
"actions": {
|
||||
"close": "Close"
|
||||
},
|
||||
"aria": {
|
||||
"theme": {
|
||||
"light": "Switch to light mode",
|
||||
"dark": "Switch to dark mode"
|
||||
},
|
||||
"language": "Change language to {{language}}",
|
||||
"sheet": {
|
||||
"close": "Close panel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"english": "English",
|
||||
"french": "Français"
|
||||
},
|
||||
"errors": {
|
||||
"feedUnavailable": "Unable to reach the hotspot feed.",
|
||||
"feedUnknown": "Unknown error while loading hotspots.",
|
||||
"submitUnavailable": "Unable to store your signal.",
|
||||
"submitUnknown": "Something went wrong while saving your signal.",
|
||||
"submitWithReason": "{{message}}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "SignalMap",
|
||||
"tagline": "Alertes de la communauté sur votre itinéraire"
|
||||
},
|
||||
"status": {
|
||||
"idle": "Flux en direct",
|
||||
"loading": "Synchronisation de la carte",
|
||||
"posting": "Envoi du signal",
|
||||
"refreshing": "Mise à jour de la chaleur",
|
||||
"error": "Hors ligne"
|
||||
},
|
||||
"header": {
|
||||
"badge": {
|
||||
"updated": "{{time}}"
|
||||
},
|
||||
"actions": {
|
||||
"refresh": "Actualiser",
|
||||
"focusHeat": "Centrer la chaleur",
|
||||
"locate": "Me localiser",
|
||||
"mySignal": "Mon dernier signal"
|
||||
}
|
||||
},
|
||||
"overview": {
|
||||
"title": "Couverture à proximité",
|
||||
"description": "Les signaux se mettent à jour automatiquement toutes les quelques secondes.",
|
||||
"stats": {
|
||||
"signals": "Signaux",
|
||||
"contributors": "Contributeurs"
|
||||
},
|
||||
"badge": "Votre dernier signal {{time}}",
|
||||
"error": {
|
||||
"action": "Réessayer"
|
||||
},
|
||||
"cta": {
|
||||
"send": "Déposer un signal manuellement",
|
||||
"sending": "Envoi…",
|
||||
"waiting": "En attente de la localisation…"
|
||||
},
|
||||
"locationPermission": "Autorisez la localisation pour personnaliser le flux.",
|
||||
"lastSynced": "Dernière synchronisation {{time}}"
|
||||
},
|
||||
"hotspots": {
|
||||
"title": "Infos sur les zones à risque",
|
||||
"description": "Chaleur la plus intense dans un rayon de {{radius}} km.",
|
||||
"noLocation": "{{hint}}",
|
||||
"empty": "Aucune zone active à proximité. Touchez la carte pour enregistrer un nouveau signal.",
|
||||
"focus": "Centrer",
|
||||
"itemTitle": "Zone chaude n°{{index}}",
|
||||
"itemSubtitleWithDistance": "{{distance}} · {{coordinates}}",
|
||||
"itemSubtitle": "{{coordinates}}"
|
||||
},
|
||||
"activity": {
|
||||
"title": "Alertes de la communauté",
|
||||
"description": "Dernières activités signalées à proximité.",
|
||||
"empty": "Aucun signal récent dans votre secteur.",
|
||||
"view": "Voir"
|
||||
},
|
||||
"map": {
|
||||
"posting": "Envoi de votre signal…",
|
||||
"loading": "Synchronisation de la carte…",
|
||||
"confirmationHint": "Confirmez le nouveau signal dans la fenêtre pour l'envoyer."
|
||||
},
|
||||
"dialog": {
|
||||
"confirmSignal": {
|
||||
"title": "Confirmer le nouveau signal",
|
||||
"description": "Vous êtes sur le point de publier une alerte communautaire à ces coordonnées. Vérifiez l'emplacement avant de confirmer.",
|
||||
"latitude": "Latitude",
|
||||
"longitude": "Longitude",
|
||||
"reach": "Les signaux sont visibles par les voyageurs dans un rayon de {{radius}} km et aident la communauté à rester informée des zones à risque.",
|
||||
"cancel": "Annuler",
|
||||
"confirm": "Confirmer le signal",
|
||||
"sending": "Envoi…"
|
||||
}
|
||||
},
|
||||
"location": {
|
||||
"hint": {
|
||||
"requesting": "Récupération de votre localisation…",
|
||||
"allow": "Autorisez l'accès à la localisation pour voir les signalements à proximité.",
|
||||
"showing": "Affichage des signalements dans un rayon de {{radius}} km autour de vous."
|
||||
},
|
||||
"error": {
|
||||
"permissionDenied": "Accès à la localisation refusé. Activez-le pour voir les alertes proches.",
|
||||
"unavailable": "Impossible de déterminer votre position. Réessayez.",
|
||||
"timeout": "Délai dépassé lors de la récupération de votre localisation.",
|
||||
"generic": "Échec de la récupération de votre localisation.",
|
||||
"unsupported": "La géolocalisation n'est pas prise en charge par ce navigateur."
|
||||
}
|
||||
},
|
||||
"activityItem": {
|
||||
"user": "Utilisateur {{id}}",
|
||||
"distance": "À {{distance}}"
|
||||
},
|
||||
"common": {
|
||||
"coordinates": "{{lat}}°, {{lng}}°",
|
||||
"never": "jamais",
|
||||
"actions": {
|
||||
"close": "Fermer"
|
||||
},
|
||||
"aria": {
|
||||
"theme": {
|
||||
"light": "Passer en mode clair",
|
||||
"dark": "Passer en mode sombre"
|
||||
},
|
||||
"language": "Changer la langue pour {{language}}",
|
||||
"sheet": {
|
||||
"close": "Fermer le panneau"
|
||||
}
|
||||
}
|
||||
},
|
||||
"language": {
|
||||
"label": "Langue",
|
||||
"english": "Anglais",
|
||||
"french": "Français"
|
||||
},
|
||||
"errors": {
|
||||
"feedUnavailable": "Impossible d'atteindre le flux de signaux.",
|
||||
"feedUnknown": "Erreur inconnue lors du chargement des signaux.",
|
||||
"submitUnavailable": "Impossible d'enregistrer votre signal.",
|
||||
"submitUnknown": "Une erreur est survenue lors de l'enregistrement de votre signal.",
|
||||
"submitWithReason": "{{message}}"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user