mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
i18n(fr): apply review round 1
Apply the accepted findings from the three-model French review: ground track reads « route », wildfire containment « circonscrit », downrange « distance au sol », tankers « navire-citerne », plus wording fixes for lanes, timestamps, wind sector, radio, CCTV and voice strings. Shots rebuilt by a pack's legacy bootstrap carry no sourcePackId, so the first Nepal shot titles stayed English; the scene's applied-pack marker now vouches for the pack's required titles. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
d95bffb5fd
commit
4adb9113bc
4 files changed
+173
-138
No files matched your search
+58
-58
@@ -11,7 +11,7 @@ Translation source: abiyeenzo (#907); the French part of meirm's #312 was used f
|
|||||||
- Sentence case, not Title Case: "Live Flights" → « Vols en direct ». UPPERCASE English stays UPPERCASE, accents included: « ÉTAT », « PRÉC. ».
|
- Sentence case, not Title Case: "Live Flights" → « Vols en direct ». UPPERCASE English stays UPPERCASE, accents included: « ÉTAT », « PRÉC. ».
|
||||||
- Typography: a narrow no-break space (U+202F) goes before `:` `;` `?` `!` and `%`, and inside « » quotes: `Supprimer le plan « {shot} » ?`. It keeps the sign on the same line as the word before it. Do not type a plain space there. Ellipsis is `…`, not `...`. Dashes keep their spaces: « flux indisponible — réessayez ».
|
- Typography: a narrow no-break space (U+202F) goes before `:` `;` `?` `!` and `%`, and inside « » quotes: `Supprimer le plan « {shot} » ?`. It keeps the sign on the same line as the word before it. Do not type a plain space there. Ellipsis is `…`, not `...`. Dashes keep their spaces: « flux indisponible — réessayez ».
|
||||||
- Short labels, chips and HUD readouts stay short. A standard abbreviation with a period beats a wrapped line: PRÉC., SUIV., RÉINIT., ENREG., INDISP., DIST.
|
- Short labels, chips and HUD readouts stay short. A standard abbreviation with a period beats a wrapped line: PRÉC., SUIV., RÉINIT., ENREG., INDISP., DIST.
|
||||||
- The HUD codes HDG, BRG, CRS, FOV, DEST, SPD and ALT stay in English everywhere, as in cockpit avionics. Words are translated: RANGE → « PORTÉE », heading in a sentence → « cap ».
|
- The HUD codes HDG, BRG, CRS, FOV, DEST, SPD and ALT stay in English everywhere, as in cockpit avionics. Words are translated: RANGE → « PORTÉE », heading in a sentence → « cap », ground-track course → « route » (« ROUTE 270° »).
|
||||||
- ON and OFF stay as they are on HUD toggles and chips (« CCTV ON », « PROJECTION OFF »); in a sentence use « activé » / « désactivé ».
|
- ON and OFF stay as they are on HUD toggles and chips (« CCTV ON », « PROJECTION OFF »); in a sentence use « activé » / « désactivé ».
|
||||||
- Keyboard keys stay in English: Space, Esc, Enter, Tab, Shift, Backspace, H, 1–9 (« Maintenez Space pour parler », « ESC pour fermer »).
|
- Keyboard keys stay in English: Space, Esc, Enter, Tab, Shift, Backspace, H, 1–9 (« Maintenez Space pour parler », « ESC pour fermer »).
|
||||||
- Units: km, m, km/h, m/s, nd (knots), ft (feet), h, min, s, with a space before the unit: « 250 km », « il y a 5 min »; in UPPERCASE text KM, KM/S, ND, FT, MIN. MW, dBZ, hPa and `°` stay. Decimal comma in fixed numbers: « 28,2710° N », « M4,4 ». Money: « 12 k$ », « 3 M$ », « 2 Md$ ».
|
- Units: km, m, km/h, m/s, nd (knots), ft (feet), h, min, s, with a space before the unit: « 250 km », « il y a 5 min »; in UPPERCASE text KM, KM/S, ND, FT, MIN. MW, dBZ, hPa and `°` stay. Decimal comma in fixed numbers: « 28,2710° N », « M4,4 ». Money: « 12 k$ », « 3 M$ », « 2 Md$ ».
|
||||||
@@ -32,60 +32,60 @@ The `many` form is the `other` text with « de » (« d' » before a vowel) afte
|
|||||||
|
|
||||||
## Glossary
|
## Glossary
|
||||||
|
|
||||||
| English | Français |
|
| English | Français |
|
||||||
| ---------------------------------------------- | --------------------------------------------------------------- |
|
| --------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||||
| layer / data layer / DATA LAYERS (panel title) | couche / couche de données / COUCHES |
|
| layer / data layer / DATA LAYERS (panel title) | couche / couche de données / COUCHES |
|
||||||
| feed / source / data source | flux / source / source de données |
|
| feed / source / data source | flux / source / source de données |
|
||||||
| LIVE (status) / live data | DIRECT / données en direct |
|
| LIVE (status) / live data | DIRECT / données en direct |
|
||||||
| SIMULATED | SIMULÉ |
|
| SIMULATED | SIMULÉ |
|
||||||
| stale / degraded / unavailable | obsolète / dégradé / indisponible |
|
| stale / degraded / unavailable | obsolète / dégradé / indisponible |
|
||||||
| retry / retrying | nouvel essai / réessayez |
|
| retry / retrying | nouvel essai / réessayez |
|
||||||
| rate-limited | limite de requêtes atteinte |
|
| rate-limited | limite de requêtes atteinte |
|
||||||
| key (API key) / POWER UP / POWERED UP | clé (clé API) / ALLUMER / ALLUMÉ |
|
| key (API key) / POWER UP / POWERED UP | clé (clé API) / ALLUMER / ALLUMÉ |
|
||||||
| Provider Settings | paramètres des fournisseurs |
|
| Provider Settings | paramètres des fournisseurs |
|
||||||
| enable / disable | activer / désactiver |
|
| enable / disable | activer / désactiver |
|
||||||
| globe / map / map source / basemap / map stack | globe / carte / source de carte / fond de carte / fond de carte |
|
| globe / map / map source / basemap / map stack | globe / carte / source de carte / fond de carte / fond de carte |
|
||||||
| tile (map) | tuile |
|
| tile (map) | tuile |
|
||||||
| aircraft / flight / military flights | aéronef (avion in short copy) / vol / vols militaires |
|
| aircraft / flight / military flights | aéronef (avion in short copy) / vol / vols militaires |
|
||||||
| vessel, ship | navire |
|
| vessel, ship / tanker (AIS type) | navire / navire-citerne |
|
||||||
| satellite / shell (Starlink) / DENSE | satellite / couche de la constellation / DENSE |
|
| satellite / shell (Starlink) / DENSE | satellite / couche de la constellation / DENSE |
|
||||||
| launch / launch site / space mission | lancement / site de lancement / mission spatiale |
|
| launch / launch site / space mission | lancement / site de lancement / mission spatiale |
|
||||||
| ascent / replay / payload / stage / downrange | ascension / rejeu / charge utile / étage / distance parcourue |
|
| ascent / replay / payload / stage / downrange | ascension / rejeu / charge utile / étage / distance au sol (DIST. SOL) |
|
||||||
| contact / tracking / track (HUD) | contact / suivi / piste |
|
| contact / tracking / track (HUD) | contact / suivi / piste |
|
||||||
| installation / site | installation / site |
|
| installation / site | installation / site |
|
||||||
| mapped / observed | cartographié / observé |
|
| mapped / observed | cartographié / observé |
|
||||||
| camera / CCTV camera / ALPR camera | caméra / caméra CCTV / caméra LAPI |
|
| camera / CCTV camera / ALPR camera | caméra / caméra CCTV / caméra LAPI |
|
||||||
| earthquake | séisme |
|
| earthquake | séisme |
|
||||||
| active fire (FIRMS detection) / wildfire | feu actif / incendie |
|
| active fire (FIRMS detection) / wildfire | feu actif / incendie |
|
||||||
| contained (wildfire) | maîtrisé |
|
| contained / containment (wildfire) | circonscrit / part circonscrite (not « maîtrisé », which is controlled) |
|
||||||
| advisory (NHC/CPHC cyclone) | bulletin |
|
| advisory (NHC/CPHC cyclone) | bulletin |
|
||||||
| forecast / lead hours / valid / issued | prévision / échéances / valide / émise |
|
| forecast / lead hours / valid / issued | prévision / échéances / valide / émise |
|
||||||
| AQHI (Canada) | CQAS (cote air santé) |
|
| AQHI (Canada) | CQAS (cote air santé) |
|
||||||
| radio station / tune | station / régler |
|
| radio station / tune | station / régler |
|
||||||
| bikeshare / transit | vélos partagés / transports en commun |
|
| bikeshare / transit | vélos partagés / transports en commun |
|
||||||
| route (directions) / turn (maneuver) | itinéraire / manœuvre |
|
| route (directions) / turn (maneuver) | itinéraire / manœuvre |
|
||||||
| scene / shot / scene recipe | scène / plan / recette de scène |
|
| scene / shot / scene recipe | scène / plan / recette de scène |
|
||||||
| bundle / data pack / anchor | archive / paquet de données / ancre |
|
| bundle / data pack / anchor | archive / paquet de données / ancre |
|
||||||
| story beat | étape du récit |
|
| story beat | étape du récit |
|
||||||
| briefing / panel / dock | briefing / panneau / dock |
|
| briefing / panel / dock | briefing / panneau / dock |
|
||||||
| cockpit | cockpit |
|
| cockpit | cockpit |
|
||||||
| preset / visual preset | préréglage / préréglage visuel |
|
| preset / visual preset | préréglage / préréglage visuel |
|
||||||
| Scope (circular viewport mask) / keyhole | lunette / ouverture |
|
| Scope (circular viewport mask) / keyhole | lunette / ouverture |
|
||||||
| detection overlay | surcouche de détection |
|
| detection overlay | surcouche de détection |
|
||||||
| Clean UI | vue épurée |
|
| Clean UI | vue épurée |
|
||||||
| Street Level (layer) / Street View (Google) | Niveau rue / Street View |
|
| Street Level (layer) / Street View (Google) | Niveau rue / Street View |
|
||||||
| Recent Imagery / box | imagerie récente / zone |
|
| Recent Imagery / box | imagerie récente / zone |
|
||||||
| pin (Draw tool) / pin (Recent Imagery) | épingle / épingler |
|
| pin (Draw tool) / pin (Recent Imagery) | épingle / épingler |
|
||||||
| Cyber (HUD layout, effect) | Cyber |
|
| Cyber (HUD layout, effect) | Cyber |
|
||||||
| heading, course / altitude / ground speed | cap / altitude / vitesse sol |
|
| heading / course (ground track) / altitude / ground speed | cap / route / altitude / vitesse sol |
|
||||||
| HDG / BRG / CRS / FOV / DEST / SPD / ALT | unchanged |
|
| HDG / BRG / CRS / FOV / DEST / SPD / ALT | unchanged |
|
||||||
| RANGE / PITCH / HGT (CCTV calibration chips) | PORTÉE / INCL. / HAUT. |
|
| RANGE / PITCH / HGT (CCTV calibration chips) | PORTÉE / INCL. / HAUT. |
|
||||||
| PREV / PREVIOUS / NEXT (chips) | PRÉC. / PRÉC. / SUIV. |
|
| PREV / PREVIOUS / NEXT (chips) | PRÉC. / PRÉC. / SUIV. |
|
||||||
| Previous / Next (button text) | Précédent / Suivant |
|
| Previous / Next (button text) | Précédent / Suivant |
|
||||||
| L / R (relative bearing) | G / D |
|
| L / R (relative bearing) | G / D |
|
||||||
| SIG / NEWS / LOCAL (briefing tabs) | SIG / ACTUS / LOCAL |
|
| SIG / NEWS / LOCAL (briefing tabs) | SIG / ACTUS / LOCAL |
|
||||||
| compass points (N, NNE, …, W, NW) | N, NNE, …, O, NO |
|
| compass points (N, NNE, …, W, NW) | N, NNE, …, O, NO |
|
||||||
| NOT AN ALL-CLEAR | PAS UN FEU VERT |
|
| NOT AN ALL-CLEAR | PAS UN FEU VERT |
|
||||||
| AI agent | agent IA |
|
| AI agent | agent IA |
|
||||||
| share (a view or link) | partager |
|
| share (a view or link) | partager |
|
||||||
| click / click to … | cliquez / cliquer pour … |
|
| click / click to … | cliquez / cliquer pour … |
|
||||||
+74
-74
@@ -3,9 +3,9 @@
|
|||||||
"Enter to place the pin, Esc to cancel.": "Enter pour poser l'épingle, Esc pour annuler.",
|
"Enter to place the pin, Esc to cancel.": "Enter pour poser l'épingle, Esc pour annuler.",
|
||||||
"Click where the pin goes.": "Cliquez à l'endroit où poser l'épingle.",
|
"Click where the pin goes.": "Cliquez à l'endroit où poser l'épingle.",
|
||||||
"Click {count} more points.": {
|
"Click {count} more points.": {
|
||||||
"one": "Cliquez encore {count} point.",
|
"one": "Cliquez pour ajouter encore {count} point.",
|
||||||
"many": "Cliquez encore {count} de points.",
|
"many": "Cliquez pour ajouter encore {count} de points.",
|
||||||
"other": "Cliquez encore {count} points."
|
"other": "Cliquez pour ajouter encore {count} points."
|
||||||
},
|
},
|
||||||
"Those points are in a line — move one off it to enclose an area.": "Ces points sont alignés — déplacez-en un hors de la ligne pour délimiter une zone.",
|
"Those points are in a line — move one off it to enclose an area.": "Ces points sont alignés — déplacez-en un hors de la ligne pour délimiter une zone.",
|
||||||
"That line has no length — click somewhere further away.": "Cette ligne n'a pas de longueur — cliquez plus loin.",
|
"That line has no length — click somewhere further away.": "Cette ligne n'a pas de longueur — cliquez plus loin.",
|
||||||
@@ -43,13 +43,13 @@
|
|||||||
"General emergency": "Urgence générale",
|
"General emergency": "Urgence générale",
|
||||||
"Unlawful interference": "Intervention illicite",
|
"Unlawful interference": "Intervention illicite",
|
||||||
"Radio failure": "Panne radio",
|
"Radio failure": "Panne radio",
|
||||||
"Downed aircraft": "Aéronef abattu",
|
"Downed aircraft": "Aéronef accidenté",
|
||||||
"Minimum fuel": "Carburant minimum",
|
"Minimum fuel": "Carburant minimum",
|
||||||
"Lifeguard (medical priority)": "Lifeguard (priorité médicale)",
|
"Lifeguard (medical priority)": "Lifeguard (priorité médicale)",
|
||||||
"Rasuwagadhi witness video": "Vidéo d'un témoin à Rasuwagadhi",
|
"Rasuwagadhi witness video": "Vidéo d'un témoin à Rasuwagadhi",
|
||||||
"Bhote Koshi valley footage": "Images de la vallée de la Bhote Koshi",
|
"Bhote Koshi valley footage": "Images de la vallée de la Bhote Koshi",
|
||||||
"Flood footage": "Images de la crue",
|
"Flood footage": "Images de la crue",
|
||||||
"Compilation and casualty claims": "Compilation et bilans de victimes non vérifiés",
|
"Compilation and casualty claims": "Compilation et bilans de victimes",
|
||||||
"SOURCE GEOCONFIRMED · WORLD-PINNED": "SOURCE GÉOCONFIRMÉE · ÉPINGLÉE SUR LA CARTE",
|
"SOURCE GEOCONFIRMED · WORLD-PINNED": "SOURCE GÉOCONFIRMÉE · ÉPINGLÉE SUR LA CARTE",
|
||||||
"SOURCE CREDITED · LOCATION UNRESOLVED": "SOURCE CRÉDITÉE · LIEU NON DÉTERMINÉ",
|
"SOURCE CREDITED · LOCATION UNRESOLVED": "SOURCE CRÉDITÉE · LIEU NON DÉTERMINÉ",
|
||||||
"REFERENCE ONLY · CLAIMS UNVERIFIED": "RÉFÉRENCE SEULEMENT · AFFIRMATIONS NON VÉRIFIÉES",
|
"REFERENCE ONLY · CLAIMS UNVERIFIED": "RÉFÉRENCE SEULEMENT · AFFIRMATIONS NON VÉRIFIÉES",
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
"Second landslide": "Second glissement de terrain",
|
"Second landslide": "Second glissement de terrain",
|
||||||
"Gyirong border gate": "Poste frontière de Gyirong",
|
"Gyirong border gate": "Poste frontière de Gyirong",
|
||||||
"Border gate": "Poste frontière",
|
"Border gate": "Poste frontière",
|
||||||
"Timure evidence cluster": "Groupe d'éléments de preuve de Timure",
|
"Timure evidence cluster": "Groupe de preuves de Timure",
|
||||||
"Mailung / Upper Trishuli bridge": "Mailung / pont d'Upper Trishuli",
|
"Mailung / Upper Trishuli bridge": "Mailung / pont d'Upper Trishuli",
|
||||||
"Dandagaun viewpoint restaurant": "Restaurant-belvédère de Dandagaun",
|
"Dandagaun viewpoint restaurant": "Restaurant-belvédère de Dandagaun",
|
||||||
"Dandagaun viewpoint": "Belvédère de Dandagaun",
|
"Dandagaun viewpoint": "Belvédère de Dandagaun",
|
||||||
@@ -85,11 +85,11 @@
|
|||||||
"LOADING X POST…": "CHARGEMENT DU POST X…",
|
"LOADING X POST…": "CHARGEMENT DU POST X…",
|
||||||
"The X post is unavailable or cannot be embedded.": "Le post X est indisponible ou ne peut pas être intégré.",
|
"The X post is unavailable or cannot be embedded.": "Le post X est indisponible ou ne peut pas être intégré.",
|
||||||
"X POST · PROVIDER CONTROLS": "POST X · COMMANDES DU FOURNISSEUR",
|
"X POST · PROVIDER CONTROLS": "POST X · COMMANDES DU FOURNISSEUR",
|
||||||
"{reason} OPEN ORIGINAL.": "{reason} OUVREZ L'ORIGINAL.",
|
"{reason} OPEN ORIGINAL.": "{reason} OUVRIR L'ORIGINAL.",
|
||||||
"X embed unavailable": "Intégration X indisponible",
|
"X embed unavailable": "Intégration X indisponible",
|
||||||
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · COMMANDES DU FOURNISSEUR",
|
"FACEBOOK · PROVIDER CONTROLS": "FACEBOOK · COMMANDES DU FOURNISSEUR",
|
||||||
"Facebook embed unavailable": "Intégration Facebook indisponible",
|
"Facebook embed unavailable": "Intégration Facebook indisponible",
|
||||||
"AUTOPLAY BLOCKED · USE PROVIDER CONTROLS": "LECTURE AUTO BLOQUÉE · UTILISEZ LES COMMANDES DU FOURNISSEUR",
|
"AUTOPLAY BLOCKED · USE PROVIDER CONTROLS": "LECTURE AUTO BLOQUÉE · UTILISER LES COMMANDES DU FOURNISSEUR",
|
||||||
"Embedded {provider} media for {source}": "Média {provider} intégré pour {source}",
|
"Embedded {provider} media for {source}": "Média {provider} intégré pour {source}",
|
||||||
"witness source": "source témoin",
|
"witness source": "source témoin",
|
||||||
"Witness source": "Source témoin",
|
"Witness source": "Source témoin",
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"{provider} · PROVIDER CONTROLS": "{provider} · COMMANDES DU FOURNISSEUR",
|
"{provider} · PROVIDER CONTROLS": "{provider} · COMMANDES DU FOURNISSEUR",
|
||||||
"YOUTUBE {state} · OPEN ORIGINAL": "YOUTUBE {state} · OUVRIR L'ORIGINAL",
|
"YOUTUBE {state} · OPEN ORIGINAL": "YOUTUBE {state} · OUVRIR L'ORIGINAL",
|
||||||
"INITIATION": "DÉCLENCHEMENT",
|
"INITIATION": "DÉCLENCHEMENT",
|
||||||
"DAMMING": "OBSTRUCTION",
|
"DAMMING": "BARRAGE",
|
||||||
"SECONDARY FAILURE": "RUPTURE SECONDAIRE",
|
"SECONDARY FAILURE": "RUPTURE SECONDAIRE",
|
||||||
"BORDER ARRIVAL": "ARRIVÉE À LA FRONTIÈRE",
|
"BORDER ARRIVAL": "ARRIVÉE À LA FRONTIÈRE",
|
||||||
"PROPAGATION": "PROPAGATION",
|
"PROPAGATION": "PROPAGATION",
|
||||||
@@ -293,7 +293,7 @@
|
|||||||
"HIGH-SPEED": "GRANDE VITESSE",
|
"HIGH-SPEED": "GRANDE VITESSE",
|
||||||
"PASSENGER": "PASSAGERS",
|
"PASSENGER": "PASSAGERS",
|
||||||
"CARGO": "CARGO",
|
"CARGO": "CARGO",
|
||||||
"TANKER": "PÉTROLIER",
|
"TANKER": "NAVIRE-CITERNE",
|
||||||
"OTHER": "AUTRE",
|
"OTHER": "AUTRE",
|
||||||
"Included in bundle": "Inclus dans l'archive",
|
"Included in bundle": "Inclus dans l'archive",
|
||||||
"Missing bundle file — reimport its bundle": "Fichier absent de l'archive — réimportez son archive",
|
"Missing bundle file — reimport its bundle": "Fichier absent de l'archive — réimportez son archive",
|
||||||
@@ -393,7 +393,7 @@
|
|||||||
"Optional paid token — public access works without one": "Jeton payant facultatif — l'accès public fonctionne sans",
|
"Optional paid token — public access works without one": "Jeton payant facultatif — l'accès public fonctionne sans",
|
||||||
"Free key — register, paste, done": "Clé gratuite — inscrivez-vous, collez-la, c'est tout",
|
"Free key — register, paste, done": "Clé gratuite — inscrivez-vous, collez-la, c'est tout",
|
||||||
"browser-side": "côté navigateur",
|
"browser-side": "côté navigateur",
|
||||||
"This key runs in the browser by design — restrict it at the provider (see SECURITY.md)": "Cette clé s'exécute dans le navigateur par conception — restreignez-la chez le fournisseur (voir SECURITY.md)",
|
"This key runs in the browser by design — restrict it at the provider (see SECURITY.md)": "Cette clé est conçue pour être utilisée dans le navigateur — restreignez son usage chez le fournisseur (voir SECURITY.md)",
|
||||||
"configured externally": "configurée ailleurs",
|
"configured externally": "configurée ailleurs",
|
||||||
"Supplied by your environment, Keychain, or launcher — change it where it was set": "Fournie par votre environnement, le Trousseau ou le lanceur — modifiez-la là où elle a été définie",
|
"Supplied by your environment, Keychain, or launcher — change it where it was set": "Fournie par votre environnement, le Trousseau ou le lanceur — modifiez-la là où elle a été définie",
|
||||||
"MANAGE ↗": "GÉRER ↗",
|
"MANAGE ↗": "GÉRER ↗",
|
||||||
@@ -464,14 +464,14 @@
|
|||||||
"Camera badges": "Badges de caméras",
|
"Camera badges": "Badges de caméras",
|
||||||
"Cyan cameras turn coral when selected. Wedges illustrate mapped direction, not measured coverage. Nearby cameras may be outside the screen.": "Les caméras cyan deviennent corail une fois sélectionnées. Les secteurs illustrent l'orientation cartographiée, pas une couverture mesurée. Des caméras proches peuvent être hors de l'écran.",
|
"Cyan cameras turn coral when selected. Wedges illustrate mapped direction, not measured coverage. Nearby cameras may be outside the screen.": "Les caméras cyan deviennent corail une fois sélectionnées. Les secteurs illustrent l'orientation cartographiée, pas une couverture mesurée. Des caméras proches peuvent être hors de l'écran.",
|
||||||
"{count} nearby · {onScreen} on screen": {
|
"{count} nearby · {onScreen} on screen": {
|
||||||
"one": "{count} proche · {onScreen} à l'écran",
|
"one": "{count} à proximité · {onScreen} à l'écran",
|
||||||
"many": "{count} de caméras proches · {onScreen} à l'écran",
|
"many": "{count} à proximité · {onScreen} à l'écran",
|
||||||
"other": "{count} proches · {onScreen} à l'écran"
|
"other": "{count} à proximité · {onScreen} à l'écran"
|
||||||
},
|
},
|
||||||
"{count} nearby": {
|
"{count} nearby": {
|
||||||
"one": "{count} proche",
|
"one": "{count} à proximité",
|
||||||
"many": "{count} de caméras proches",
|
"many": "{count} à proximité",
|
||||||
"other": "{count} proches"
|
"other": "{count} à proximité"
|
||||||
},
|
},
|
||||||
"retrying mapped ALPR cameras": "nouvel essai des caméras LAPI cartographiées",
|
"retrying mapped ALPR cameras": "nouvel essai des caméras LAPI cartographiées",
|
||||||
"loading mapped ALPR cameras": "chargement des caméras LAPI cartographiées",
|
"loading mapped ALPR cameras": "chargement des caméras LAPI cartographiées",
|
||||||
@@ -489,7 +489,7 @@
|
|||||||
"CONTEXT READY": "CONTEXTE PRÊT",
|
"CONTEXT READY": "CONTEXTE PRÊT",
|
||||||
"GLOBAL CONTEXT OFF": "CONTEXTE GLOBAL OFF",
|
"GLOBAL CONTEXT OFF": "CONTEXTE GLOBAL OFF",
|
||||||
"SELECT A FLIGHT, VESSEL, OR MAPPED INSTALLATION": "CHOISIR UN VOL, UN NAVIRE OU UNE INSTALLATION CARTOGRAPHIÉE",
|
"SELECT A FLIGHT, VESSEL, OR MAPPED INSTALLATION": "CHOISIR UN VOL, UN NAVIRE OU UNE INSTALLATION CARTOGRAPHIÉE",
|
||||||
"ENABLE TO LOAD OBSERVED / MAPPED PROXIMITY": "ACTIVER POUR CHARGER LA PROXIMITÉ OBSERVÉE / CARTOGRAPHIÉE",
|
"ENABLE TO LOAD OBSERVED / MAPPED PROXIMITY": "ACTIVER POUR VOIR LES CONTACTS PROCHES OBSERVÉS / CARTOGRAPHIÉS",
|
||||||
"Unavailable": "Indisponible",
|
"Unavailable": "Indisponible",
|
||||||
"Focus {label}": "Centrer sur {label}",
|
"Focus {label}": "Centrer sur {label}",
|
||||||
"Global Context navigation": "Navigation du Contexte global",
|
"Global Context navigation": "Navigation du Contexte global",
|
||||||
@@ -561,9 +561,9 @@
|
|||||||
"many": "{count} de cyclones actifs",
|
"many": "{count} de cyclones actifs",
|
||||||
"other": "{count} cyclones actifs"
|
"other": "{count} cyclones actifs"
|
||||||
},
|
},
|
||||||
"Position as of {time}": "Position à {time}",
|
"Position as of {time}": "Position au {time}",
|
||||||
"Maximum sustained wind: {wind} · Pressure: {pressure}": "Vent maximal soutenu : {wind} · Pression : {pressure}",
|
"Maximum sustained wind: {wind} · Pressure: {pressure}": "Vent maximal soutenu : {wind} · Pression : {pressure}",
|
||||||
"{name} · {classification} · Advisory {number} · issued {time}": "{name} · {classification} · Bulletin {number} · émis à {time}",
|
"{name} · {classification} · Advisory {number} · issued {time}": "{name} · {classification} · Bulletin {number} · émis le {time}",
|
||||||
"No active NHC/CPHC systems": "Aucun système actif NHC/CPHC",
|
"No active NHC/CPHC systems": "Aucun système actif NHC/CPHC",
|
||||||
"Advisories unavailable": "Bulletins indisponibles",
|
"Advisories unavailable": "Bulletins indisponibles",
|
||||||
"Cyclones · NHC / CPHC": "Cyclones · NHC / CPHC",
|
"Cyclones · NHC / CPHC": "Cyclones · NHC / CPHC",
|
||||||
@@ -610,7 +610,7 @@
|
|||||||
"lane direction|slightly right": "de droite",
|
"lane direction|slightly right": "de droite",
|
||||||
"lane direction|sharply left": "la plus à gauche",
|
"lane direction|sharply left": "la plus à gauche",
|
||||||
"lane direction|sharply right": "la plus à droite",
|
"lane direction|sharply right": "la plus à droite",
|
||||||
"lane direction|straight": "centrale",
|
"lane direction|straight": "qui va tout droit",
|
||||||
"ordinal|{number}st": "{number}re",
|
"ordinal|{number}st": "{number}re",
|
||||||
"ordinal|{number}nd": "{number}e",
|
"ordinal|{number}nd": "{number}e",
|
||||||
"ordinal|{number}rd": "{number}e",
|
"ordinal|{number}rd": "{number}e",
|
||||||
@@ -669,7 +669,7 @@
|
|||||||
"Continue onto {road}": "Continuez sur {road}",
|
"Continue onto {road}": "Continuez sur {road}",
|
||||||
"maneuver|Continue": "Continuez",
|
"maneuver|Continue": "Continuez",
|
||||||
"{mode} — reroute for {modeLower}": "{mode} — recalculer l'itinéraire : {modeLower}",
|
"{mode} — reroute for {modeLower}": "{mode} — recalculer l'itinéraire : {modeLower}",
|
||||||
"CLICK MAP": "CLIQUEZ LA CARTE",
|
"CLICK MAP": "CLIQUER SUR LA CARTE",
|
||||||
"SET A": "PLACER A",
|
"SET A": "PLACER A",
|
||||||
"Click a spot on the globe to place A (click again to cancel)": "Cliquez sur un point du globe pour placer A (cliquez à nouveau pour annuler)",
|
"Click a spot on the globe to place A (click again to cancel)": "Cliquez sur un point du globe pour placer A (cliquez à nouveau pour annuler)",
|
||||||
"Then click the globe to place the start": "Puis cliquez sur le globe pour placer le départ",
|
"Then click the globe to place the start": "Puis cliquez sur le globe pour placer le départ",
|
||||||
@@ -716,7 +716,7 @@
|
|||||||
"FIRE": "FEU",
|
"FIRE": "FEU",
|
||||||
"FIRES": "FEUX",
|
"FIRES": "FEUX",
|
||||||
"max {value} MW": "max {value} MW",
|
"max {value} MW": "max {value} MW",
|
||||||
"new {value}": "nouveau {value}",
|
"new {value}": "dernier il y a {value}",
|
||||||
"{value}°N": "{value}°N",
|
"{value}°N": "{value}°N",
|
||||||
"{value}°S": "{value}°S",
|
"{value}°S": "{value}°S",
|
||||||
"{value}°E": "{value}°E",
|
"{value}°E": "{value}°E",
|
||||||
@@ -742,7 +742,7 @@
|
|||||||
"Kinetic 30d": "Cinétique 30 j",
|
"Kinetic 30d": "Cinétique 30 j",
|
||||||
"Border Crisis": "Crise frontalière",
|
"Border Crisis": "Crise frontalière",
|
||||||
"Iran Picture": "Situation Iran",
|
"Iran Picture": "Situation Iran",
|
||||||
"Iran Kinetic": "Iran cinétique",
|
"Iran Kinetic": "Cinétique Iran",
|
||||||
"Yemen FLOT": "FLOT Yémen",
|
"Yemen FLOT": "FLOT Yémen",
|
||||||
"Latest Drop": "Dernière publication",
|
"Latest Drop": "Dernière publication",
|
||||||
"GhostMaps file could not be read": "Impossible de lire le fichier GhostMaps",
|
"GhostMaps file could not be read": "Impossible de lire le fichier GhostMaps",
|
||||||
@@ -817,7 +817,7 @@
|
|||||||
"UNSPECIFIED": "NON PRÉCISÉ",
|
"UNSPECIFIED": "NON PRÉCISÉ",
|
||||||
"+{count} additional payload records": "+{count} enregistrements de charge utile supplémentaires",
|
"+{count} additional payload records": "+{count} enregistrements de charge utile supplémentaires",
|
||||||
"PAYLOAD DATA UNAVAILABLE": "DONNÉES DE CHARGE UTILE INDISPONIBLES",
|
"PAYLOAD DATA UNAVAILABLE": "DONNÉES DE CHARGE UTILE INDISPONIBLES",
|
||||||
"{value} KM DOWNRANGE": "{value} KM PARCOURUS",
|
"{value} KM DOWNRANGE": "DIST. SOL : {value} KM",
|
||||||
"POSITION UNAVAILABLE": "POSITION INDISPONIBLE",
|
"POSITION UNAVAILABLE": "POSITION INDISPONIBLE",
|
||||||
"FLIGHT {count}": "VOL {count}",
|
"FLIGHT {count}": "VOL {count}",
|
||||||
"REUSED": "RÉUTILISÉ",
|
"REUSED": "RÉUTILISÉ",
|
||||||
@@ -858,7 +858,7 @@
|
|||||||
"SHOW ALL / DESELECT": "TOUT AFFICHER / DÉSÉLECTIONNER",
|
"SHOW ALL / DESELECT": "TOUT AFFICHER / DÉSÉLECTIONNER",
|
||||||
"Pause replay": "Mettre le rejeu en pause",
|
"Pause replay": "Mettre le rejeu en pause",
|
||||||
"Cancel replay": "Annuler le rejeu",
|
"Cancel replay": "Annuler le rejeu",
|
||||||
"EST. DOWNRANGE": "DIST. ESTIMÉE",
|
"EST. DOWNRANGE": "DIST. SOL ESTIMÉE",
|
||||||
"PLANNED · ": "PRÉVU · ",
|
"PLANNED · ": "PRÉVU · ",
|
||||||
"SUPPLIED TRAJECTORY POINTS": "POINTS DE TRAJECTOIRE FOURNIS",
|
"SUPPLIED TRAJECTORY POINTS": "POINTS DE TRAJECTOIRE FOURNIS",
|
||||||
"RECONSTRUCTED ESTIMATE": "ESTIMATION RECONSTITUÉE",
|
"RECONSTRUCTED ESTIMATE": "ESTIMATION RECONSTITUÉE",
|
||||||
@@ -921,8 +921,8 @@
|
|||||||
"many": "{acres} d'acres",
|
"many": "{acres} d'acres",
|
||||||
"other": "{acres} acres"
|
"other": "{acres} acres"
|
||||||
},
|
},
|
||||||
"{percent}% contained": "maîtrisé à {percent} %",
|
"{percent}% contained": "circonscrit à {percent} %",
|
||||||
"containment unknown": "maîtrise inconnue",
|
"containment unknown": "part circonscrite inconnue",
|
||||||
"{cause} cause": "cause : {cause}",
|
"{cause} cause": "cause : {cause}",
|
||||||
"{personnel} personnel": {
|
"{personnel} personnel": {
|
||||||
"one": "{personnel} intervenant",
|
"one": "{personnel} intervenant",
|
||||||
@@ -939,11 +939,11 @@
|
|||||||
"Unnamed incident": "Incident sans nom",
|
"Unnamed incident": "Incident sans nom",
|
||||||
"Open {title} on InciWeb": "Ouvrir {title} sur InciWeb",
|
"Open {title} on InciWeb": "Ouvrir {title} sur InciWeb",
|
||||||
"Perimeter source unavailable": "Source des périmètres indisponible",
|
"Perimeter source unavailable": "Source des périmètres indisponible",
|
||||||
"Not contained or unknown": "Non maîtrisé ou inconnu",
|
"Not contained or unknown": "Non circonscrit ou inconnu",
|
||||||
"Under 50% contained": "Maîtrisé à moins de 50 %",
|
"Under 50% contained": "Circonscrit à moins de 50 %",
|
||||||
"50–99% contained": "Maîtrisé à 50–99 %",
|
"50–99% contained": "Circonscrit à 50–99 %",
|
||||||
"Fully contained": "Entièrement maîtrisé",
|
"Fully contained": "Entièrement circonscrit",
|
||||||
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "La couleur indique le niveau de maîtrise signalé. Les périmètres sont simplifiés à environ 100 m.",
|
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "La couleur indique la part du périmètre déclarée circonscrite. Les périmètres sont simplifiés à environ 100 m.",
|
||||||
"Malformed perimeter snapshot": "Instantané des périmètres mal formé",
|
"Malformed perimeter snapshot": "Instantané des périmètres mal formé",
|
||||||
"radio tag|All": "Toutes",
|
"radio tag|All": "Toutes",
|
||||||
"News": "Actualités",
|
"News": "Actualités",
|
||||||
@@ -1125,8 +1125,8 @@
|
|||||||
"OpenFreeMap tiles timed out": "Délai dépassé pour les tuiles OpenFreeMap",
|
"OpenFreeMap tiles timed out": "Délai dépassé pour les tuiles OpenFreeMap",
|
||||||
"OpenFreeMap tiles unavailable": "Tuiles OpenFreeMap indisponibles",
|
"OpenFreeMap tiles unavailable": "Tuiles OpenFreeMap indisponibles",
|
||||||
"occupancy|empty": "vide",
|
"occupancy|empty": "vide",
|
||||||
"occupancy|many seats available": "nombreuses places assises",
|
"occupancy|many seats available": "nombreuses places assises libres",
|
||||||
"occupancy|few seats available": "peu de places assises",
|
"occupancy|few seats available": "peu de places assises libres",
|
||||||
"occupancy|standing room only": "places debout seulement",
|
"occupancy|standing room only": "places debout seulement",
|
||||||
"occupancy|crushed standing room only": "bondé, places debout seulement",
|
"occupancy|crushed standing room only": "bondé, places debout seulement",
|
||||||
"occupancy|full": "complet",
|
"occupancy|full": "complet",
|
||||||
@@ -1184,7 +1184,7 @@
|
|||||||
"Hidden by this map source · choose a globe map": "Masqué avec cette source de carte · choisissez une carte du globe",
|
"Hidden by this map source · choose a globe map": "Masqué avec cette source de carte · choisissez une carte du globe",
|
||||||
"Weather image HTTP {status}": "Image météo : HTTP {status}",
|
"Weather image HTTP {status}": "Image météo : HTTP {status}",
|
||||||
"Weather HTTP {status}": "Météo : HTTP {status}",
|
"Weather HTTP {status}": "Météo : HTTP {status}",
|
||||||
"Frame unavailable; previous observation retained": "Image indisponible ; observation précédente conservée",
|
"Frame unavailable; previous observation retained": "Image indisponible ; précédente conservée",
|
||||||
"Weather imagery unavailable": "Imagerie météo indisponible",
|
"Weather imagery unavailable": "Imagerie météo indisponible",
|
||||||
"Weather source unavailable; previous observation retained": "Source météo indisponible ; observation précédente conservée",
|
"Weather source unavailable; previous observation retained": "Source météo indisponible ; observation précédente conservée",
|
||||||
"Weather unavailable": "Météo indisponible",
|
"Weather unavailable": "Météo indisponible",
|
||||||
@@ -1217,7 +1217,7 @@
|
|||||||
"Reduced motion · manual history available": "Animations réduites · historique parcourable manuellement",
|
"Reduced motion · manual history available": "Animations réduites · historique parcourable manuellement",
|
||||||
"Rain radar · US": "Radar de pluie · États-Unis",
|
"Rain radar · US": "Radar de pluie · États-Unis",
|
||||||
"Lightning density · 15 min": "Densité de foudre · 15 min",
|
"Lightning density · 15 min": "Densité de foudre · 15 min",
|
||||||
"Satellite clouds": "Nuages satellite",
|
"Satellite clouds": "Nuages par satellite",
|
||||||
"Americas + Pacific": "Amériques + Pacifique",
|
"Americas + Pacific": "Amériques + Pacifique",
|
||||||
"Global · 60°S–60°N": "Monde · 60°S–60°N",
|
"Global · 60°S–60°N": "Monde · 60°S–60°N",
|
||||||
"North America": "Amérique du Nord",
|
"North America": "Amérique du Nord",
|
||||||
@@ -1231,11 +1231,11 @@
|
|||||||
"Hourly global mosaic; usually 2–3 hours delayed": "Mosaïque mondiale horaire ; retard habituel de 2 à 3 heures",
|
"Hourly global mosaic; usually 2–3 hours delayed": "Mosaïque mondiale horaire ; retard habituel de 2 à 3 heures",
|
||||||
"GOES regional clouds; approximately 5-minute updates": "Nuages régionaux GOES ; mise à jour toutes les 5 minutes environ",
|
"GOES regional clouds; approximately 5-minute updates": "Nuages régionaux GOES ; mise à jour toutes les 5 minutes environ",
|
||||||
"Clouds only": "Nuages seuls",
|
"Clouds only": "Nuages seuls",
|
||||||
"Apply the full cloud brightness key; 100% filter strength": "Appliquer toute la clé de luminosité des nuages ; intensité du filtre 100 %",
|
"Apply the full cloud brightness key; 100% filter strength": "Appliquer pleinement le filtre de luminosité des nuages ; intensité du filtre 100 %",
|
||||||
"Full": "Complète",
|
"Full": "Complète",
|
||||||
"Show the complete infrared image; 0% filter strength": "Afficher l'image infrarouge complète ; intensité du filtre 0 %",
|
"Show the complete infrared image; 0% filter strength": "Afficher l'image infrarouge complète ; intensité du filtre 0 %",
|
||||||
"Soft": "Douce",
|
"Soft": "Faible",
|
||||||
"Vivid": "Vive",
|
"Vivid": "Forte",
|
||||||
"Image opacity; does not alter the observed values": "Opacité de l'image ; ne modifie pas les valeurs observées",
|
"Image opacity; does not alter the observed values": "Opacité de l'image ; ne modifie pas les valeurs observées",
|
||||||
"View US radar": "Voir le radar des États-Unis",
|
"View US radar": "Voir le radar des États-Unis",
|
||||||
"View Americas & Pacific": "Voir Amériques et Pacifique",
|
"View Americas & Pacific": "Voir Amériques et Pacifique",
|
||||||
@@ -1325,7 +1325,7 @@
|
|||||||
"A location reading needs a loaded forecast and the Earth at the center of the view.": "Une lecture ponctuelle nécessite une prévision chargée et la Terre au centre de la vue.",
|
"A location reading needs a loaded forecast and the Earth at the center of the view.": "Une lecture ponctuelle nécessite une prévision chargée et la Terre au centre de la vue.",
|
||||||
"Interpolated model forecast on an approximately 1° grid. Broad weather patterns, not a street-level measurement.": "Prévision de modèle interpolée sur une grille d'environ 1°. Tendances météo générales, pas une mesure à l'échelle de la rue.",
|
"Interpolated model forecast on an approximately 1° grid. Broad weather patterns, not a street-level measurement.": "Prévision de modèle interpolée sur une grille d'environ 1°. Tendances météo générales, pas une mesure à l'échelle de la rue.",
|
||||||
" · calm": " · calme",
|
" · calm": " · calme",
|
||||||
" from {direction}": " de {direction}",
|
" from {direction}": " · secteur {direction}",
|
||||||
"WIND AT {coordinates}": "VENT À {coordinates}",
|
"WIND AT {coordinates}": "VENT À {coordinates}",
|
||||||
"{model} · valid {time}": "{model} · valide {time}",
|
"{model} · valid {time}": "{model} · valide {time}",
|
||||||
"Wind speed field unavailable": "Champ de vitesse du vent indisponible",
|
"Wind speed field unavailable": "Champ de vitesse du vent indisponible",
|
||||||
@@ -1428,7 +1428,7 @@
|
|||||||
"Upper Valley Collapse": "Effondrement dans la haute vallée",
|
"Upper Valley Collapse": "Effondrement dans la haute vallée",
|
||||||
"Debris-Dammed Lake": "Lac de barrage formé par les débris",
|
"Debris-Dammed Lake": "Lac de barrage formé par les débris",
|
||||||
"Nepal-China Border Gate": "Poste frontière Népal-Chine",
|
"Nepal-China Border Gate": "Poste frontière Népal-Chine",
|
||||||
"Timure Evidence Cluster": "Groupe d'éléments de preuve de Timure",
|
"Timure Evidence Cluster": "Groupe de preuves de Timure",
|
||||||
"Syabru Besi Passage": "Passage à Syabru Besi",
|
"Syabru Besi Passage": "Passage à Syabru Besi",
|
||||||
"Bidur / Trishuli Consequence": "Conséquences à Bidur / Trishuli",
|
"Bidur / Trishuli Consequence": "Conséquences à Bidur / Trishuli",
|
||||||
"Final view": "Vue finale",
|
"Final view": "Vue finale",
|
||||||
@@ -1597,14 +1597,14 @@
|
|||||||
"FRAME · UNAVAILABLE": "IMAGE · INDISPONIBLE",
|
"FRAME · UNAVAILABLE": "IMAGE · INDISPONIBLE",
|
||||||
"CALIBRATED": "CALIBRÉE",
|
"CALIBRATED": "CALIBRÉE",
|
||||||
"CURATED": "SÉLECTIONNÉE",
|
"CURATED": "SÉLECTIONNÉE",
|
||||||
"RAW PRIOR": "VALEUR BRUTE",
|
"RAW PRIOR": "ESTIM. INITIALE",
|
||||||
"CCTV ON": "CCTV ON",
|
"CCTV ON": "CCTV ON",
|
||||||
"CCTV OFF": "CCTV OFF",
|
"CCTV OFF": "CCTV OFF",
|
||||||
"VIEWSHED ON": "ZONE VISIBLE ON",
|
"VIEWSHED ON": "ZONE VISIBLE ON",
|
||||||
"COVERAGE ON": "COUVERTURE ON",
|
"COVERAGE ON": "COUVERTURE ON",
|
||||||
"COVERAGE OFF": "COUVERTURE OFF",
|
"COVERAGE OFF": "COUVERTURE OFF",
|
||||||
"AUTO HOP ON": "AUTO-SAUT ON",
|
"AUTO HOP ON": "SAUT AUTO ON",
|
||||||
"AUTO HOP OFF": "AUTO-SAUT OFF",
|
"AUTO HOP OFF": "SAUT AUTO OFF",
|
||||||
"PROJECTION ON": "PROJECTION ON",
|
"PROJECTION ON": "PROJECTION ON",
|
||||||
"PROJECTION OFF": "PROJECTION OFF",
|
"PROJECTION OFF": "PROJECTION OFF",
|
||||||
"CAL · EDITED (UNSAVED)": "CAL · MODIFIÉE (NON ENREGISTRÉE)",
|
"CAL · EDITED (UNSAVED)": "CAL · MODIFIÉE (NON ENREGISTRÉE)",
|
||||||
@@ -1622,7 +1622,7 @@
|
|||||||
"many": "{count} de caméras chargées · activer CCTV pour les utiliser",
|
"many": "{count} de caméras chargées · activer CCTV pour les utiliser",
|
||||||
"other": "{count} caméras chargées · activer CCTV pour les utiliser"
|
"other": "{count} caméras chargées · activer CCTV pour les utiliser"
|
||||||
},
|
},
|
||||||
"Enable CCTV to load camera intersections": "Activez CCTV pour charger les intersections de caméras",
|
"Enable CCTV to load camera intersections": "Activez CCTV pour charger les carrefours équipés de caméras",
|
||||||
"Enable CCTV to start camera-linked intelligence summaries.": "Activez CCTV pour lancer les résumés de renseignement liés aux caméras.",
|
"Enable CCTV to start camera-linked intelligence summaries.": "Activez CCTV pour lancer les résumés de renseignement liés aux caméras.",
|
||||||
"No summary available.": "Aucun résumé disponible.",
|
"No summary available.": "Aucun résumé disponible.",
|
||||||
"loading frames": "chargement des images",
|
"loading frames": "chargement des images",
|
||||||
@@ -1648,7 +1648,7 @@
|
|||||||
"REGIONAL NEWS UNAVAILABLE": "ACTUS RÉGIONALES INDISPONIBLES",
|
"REGIONAL NEWS UNAVAILABLE": "ACTUS RÉGIONALES INDISPONIBLES",
|
||||||
"RESOLVING REGION": "RÉSOLUTION DE LA RÉGION",
|
"RESOLVING REGION": "RÉSOLUTION DE LA RÉGION",
|
||||||
"REGION UNAVAILABLE": "RÉGION INDISPONIBLE",
|
"REGION UNAVAILABLE": "RÉGION INDISPONIBLE",
|
||||||
"NO RECENT LOCATION MATCHES": "AUCUNE CORRESPONDANCE RÉCENTE AU LIEU",
|
"NO RECENT LOCATION MATCHES": "AUCUNE ACTU RÉCENTE POUR CE LIEU",
|
||||||
"{domain} · {age}": "{domain} · {age}",
|
"{domain} · {age}": "{domain} · {age}",
|
||||||
"{value} KM/H": "{value} KM/H",
|
"{value} KM/H": "{value} KM/H",
|
||||||
"CLOUD {pct}%": "NUAGES {pct} %",
|
"CLOUD {pct}%": "NUAGES {pct} %",
|
||||||
@@ -1685,7 +1685,7 @@
|
|||||||
"LIVE TRACK": "PISTE EN DIRECT",
|
"LIVE TRACK": "PISTE EN DIRECT",
|
||||||
"COMMERCIAL": "COMMERCIAL",
|
"COMMERCIAL": "COMMERCIAL",
|
||||||
"{aircraftClass} · {emergency} · {feedState}": "{aircraftClass} · {emergency} · {feedState}",
|
"{aircraftClass} · {emergency} · {feedState}": "{aircraftClass} · {emergency} · {feedState}",
|
||||||
"{aircraftClass} · {feedState} · COURSE ALIGNED": "{aircraftClass} · {feedState} · CAP ALIGNÉ",
|
"{aircraftClass} · {feedState} · COURSE ALIGNED": "{aircraftClass} · {feedState} · ALIGNÉ SUR LA ROUTE",
|
||||||
"ARROW · ESTIMATED DIRECTION": "FLÈCHE · DIRECTION ESTIMÉE",
|
"ARROW · ESTIMATED DIRECTION": "FLÈCHE · DIRECTION ESTIMÉE",
|
||||||
"ROUTE DATA UNAVAILABLE": "DONNÉES DE ROUTE INDISPONIBLES",
|
"ROUTE DATA UNAVAILABLE": "DONNÉES DE ROUTE INDISPONIBLES",
|
||||||
"DEST {bearing}": "DEST {bearing}",
|
"DEST {bearing}": "DEST {bearing}",
|
||||||
@@ -1710,7 +1710,7 @@
|
|||||||
"Expand briefing panel": "Développer le panneau de briefing",
|
"Expand briefing panel": "Développer le panneau de briefing",
|
||||||
"OBSERVED / MAPPED PINGS": "PINGS OBSERVÉS / CARTOGRAPHIÉS",
|
"OBSERVED / MAPPED PINGS": "PINGS OBSERVÉS / CARTOGRAPHIÉS",
|
||||||
"SOURCE-BACKED EVENTS · NO SYNTHETIC NEWS": "ÉVÉNEMENTS SOURCÉS · AUCUNE ACTU SYNTHÉTIQUE",
|
"SOURCE-BACKED EVENTS · NO SYNTHETIC NEWS": "ÉVÉNEMENTS SOURCÉS · AUCUNE ACTU SYNTHÉTIQUE",
|
||||||
"LATEST LOCATION-MATCHED REPORTING": "DERNIERS REPORTAGES SELON LE LIEU",
|
"LATEST LOCATION-MATCHED REPORTING": "DERNIÈRES ACTUS LIÉES AU LIEU",
|
||||||
"{source} · LOCATION QUERY · RECENT": "{source} · REQUÊTE DE LIEU · RÉCENT",
|
"{source} · LOCATION QUERY · RECENT": "{source} · REQUÊTE DE LIEU · RÉCENT",
|
||||||
"LOCAL INFO": "INFOS LOCALES",
|
"LOCAL INFO": "INFOS LOCALES",
|
||||||
"PLACE / CONDITIONS / POSITION": "LIEU / CONDITIONS / POSITION",
|
"PLACE / CONDITIONS / POSITION": "LIEU / CONDITIONS / POSITION",
|
||||||
@@ -1734,7 +1734,7 @@
|
|||||||
"Restore real aircraft": "Restaurer l'aéronef réel",
|
"Restore real aircraft": "Restaurer l'aéronef réel",
|
||||||
"Reclassify as TR-3B": "Reclasser en TR-3B",
|
"Reclassify as TR-3B": "Reclasser en TR-3B",
|
||||||
"TRACK ACQUIRED": "PISTE ACQUISE",
|
"TRACK ACQUIRED": "PISTE ACQUISE",
|
||||||
"{label} · COURSE {heading}°": "{label} · CAP {heading}°",
|
"{label} · COURSE {heading}°": "{label} · ROUTE {heading}°",
|
||||||
"Context could not restore every layer; try again": "Le contexte n'a pas pu restaurer toutes les couches ; réessayez",
|
"Context could not restore every layer; try again": "Le contexte n'a pas pu restaurer toutes les couches ; réessayez",
|
||||||
"No selected data layers": "Aucune couche de données sélectionnée",
|
"No selected data layers": "Aucune couche de données sélectionnée",
|
||||||
"{count} data layers could not be cleared": {
|
"{count} data layers could not be cleared": {
|
||||||
@@ -1843,7 +1843,7 @@
|
|||||||
"Utilities": "Outils",
|
"Utilities": "Outils",
|
||||||
"Other layers": "Autres couches",
|
"Other layers": "Autres couches",
|
||||||
"{state} · {source}": "{state} · {source}",
|
"{state} · {source}": "{state} · {source}",
|
||||||
"UNCERTAIN · {source} · lifecycle state requires reconciliation": "INCERTAIN · {source} · état du cycle de vie à réconcilier",
|
"UNCERTAIN · {source} · lifecycle state requires reconciliation": "INCERTAIN · {source} · état à rétablir",
|
||||||
"{state} · {source} · {detail} · retry {seconds}s": "{state} · {source} · {detail} · nouvel essai {seconds} s",
|
"{state} · {source} · {detail} · retry {seconds}s": "{state} · {source} · {detail} · nouvel essai {seconds} s",
|
||||||
"{state} · {source} · {detail}": "{state} · {source} · {detail}",
|
"{state} · {source} · {detail}": "{state} · {source} · {detail}",
|
||||||
"never": "jamais",
|
"never": "jamais",
|
||||||
@@ -1960,10 +1960,10 @@
|
|||||||
"Close compact Radio controls": "Fermer les commandes Radio compactes",
|
"Close compact Radio controls": "Fermer les commandes Radio compactes",
|
||||||
"Open compact Radio controls": "Ouvrir les commandes Radio compactes",
|
"Open compact Radio controls": "Ouvrir les commandes Radio compactes",
|
||||||
"SYNC": "SYNCHRO",
|
"SYNC": "SYNCHRO",
|
||||||
"RECONCILE": "RÉCONCILIER",
|
"RECONCILE": "RÉTABLIR",
|
||||||
"DISABLE": "DÉSACTIVER",
|
"DISABLE": "DÉSACTIVER",
|
||||||
"ENABLE": "ACTIVER",
|
"ENABLE": "ACTIVER",
|
||||||
"Reconcile Radio — lifecycle uncertain": "Réconcilier la Radio — cycle de vie incertain",
|
"Reconcile Radio — lifecycle uncertain": "Rétablir la Radio — état incertain",
|
||||||
"Disable Radio": "Désactiver la Radio",
|
"Disable Radio": "Désactiver la Radio",
|
||||||
"Enable Radio": "Activer la Radio",
|
"Enable Radio": "Activer la Radio",
|
||||||
"{category} ({count})": "{category} ({count})",
|
"{category} ({count})": "{category} ({count})",
|
||||||
@@ -2001,18 +2001,18 @@
|
|||||||
" · muted during voice interaction": " · coupé pendant l'interaction vocale",
|
" · muted during voice interaction": " · coupé pendant l'interaction vocale",
|
||||||
" · restoring volume after voice": " · rétablissement du volume après la voix",
|
" · restoring volume after voice": " · rétablissement du volume après la voix",
|
||||||
" · static indicates no broadcaster audio": " · le grésillement indique l'absence de flux du diffuseur",
|
" · static indicates no broadcaster audio": " · le grésillement indique l'absence de flux du diffuseur",
|
||||||
" · tuning static until broadcaster starts": " · grésillement de syntonisation jusqu'au démarrage du diffuseur",
|
" · tuning static until broadcaster starts": " · grésillement pendant le réglage, jusqu'au début de la diffusion",
|
||||||
"Station unavailable after directory refresh — choose another channel": "Station indisponible après l'actualisation de l'annuaire — choisissez un autre canal",
|
"Station unavailable after directory refresh — choose another channel": "Station indisponible après l'actualisation de l'annuaire — choisissez un autre canal",
|
||||||
"Radio is enabling…": "Activation de la Radio…",
|
"Radio is enabling…": "Activation de la Radio…",
|
||||||
"Radio is disabling…": "Désactivation de la Radio…",
|
"Radio is disabling…": "Désactivation de la Radio…",
|
||||||
"Radio lifecycle is uncertain — use Enable or Disable to reconcile": "Cycle de vie de la Radio incertain — utilisez Activer ou Désactiver pour réconcilier",
|
"Radio lifecycle is uncertain — use Enable or Disable to reconcile": "État de la Radio incertain — utilisez Activer ou Désactiver pour le rétablir",
|
||||||
"Clear reading": "Effacer la lecture",
|
"Clear reading": "Effacer le relevé",
|
||||||
"Earlier observation": "Observation précédente",
|
"Earlier observation": "Observation précédente",
|
||||||
"Observed history": "Historique observé",
|
"Observed history": "Historique des observations",
|
||||||
"Later observation": "Observation suivante",
|
"Later observation": "Observation suivante",
|
||||||
"Latest": "Dernière",
|
"Latest": "Dernière",
|
||||||
"Newest frame per product": "Image la plus récente par produit",
|
"Newest frame per product": "Image la plus récente par produit",
|
||||||
"Replay observed history": "Rejouer l'historique observé",
|
"Replay observed history": "Rejouer l'historique des observations",
|
||||||
"Imagery on Esri · Google 3D returns when cleared": "Sur Esri · EFFACER rétablit Google 3D",
|
"Imagery on Esri · Google 3D returns when cleared": "Sur Esri · EFFACER rétablit Google 3D",
|
||||||
"Point the camera at the ground to use the view": "Orientez la caméra vers le sol pour utiliser la vue",
|
"Point the camera at the ground to use the view": "Orientez la caméra vers le sol pour utiliser la vue",
|
||||||
"That point cannot anchor a box": "Ce point ne peut pas ancrer une zone",
|
"That point cannot anchor a box": "Ce point ne peut pas ancrer une zone",
|
||||||
@@ -2093,7 +2093,7 @@
|
|||||||
"Download {slot} as a PNG": "Télécharger {slot} en PNG",
|
"Download {slot} as a PNG": "Télécharger {slot} en PNG",
|
||||||
"Download the image as a PNG": "Télécharger l'image en PNG",
|
"Download the image as a PNG": "Télécharger l'image en PNG",
|
||||||
"Box {width} × {height} km": "Zone de {width} × {height} km",
|
"Box {width} × {height} km": "Zone de {width} × {height} km",
|
||||||
"Acquired {time}": "Acquise le {time}",
|
"Acquired {time}": "Acquisition : {time}",
|
||||||
"Coverage {coverage}": "Couverture {coverage}",
|
"Coverage {coverage}": "Couverture {coverage}",
|
||||||
"START HERE · {reason}": "COMMENCER ICI · {reason}",
|
"START HERE · {reason}": "COMMENCER ICI · {reason}",
|
||||||
"Daily overview shows little detail in a box this small": "La vue quotidienne montre peu de détails dans une zone aussi petite",
|
"Daily overview shows little detail in a box this small": "La vue quotidienne montre peu de détails dans une zone aussi petite",
|
||||||
@@ -2321,7 +2321,7 @@
|
|||||||
"Voice model tier — applies next session": "Niveau du modèle vocal — à la prochaine session",
|
"Voice model tier — applies next session": "Niveau du modèle vocal — à la prochaine session",
|
||||||
"STD": "STD",
|
"STD": "STD",
|
||||||
"Estimated session cost": "Coût estimé de la session",
|
"Estimated session cost": "Coût estimé de la session",
|
||||||
"Voice control — activate to toggle voice; hold Space to speak": "Commande vocale — activez pour basculer la voix ; maintenez Space pour parler",
|
"Voice control — activate to toggle voice; hold Space to speak": "Commande vocale — activer/désactiver ; maintenez Space pour parler",
|
||||||
"ON/OFF": "ON/OFF",
|
"ON/OFF": "ON/OFF",
|
||||||
"VOICE STANDBY": "VOIX EN VEILLE",
|
"VOICE STANDBY": "VOIX EN VEILLE",
|
||||||
"VOICE CONTROL": "COMMANDE VOCALE",
|
"VOICE CONTROL": "COMMANDE VOCALE",
|
||||||
@@ -2475,9 +2475,9 @@
|
|||||||
"other": "{n} bus"
|
"other": "{n} bus"
|
||||||
},
|
},
|
||||||
"{n} bike share": {
|
"{n} bike share": {
|
||||||
"one": "{n} station de vélos en libre-service",
|
"one": "{n} station de vélos partagés",
|
||||||
"many": "{n} de stations de vélos en libre-service",
|
"many": "{n} de stations de vélos partagés",
|
||||||
"other": "{n} stations de vélos en libre-service"
|
"other": "{n} stations de vélos partagés"
|
||||||
},
|
},
|
||||||
"{n} flock cameras": {
|
"{n} flock cameras": {
|
||||||
"one": "{n} caméra LAPI",
|
"one": "{n} caméra LAPI",
|
||||||
@@ -2528,7 +2528,7 @@
|
|||||||
"{label} error": "{label} : erreur",
|
"{label} error": "{label} : erreur",
|
||||||
"counted the first {returned} loaded records": "{returned} premiers enregistrements chargés comptés",
|
"counted the first {returned} loaded records": "{returned} premiers enregistrements chargés comptés",
|
||||||
"counted {returned} of {total} loaded records": "{returned} enregistrements chargés comptés sur {total}",
|
"counted {returned} of {total} loaded records": "{returned} enregistrements chargés comptés sur {total}",
|
||||||
"{layers} just turned on — still loading, counts will rise": "{layers} : vient d'être activé — chargement en cours, les décomptes vont augmenter",
|
"{layers} just turned on — still loading, counts will rise": "{layers} : activation récente — chargement en cours, les décomptes vont augmenter",
|
||||||
"Contacts panel snapshot at {time} — the same retained cohort supplies the card, speech, and follow-up memory": "Instantané du panneau Contacts ({time}) — le même groupe retenu alimente la fiche, la voix et la mémoire de suivi",
|
"Contacts panel snapshot at {time} — the same retained cohort supplies the card, speech, and follow-up memory": "Instantané du panneau Contacts ({time}) — le même groupe retenu alimente la fiche, la voix et la mémoire de suivi",
|
||||||
"Contacts panel snapshot — the same retained cohort supplies the card, speech, and follow-up memory": "Instantané du panneau Contacts — le même groupe retenu alimente la fiche, la voix et la mémoire de suivi",
|
"Contacts panel snapshot — the same retained cohort supplies the card, speech, and follow-up memory": "Instantané du panneau Contacts — le même groupe retenu alimente la fiche, la voix et la mémoire de suivi",
|
||||||
"Fly below {km} km to a covered region": "Descendez sous {km} km au-dessus d'une région couverte",
|
"Fly below {km} km to a covered region": "Descendez sous {km} km au-dessus d'une région couverte",
|
||||||
@@ -2544,7 +2544,7 @@
|
|||||||
"unavailable": "indisponible",
|
"unavailable": "indisponible",
|
||||||
"Not answered: {layers}": "Sans réponse : {layers}",
|
"Not answered: {layers}": "Sans réponse : {layers}",
|
||||||
"Toggle voice control": "Activer/désactiver la commande vocale",
|
"Toggle voice control": "Activer/désactiver la commande vocale",
|
||||||
"Activate to toggle voice": "Activez pour basculer la voix",
|
"Activate to toggle voice": "Activer/désactiver la commande vocale",
|
||||||
"Voice active": "Voix active",
|
"Voice active": "Voix active",
|
||||||
"Voice could not be started.": "Impossible de démarrer la voix.",
|
"Voice could not be started.": "Impossible de démarrer la voix.",
|
||||||
"the active voice session": "la session vocale active",
|
"the active voice session": "la session vocale active",
|
||||||
@@ -2701,7 +2701,7 @@
|
|||||||
"GROUND SPEED · KTS": "VITESSE SOL · ND",
|
"GROUND SPEED · KTS": "VITESSE SOL · ND",
|
||||||
"ALTITUDE · FT": "ALTITUDE · FT",
|
"ALTITUDE · FT": "ALTITUDE · FT",
|
||||||
"FIRST PERSON": "PREMIÈRE PERSONNE",
|
"FIRST PERSON": "PREMIÈRE PERSONNE",
|
||||||
"LIVE TRACK · COURSE ALIGNED": "PISTE EN DIRECT · CAP ALIGNÉ",
|
"LIVE TRACK · COURSE ALIGNED": "PISTE EN DIRECT · ALIGNÉ SUR LA ROUTE",
|
||||||
"Cockpit vision style": "Style de vision du cockpit",
|
"Cockpit vision style": "Style de vision du cockpit",
|
||||||
"Previous cockpit vision style": "Style de vision précédent du cockpit",
|
"Previous cockpit vision style": "Style de vision précédent du cockpit",
|
||||||
"Previous vision style": "Style de vision précédent",
|
"Previous vision style": "Style de vision précédent",
|
||||||
@@ -2757,7 +2757,7 @@
|
|||||||
"RADIO": "RADIO",
|
"RADIO": "RADIO",
|
||||||
"Cockpit compact Radio controls": "Commandes Radio compactes du cockpit",
|
"Cockpit compact Radio controls": "Commandes Radio compactes du cockpit",
|
||||||
"Previous filtered radio station": "Station radio filtrée précédente",
|
"Previous filtered radio station": "Station radio filtrée précédente",
|
||||||
"Play selected radio station": "Lire la station radio sélectionnée",
|
"Play selected radio station": "Écouter la station radio sélectionnée",
|
||||||
"Next filtered radio station": "Station radio filtrée suivante",
|
"Next filtered radio station": "Station radio filtrée suivante",
|
||||||
"VOLUME": "VOLUME",
|
"VOLUME": "VOLUME",
|
||||||
"Cockpit Radio volume": "Volume de la Radio du cockpit",
|
"Cockpit Radio volume": "Volume de la Radio du cockpit",
|
||||||
@@ -2810,7 +2810,7 @@
|
|||||||
"SEARCH NEARBY SITES": "CHERCHER SITES PROCHES",
|
"SEARCH NEARBY SITES": "CHERCHER SITES PROCHES",
|
||||||
"Reclassify tracked contact as TR-3B": "Reclasser le contact suivi en TR-3B",
|
"Reclassify tracked contact as TR-3B": "Reclasser le contact suivi en TR-3B",
|
||||||
"CONTACTS CONTEXT OFF": "CONTEXTE CONTACTS DÉSACTIVÉ",
|
"CONTACTS CONTEXT OFF": "CONTEXTE CONTACTS DÉSACTIVÉ",
|
||||||
"SELECT CONTACTS TO LOAD OBSERVED / MAPPED PROXIMITY": "CHOISIR CONTACTS POUR CHARGER LA PROXIMITÉ OBSERVÉE / CARTOGRAPHIÉE",
|
"SELECT CONTACTS TO LOAD OBSERVED / MAPPED PROXIMITY": "CHOISIR CONTACTS POUR VOIR LES CONTACTS PROCHES OBSERVÉS / CARTOGRAPHIÉS",
|
||||||
"Available Space Missions": "Missions spatiales disponibles",
|
"Available Space Missions": "Missions spatiales disponibles",
|
||||||
"AVAILABLE MISSIONS": "MISSIONS DISPONIBLES",
|
"AVAILABLE MISSIONS": "MISSIONS DISPONIBLES",
|
||||||
"SELECT A MISSION TO INSPECT": "CHOISIR UNE MISSION À EXAMINER",
|
"SELECT A MISSION TO INSPECT": "CHOISIR UNE MISSION À EXAMINER",
|
||||||
@@ -2821,13 +2821,13 @@
|
|||||||
"Filter stations by station tag": "Filtrer les stations par tag de station",
|
"Filter stations by station tag": "Filtrer les stations par tag de station",
|
||||||
"All": "Tous",
|
"All": "Tous",
|
||||||
"Enable Radio, then choose a globe marker or use next.": "Activez la Radio, puis choisissez un marqueur sur le globe ou utilisez SUIV.",
|
"Enable Radio, then choose a globe marker or use next.": "Activez la Radio, puis choisissez un marqueur sur le globe ou utilisez SUIV.",
|
||||||
"DRAG TO TUNE": "GLISSER POUR SYNTONISER",
|
"DRAG TO TUNE": "GLISSER POUR RÉGLER",
|
||||||
"Tune available internet radio stations": "Écouter les stations de radio Internet disponibles",
|
"Tune available internet radio stations": "Écouter les stations de radio Internet disponibles",
|
||||||
"ALL · DRAG THE NEEDLE": "TOUTES · GLISSEZ L'AIGUILLE",
|
"ALL · DRAG THE NEEDLE": "TOUTES · DÉPLACER L'AIGUILLE",
|
||||||
"SNAPS TO AVAILABLE STATIONS": "SE CALE SUR LES STATIONS DISPONIBLES",
|
"SNAPS TO AVAILABLE STATIONS": "SE CALE SUR LES STATIONS DISPONIBLES",
|
||||||
"Radio playback": "Lecture radio",
|
"Radio playback": "Lecture radio",
|
||||||
"Previous filtered station": "Station filtrée précédente",
|
"Previous filtered station": "Station filtrée précédente",
|
||||||
"Play selected station": "Lire la station sélectionnée",
|
"Play selected station": "Écouter la station sélectionnée",
|
||||||
"Next filtered station": "Station filtrée suivante",
|
"Next filtered station": "Station filtrée suivante",
|
||||||
"STOP": "ARRÊT",
|
"STOP": "ARRÊT",
|
||||||
"Stop radio playback": "Arrêter la lecture radio",
|
"Stop radio playback": "Arrêter la lecture radio",
|
||||||
@@ -2887,7 +2887,7 @@
|
|||||||
"World-overlay fade distance outside the keyhole as a percentage of its radius": "Distance de fondu de la surcouche hors de l'ouverture, en pourcentage de son rayon",
|
"World-overlay fade distance outside the keyhole as a percentage of its radius": "Distance de fondu de la surcouche hors de l'ouverture, en pourcentage de son rayon",
|
||||||
"Outside": "Extérieur",
|
"Outside": "Extérieur",
|
||||||
"Detection opacity outside the keyhole": "Opacité de la détection hors de l'ouverture",
|
"Detection opacity outside the keyhole": "Opacité de la détection hors de l'ouverture",
|
||||||
"World-overlay label and card opacity beyond the fade distance": "Opacité des étiquettes et cartes de la surcouche au-delà de la distance de fondu",
|
"World-overlay label and card opacity beyond the fade distance": "Opacité des étiquettes et fiches de la surcouche au-delà de la distance de fondu",
|
||||||
"PARAMETERS": "PARAMÈTRES",
|
"PARAMETERS": "PARAMÈTRES",
|
||||||
"3D aircraft — flat icons zoomed out, 3D models up close": "Aéronefs 3D — icônes plates de loin, modèles 3D de près",
|
"3D aircraft — flat icons zoomed out, 3D models up close": "Aéronefs 3D — icônes plates de loin, modèles 3D de près",
|
||||||
"Models": "Modèles",
|
"Models": "Modèles",
|
||||||
@@ -2931,7 +2931,7 @@
|
|||||||
"Initializing photorealistic world...": "Initialisation du monde photoréaliste…",
|
"Initializing photorealistic world...": "Initialisation du monde photoréaliste…",
|
||||||
"DATA LAYERS": "COUCHES",
|
"DATA LAYERS": "COUCHES",
|
||||||
"ACQUIRING FRAME": "ACQUISITION DE L'IMAGE",
|
"ACQUIRING FRAME": "ACQUISITION DE L'IMAGE",
|
||||||
"NEAREST": "PROCHE",
|
"NEAREST": "LA PLUS PROCHE",
|
||||||
"CCTV camera": "Caméra CCTV",
|
"CCTV camera": "Caméra CCTV",
|
||||||
"CALIBRATION": "CALIBRATION",
|
"CALIBRATION": "CALIBRATION",
|
||||||
"Drag the camera in the world: rings rotate, arrows move, handles set range/FOV": "Faites glisser la caméra dans le monde : les anneaux pivotent, les flèches déplacent, les poignées règlent portée/FOV",
|
"Drag the camera in the world: rings rotate, arrows move, handles set range/FOV": "Faites glisser la caméra dans le monde : les anneaux pivotent, les flèches déplacent, les poignées règlent portée/FOV",
|
||||||
@@ -2979,7 +2979,7 @@
|
|||||||
"GROUND STATION · PROVIDER SETTINGS": "STATION AU SOL · PARAMÈTRES DES FOURNISSEURS",
|
"GROUND STATION · PROVIDER SETTINGS": "STATION AU SOL · PARAMÈTRES DES FOURNISSEURS",
|
||||||
"Close key setup": "Fermer la configuration des clés",
|
"Close key setup": "Fermer la configuration des clés",
|
||||||
"Power up the globe": "Allumer le globe",
|
"Power up the globe": "Allumer le globe",
|
||||||
"The globe already flies keyless. Every key below switches on another real feed — paste one and it's saved into this app's local configuration, then the server restarts itself. Server-side keys stay on this machine; Google Maps and Cesium ion run in the browser and must be provider-restricted. Keys you configured elsewhere are shown but never touched.": "Le globe fonctionne déjà sans clé. Chaque clé ci-dessous active un flux réel de plus : collez-en une et elle est enregistrée dans la configuration locale de l'application, puis le serveur redémarre. Les clés côté serveur restent sur cette machine ; Google Maps et Cesium ion s'exécutent dans le navigateur et doivent être restreintes au fournisseur. Les clés configurées ailleurs sont affichées mais jamais modifiées.",
|
"The globe already flies keyless. Every key below switches on another real feed — paste one and it's saved into this app's local configuration, then the server restarts itself. Server-side keys stay on this machine; Google Maps and Cesium ion run in the browser and must be provider-restricted. Keys you configured elsewhere are shown but never touched.": "Le globe fonctionne déjà sans clé. Chaque clé ci-dessous active un flux réel de plus : collez-en une et elle est enregistrée dans la configuration locale de l'application, puis le serveur redémarre. Les clés côté serveur restent sur cette machine ; les clés Google Maps et Cesium ion sont utilisées dans le navigateur et doivent être restreintes chez leur fournisseur. Les clés configurées ailleurs sont affichées mais jamais modifiées.",
|
||||||
"SAVE KEYS": "ENREGISTRER LES CLÉS",
|
"SAVE KEYS": "ENREGISTRER LES CLÉS",
|
||||||
"ESC to close": "ESC pour fermer",
|
"ESC to close": "ESC pour fermer",
|
||||||
"The Google Maps key buys the photorealistic planet — everything else stacks on top.": "La clé Google Maps offre la planète photoréaliste, tout le reste s'y superpose.",
|
"The Google Maps key buys the photorealistic planet — everything else stacks on top.": "La clé Google Maps offre la planète photoréaliste, tout le reste s'y superpose.",
|
||||||
|
|||||||
+18
-6
@@ -1069,17 +1069,29 @@ export function displaySceneTitle(scene) {
|
|||||||
export function displayShotTitle(title, shot = undefined, scene = undefined) {
|
export function displayShotTitle(title, shot = undefined, scene = undefined) {
|
||||||
const text = typeof title === 'string' ? title : '';
|
const text = typeof title === 'string' ? title : '';
|
||||||
const fromRecipe = shot
|
const fromRecipe = shot
|
||||||
? Boolean(shot.sourcePackId) || recipeDeclaresShotTitle(scene?.id, text)
|
? Boolean(shot.sourcePackId) || recipeDeclaresShotTitle(scene, text)
|
||||||
: true;
|
: true;
|
||||||
if (fromRecipe && BUILTIN_SHOT_TITLES.has(text)) return t(text);
|
if (fromRecipe && BUILTIN_SHOT_TITLES.has(text)) return t(text);
|
||||||
const numbered = /^Shot ([1-9]\d*)$/.exec(text);
|
const numbered = /^Shot ([1-9]\d*)$/.exec(text);
|
||||||
return numbered ? t('Shot {n}', { n: numbered[1] }) : text;
|
return numbered ? t('Shot {n}', { n: numbered[1] }) : text;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Whether the built-in recipe behind a scene declares a shot with this title. */
|
/**
|
||||||
function recipeDeclaresShotTitle(sceneId, title) {
|
* Whether the built-in recipe behind a scene, or a shot pack applied to it,
|
||||||
const recipe = sceneId ? getSceneRecipeById(sceneId) : null;
|
* declares a shot with this title. A pack's legacy bootstrap rebuilds the
|
||||||
return Boolean(
|
* first shots of an upgraded scene without a sourcePackId, so the pack's
|
||||||
recipe?.cameraPath?.some((keyframe) => keyframe?.title === title),
|
* required titles vouch for them.
|
||||||
|
*/
|
||||||
|
function recipeDeclaresShotTitle(scene, title) {
|
||||||
|
const recipe = scene?.id ? getSceneRecipeById(scene.id) : null;
|
||||||
|
if (recipe?.cameraPath?.some((keyframe) => keyframe?.title === title))
|
||||||
|
return true;
|
||||||
|
const packs = Array.isArray(scene?.appliedShotPacks)
|
||||||
|
? scene.appliedShotPacks
|
||||||
|
: [];
|
||||||
|
return packs.some((entry) =>
|
||||||
|
Boolean(
|
||||||
|
getSceneAppendRecipeById(entry?.id)?.requiredShotTitles?.includes(title),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
import test from 'node:test';
|
import test from 'node:test';
|
||||||
import assert from 'node:assert/strict';
|
import assert from 'node:assert/strict';
|
||||||
import {
|
import {
|
||||||
|
SCENE_APPEND_RECIPES,
|
||||||
SCENE_RECIPES,
|
SCENE_RECIPES,
|
||||||
displaySceneTitle,
|
displaySceneTitle,
|
||||||
displayShotTitle,
|
displayShotTitle,
|
||||||
@@ -87,6 +88,28 @@ test('a built-in shot title localizes only for a recipe-sourced shot', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('a shot rebuilt by an applied pack bootstrap localizes its built-in title', () => {
|
||||||
|
const pack = SCENE_APPEND_RECIPES.find(
|
||||||
|
(recipe) => recipe.requiredShotTitles?.length,
|
||||||
|
);
|
||||||
|
if (!pack) return;
|
||||||
|
setLocale('ru');
|
||||||
|
const title = pack.requiredShotTitles[0];
|
||||||
|
const shot = { id: 'shot-bootstrap', title };
|
||||||
|
// The legacy bootstrap rebuilds these shots without a sourcePackId; the
|
||||||
|
// scene's applied-pack marker vouches for them.
|
||||||
|
assert.equal(
|
||||||
|
displayShotTitle(title, shot, {
|
||||||
|
id: 'scene-upgraded',
|
||||||
|
appliedShotPacks: [{ id: pack.id, version: pack.version }],
|
||||||
|
}),
|
||||||
|
displayShotTitle(title),
|
||||||
|
);
|
||||||
|
assert.notEqual(displayShotTitle(title), title);
|
||||||
|
// The same title in a scene without that pack stays as typed.
|
||||||
|
assert.equal(displayShotTitle(title, shot, { id: 'scene-user' }), title);
|
||||||
|
});
|
||||||
|
|
||||||
test('the Scene status line shows an operator-typed shot title as typed', async () => {
|
test('the Scene status line shows an operator-typed shot title as typed', async () => {
|
||||||
const { createScenePlaybackAdapter } = await import('./playbackAdapter.js');
|
const { createScenePlaybackAdapter } = await import('./playbackAdapter.js');
|
||||||
const statuses = [];
|
const statuses = [];
|
||||||
|
|||||||
Reference in new issue
Block a user