@rr0/ufoathome 0.66.0 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -95
- package/dist-embed-scene/UfoMessages_fr-_6zR9Sw1.js +1 -0
- package/dist-embed-scene/rr0-scene.mjs +166 -166
- package/dist-embed-sighting/CoverageAssessor-CZfxbN9A.js +1 -0
- package/dist-embed-sighting/HynekAssessor-DPsLpEGQ.js +1 -0
- package/dist-embed-sighting/SightingMessages_fr-CdnlQOHg.js +1 -0
- package/dist-embed-sighting/UfoMessages_fr-_6zR9Sw1.js +1 -0
- package/dist-embed-sighting/rr0-sighting.mjs +113 -113
- package/dist-embed-sighting-editor/{BodyEditor-eKnfK1A2.js → BodyEditor-Q5FX46YD.js} +2 -2
- package/dist-embed-sighting-editor/CoverageAssessor-C_QKvYFk.js +1 -0
- package/dist-embed-sighting-editor/HynekAssessor-Onzg_YHp.js +1 -0
- package/dist-embed-sighting-editor/SightingEditorMessages_fr-lSHcWCCl.js +1 -0
- package/dist-embed-sighting-editor/UfoMessages_fr-_6zR9Sw1.js +1 -0
- package/dist-embed-sighting-editor/rr0-sighting-editor.mjs +289 -289
- package/dist-embed-sighting-editor/sightingSchema-k4pEltg7.js +1 -0
- package/package.json +1 -1
- package/dist-embed-scene/UfoMessages_fr-BbAWUSSI.js +0 -1
- package/dist-embed-sighting/CoverageAssessor-mVlehblF.js +0 -1
- package/dist-embed-sighting/HynekAssessor-BiP2di32.js +0 -1
- package/dist-embed-sighting/SightingMessages_fr-KwK5zJGF.js +0 -1
- package/dist-embed-sighting/UfoMessages_fr-BbAWUSSI.js +0 -1
- package/dist-embed-sighting-editor/CoverageAssessor-FIt771Wz.js +0 -1
- package/dist-embed-sighting-editor/HynekAssessor-DUqRa3Su.js +0 -1
- package/dist-embed-sighting-editor/SightingEditorMessages_fr-D2QBeLp7.js +0 -1
- package/dist-embed-sighting-editor/UfoMessages_fr-BbAWUSSI.js +0 -1
- package/dist-embed-sighting-editor/sightingSchema-DGLfQ-J1.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as g,N as v}from"./rr0-sighting-editor.mjs";class p{static en={intro:"What the observer said the phenomenon was, in 3D: each body stands for one or more of the shapes drawn. Its movement comes from the file.",interpretationTitle:"Interpretation",body:"Body",none:"No body yet: the observer said nothing of what it was, or it is still to be entered",deleteBody:"Delete body",addBody:"Add a body",addBodyHintView:"Where the observer is looking now",lookAtBody:"Look at it",addBodyHint:'Standing for the shape "{shape}", where the scene draws it now',id:"ID",title:"Name",explains:"Stands for the shapes",explainsNothing:"No shape",model:"3D model",primitives:"Built-in shapes",catalogue:"Catalogue",modelAdvanced:"Model from an address",modelUrl:"glTF/GLB address",modelUrlHint:"Absolute, or relative to this sighting.json",modelTitle:"Model name",modelAuthor:"Author",modelLicense:"Licence",modelSource:"Where it came from",modelIncomplete:"Not drawn until the model's name and licence are given",modelFromCatalogue:"From the catalogue, which the recording names it by. Change a field and it becomes this recording's own address.",outlineNode:"Part drawn by the observer",outlineNodeHint:"Node of the model, e.g. hull",track:"Movement",trackEmpty:"No keyframe",trackSpan:"{n} keyframes, from {from} to {to}",trackSingle:"1 keyframe, at {at}",atPlayhead:"At {t}",keyframeHere:"A keyframe stands here: editing changes it",keyframeAdded:"Editing adds a keyframe here",placement:"Position",
|
|
1
|
+
import{B as g,N as v}from"./rr0-sighting-editor.mjs";class p{static en={intro:"What the observer said the phenomenon was, in 3D: each body stands for one or more of the shapes drawn. Its movement comes from the file.",interpretationTitle:"Interpretation",body:"Body",none:"No body yet: the observer said nothing of what it was, or it is still to be entered",deleteBody:"Delete body",addBody:"Add a body",addBodyHintView:"Where the observer is looking now",lookAtBody:"Look at it",addBodyHint:'Standing for the shape "{shape}", where the scene draws it now',id:"ID",title:"Name",explains:"Stands for the shapes",explainsNothing:"No shape",model:"3D model",primitives:"Built-in shapes",catalogue:"Catalogue",modelAdvanced:"Model from an address",modelUrl:"glTF/GLB address",modelUrlHint:"Absolute, or relative to this sighting.json",modelTitle:"Model name",modelAuthor:"Author",modelLicense:"Licence",modelSource:"Where it came from",modelIncomplete:"Not drawn until the model's name and licence are given",modelFromCatalogue:"From the catalogue, which the recording names it by. Change a field and it becomes this recording's own address.",outlineNode:"Part drawn by the observer",outlineNodeHint:"Node of the model, e.g. hull",track:"Movement",trackEmpty:"No keyframe",trackSpan:"{n} keyframes, from {from} to {to}",trackSingle:"1 keyframe, at {at}",atPlayhead:"At {t}",keyframeHere:"A keyframe stands here: editing changes it",keyframeAdded:"Editing adds a keyframe here",placement:"Position",fromObserver:"From the observer",inWorld:"In the world",azimuth:"Azimuth",elevation:"Elevation",distance:"Distance",east:"East",north:"North",onGround:"On the ground",aboveGround:"Above the ground",width:"Width",length:"Length",height:"Height",heading:"Heading",pitch:"Pitch",roll:"Roll",colour:"Colour",albedo:"Albedo",luminance:"Light of its own",appearanceNote:"The colour and the albedo paint the built-in shapes; a model of its own keeps its materials. Light of its own is what it gives out, lit or not.",deleteKeyframe:"Delete this keyframe",pictureHint:"On the picture: drag the body to move it, the wheel takes it nearer or further, the corners and sides size it, the stem turns it (with Shift: up and down pitches it, sideways rolls it).",notPlaced:"Not in the scene at this instant",primitive:{ellipsoid:"Ellipsoid",sphere:"Sphere",disc:"Disc",cylinder:"Cylinder",cone:"Cone",box:"Box",torus:"Torus",figure:"Human figure"}};static fr={intro:"Ce que le observateur a dit que le phénomène était, en 3D : chaque corps représente une ou plusieurs des formes dessinées. Son mouvement vient du fichier.",interpretationTitle:"Interprétation",body:"Corps",none:"Aucun corps pour l'instant : le observateur n'a rien dit de ce que c'était, ou c'est encore à saisir",deleteBody:"Supprimer le corps",addBody:"Ajouter un corps",addBodyHintView:"Là où le observateur regarde à cet instant",lookAtBody:"Le regarder",addBodyHint:"Représentant la forme « {shape} », là où la scène la dessine à cet instant",id:"Identifiant",title:"Nom",explains:"Représente les formes",explainsNothing:"Aucune forme",model:"Modèle 3D",primitives:"Formes de base",catalogue:"Catalogue",modelAdvanced:"Modèle depuis une adresse",modelUrl:"Adresse glTF/GLB",modelUrlHint:"Absolue, ou relative à ce sighting.json",modelTitle:"Nom du modèle",modelAuthor:"Auteur",modelLicense:"Licence",modelSource:"Provenance",modelIncomplete:"Pas dessiné tant que le nom et la licence du modèle manquent",modelFromCatalogue:"Du catalogue, par lequel l'enregistrement le nomme. Modifiez un champ et il devient l'adresse propre à cet enregistrement.",outlineNode:"Partie dessinée par le observateur",outlineNodeHint:"Nœud du modèle, par ex. hull",track:"Mouvement",trackEmpty:"Aucune image clé",trackSpan:"{n} images clés, de {from} à {to}",trackSingle:"1 image clé, à {at}",atPlayhead:"À {t}",keyframeHere:"Une image clé est ici : l'éditer la modifie",keyframeAdded:"Éditer ajoute une image clé ici",placement:"Position",fromObserver:"Depuis le observateur",inWorld:"Dans le monde",azimuth:"Azimut",elevation:"Hauteur",distance:"Distance",east:"Est",north:"Nord",onGround:"Au sol",aboveGround:"Au-dessus du sol",width:"Largeur",length:"Longueur",height:"Hauteur",heading:"Cap",pitch:"Tangage",roll:"Roulis",colour:"Couleur",albedo:"Albédo",luminance:"Lumière propre",appearanceNote:"La couleur et l'albédo peignent les formes de base ; un modèle garde ses propres matériaux. La lumière propre est ce qu'il émet, éclairé ou non.",deleteKeyframe:"Supprimer cette image clé",pictureHint:"Sur l'image : glisser le corps le déplace, la molette le rapproche ou l'éloigne, les coins et les côtés le dimensionnent, la tige le tourne (avec Maj : haut et bas le cabrent, les côtés le font rouler).",notPlaced:"Pas dans la scène à cet instant",primitive:{ellipsoid:"Ellipsoïde",sphere:"Sphère",disc:"Disque",cylinder:"Cylindre",cone:"Cône",box:"Boîte",torus:"Tore",figure:"Silhouette humaine"}};static of(e){return e==="fr"?p.fr:p.en}}class y{constructor(e,t,i){this.container=e,this.host=t,this.messages=p.of(i),this.render()}messages;currentId;catalogueToken=0;shownEntry;syncedId;shownAppearance;static swatchOf(e){const t=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(e);return t?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`.toLowerCase():/^#[0-9a-f]{6}$/i.test(e)?e.toLowerCase():"#c8c8c8"}setLanguage(e){const t=p.of(e);t!==this.messages&&(this.messages=t,this.render())}sync(){const e=this.bodies;e.some(a=>a.id===this.currentId)||(this.currentId=e[0]?.id),this.input("body-interpretation-title").value=this.host.said().read(this.interpretation?.title)??"";const t=this.select("body-select");t.replaceChildren(...e.map(a=>new Option(this.labelOf(a),a.id))),this.currentId!==void 0&&(t.value=this.currentId);const i=this.host.newBodyStart(),o=this.element("body-add");o.disabled=i===void 0,o.title=i?i.label!==void 0?this.messages.addBodyHint.replace("{shape}",i.label):this.messages.addBodyHintView:this.messages.addBody,this.input("body-interpretation-title").closest("label").hidden=this.interpretation===void 0,this.select("body-select").closest("label").hidden=e.length===0;const d=this.current;if(this.element("body-none").hidden=e.length>0,this.element("body-fields").hidden=d===void 0,!d)return;this.input("body-id").value=d.id,this.input("body-title").value=this.host.said().read(d.title)??"",this.syncExplains(d),this.syncModelOptions(d);const n=d.model;this.input("body-model-url").value=n.url??"",this.input("body-model-title").value=n.credit?.title??"",this.input("body-model-author").value=n.credit?.author??"",this.input("body-model-license").value=n.credit?.license??"",this.input("body-model-source").value=n.credit?.sourceUrl??"";const s=this.element("body-model-advanced");s.open=n.url!==void 0||s.open&&d.id===this.syncedId,this.syncedId=d.id,this.element("body-model-incomplete").hidden=n.url===void 0||n.credit?.title!==void 0&&n.credit.license!==void 0,this.input("body-outline-node").value=d.outlineNode??"",this.element("body-track").textContent=this.trackSummary(d),this.syncKeyframe()}syncKeyframe(){const e=this.current;if(!e)return;const t=this.host.currentTime(),i=this.messages;this.element("body-key-legend").textContent=i.atPlayhead.replace("{t}",y.seconds(t));const o=this.host.readingOf(e,t),d=e.track.find(c=>c.t===t),n=y.keyframeBefore(e,t);this.element("body-key-note").textContent=o?d?i.keyframeHere:i.keyframeAdded:i.notPlaced,this.element("body-key-delete").disabled=d===void 0;const s=this.container.getRootNode().activeElement,a=n?.eastM!==void 0&&n.northM!==void 0?"world":"observer";s!==this.select("body-key-mode")&&(this.select("body-key-mode").value=a);const r=this.select("body-key-mode").value,l=n?.onGround===!0;this.input("body-key-ground").checked=l;for(const c of["body-key-azimuth","body-key-elevation","body-key-distance"])this.input(c).closest("label").hidden=r!=="observer";for(const c of["body-key-east","body-key-north"])this.input(c).closest("label").hidden=r!=="world";if(this.input("body-key-above").closest("label").hidden=r!=="world"||l,!o)return;const u={"body-key-azimuth":o.azimuthDeg,"body-key-elevation":o.altitudeDeg,"body-key-distance":o.distanceM,"body-key-east":o.eastM,"body-key-north":o.northM,"body-key-above":o.aboveGroundM,"body-key-width":o.sizeM.widthM,"body-key-length":o.sizeM.lengthM,"body-key-height":o.sizeM.heightM,"body-key-heading":o.attitude.headingDeg,"body-key-pitch":o.attitude.pitchDeg,"body-key-roll":o.attitude.rollDeg,"body-key-albedo":o.appearance.albedo,"body-key-luminance":o.appearance.luminanceCdM2};this.shownAppearance=o.appearance,this.input("body-key-colour")!==s&&(this.input("body-key-colour").value=y.swatchOf(o.appearance.color));for(const[c,m]of Object.entries(u))this.input(c)!==s&&(this.input(c).value=String(Number(m.toFixed(2))))}render(){const e=this.messages,t=(i,o,d="text",n="",s="",a="")=>`<label><span>${o}</span> <input id="${i}" type="${d}" placeholder="${n}" ${a} autocomplete="off"/>${s?` ${s}`:""}</label>`;this.container.innerHTML=`<div class="body-editor">
|
|
2
2
|
<p class="body-intro">${e.intro}</p>
|
|
3
3
|
${t("body-interpretation-title",e.interpretationTitle)}
|
|
4
4
|
<p id="body-none" class="body-intro">${e.none}</p>
|
|
@@ -26,7 +26,7 @@ import{B as g,N as v}from"./rr0-sighting-editor.mjs";class p{static en={intro:"W
|
|
|
26
26
|
<fieldset class="body-key">
|
|
27
27
|
<legend id="body-key-legend"></legend>
|
|
28
28
|
<p id="body-key-note" class="body-intro"></p>
|
|
29
|
-
<label><span>${e.placement}</span> <select id="body-key-mode"><option value="
|
|
29
|
+
<label><span>${e.placement}</span> <select id="body-key-mode"><option value="observer">${e.fromObserver}</option><option value="world">${e.inWorld}</option></select></label>
|
|
30
30
|
${t("body-key-azimuth",e.azimuth,"number","","°",'min="0" max="360" step="0.01"')}
|
|
31
31
|
${t("body-key-elevation",e.elevation,"number","","°",'min="-90" max="90" step="0.01"')}
|
|
32
32
|
${t("body-key-distance",e.distance,"number","","m",'min="0.1" max="30000" step="0.1"')}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as m}from"./rr0-sighting-editor.mjs";const o=[{id:"when",paths:["time.year","time.month","time.day","time.hour","time.minute","time.raw"]},{id:"where",paths:["place.*.lat","place.*.lng","observerTrack.keyframes.*.pose.lat","observerTrack.keyframes.*.pose.lng"]},{id:"facing",paths:["observerTrack.keyframes.*.pose.headingDeg"]},{id:"apparent-size",paths:["timeline.keyframes.*.shapes.*.shape.angular.widthDeg","timeline.keyframes.*.shapes.*.shape.angular.heightDeg"]},{id:"sky-position",paths:["timeline.keyframes.*.shapes.*.shape.aim.azimuthDeg","timeline.keyframes.*.shapes.*.shape.aim.altitudeDeg"]},{id:"how-long",paths:["durationSeconds","endTime.hour","endTime.minute","endTime.raw"]},{id:"appearance",paths:["timeline.keyframes.*.shapes.*.shape.kind","timeline.keyframes.*.shapes.*.shape.title","timeline.keyframes.*.shapes.*.shape.color","timeline.keyframes.*.shapes.*.shape.brightness"]},{id:"movement",paths:["timeline.keyframes.1.t","observerTrack.keyframes.1.t"]},{id:"sound",paths:["soundTrack.keyframes.*.sound.kind"]},{id:"conditions",paths:["weatherTrack.keyframes.*.weather.*","weather.*"]}],d=["assumed","derived","stated"];class p{about="observer";async assess(t){const r=m(t),s=o.map(e=>p.answer(e,r,t));return{score:s.filter(e=>e.basis==="stated").length/s.length,criteria:s}}static answer(t,r,s){const e=t.paths.flatMap(a=>p.resolve(a,r));if(e.length===0)return{id:t.id,paths:[]};const n=e.map(a=>s.provenance.at(a)?.basis??"stated");return{id:t.id,basis:d.find(a=>n.includes(a)),paths:e}}static resolve(t,r){let s=[{path:[],value:r}];for(const e of t.split("."))s=s.flatMap(({path:n,value:a})=>{if(typeof a!="object"||a===null)return[];if(e!=="*"){const i=a[e];return i===void 0?[]:[{path:[...n,e],value:i}]}return Object.entries(a).filter(([,i])=>i!==void 0).map(([i,h])=>({path:[...n,i],value:h}))});return s.filter(({value:e})=>e!==null&&e!==""&&!(Array.isArray(e)&&e.length===0)).map(({path:e})=>e.join("."))}}export{p as CoverageAssessor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as r,s as c,c as l}from"./rr0-sighting-editor.mjs";const v=-6,p=150;class o{about="temporal";async assess(e){const t=o.daylight(e),i=e.decor.map((s,n)=>({object:s,index:n})).filter(({object:s})=>s.kind==="entity"),a=o.nearest(e),d=a!==void 0&&a<=p;return{verdict:i.length>0?"ce3":d?"ce1":t===void 0?void 0:t?"dd":"nl",criteria:[{id:"entities",basis:i.length>0?"stated":void 0,paths:i.map(({index:s})=>`decor.${s}`)},{id:"traces",paths:[],unsupported:!0},{id:"proximity",basis:a===void 0?void 0:"derived",paths:a===void 0?[]:["timeline","observerTrack"]},{id:"radar",paths:[],unsupported:!0},{id:"daylight",basis:t===void 0?void 0:"derived",paths:t===void 0?[]:["time","place"]}]}}static nearest(e){const t=e.timeline.sourceIds.map(i=>r.of(e,i)?.nearestM).filter(i=>i!==void 0);return t.length>0?Math.min(...t):void 0}static daylight(e){const t=e.event.place?.[0],i=e.event.time;if(!t||!i)return;const a=c(i,t.lng,e.event.utcOffsetHours);if(a)return l("Sun",a,{lat:t.lat,lng:t.lng,elevationM:0}).altitudeDeg>v}}export{o as HynekAssessor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={color:"Couleur",transparency:"Transparence",halo:"Halo",blur:"Flou",brightness:"Éclat",shapeTitle:"Nom",utcOffset:"Fuseau horaire",cloudBase:"Base des nuages",elevation:"Altitude",heightAboveGround:"Hauteur au-dessus du sol",duration:"Durée",placeName:"Lieu",latitude:"Latitude",longitude:"Longitude",heading:"Orientation",pitch:"Inclinaison",roll:"Roulis",observationTime:"Début de l'observation",observationEndTime:"Fin de l'observation",assessmentGroup:"Évaluation",assessmentNames:{coverage:"Infos de l'observateur"},assessmentVerdicts:{"hynek.nl":"NL — lumière nocturne","hynek.dd":"DD — disque diurne","hynek.rv":"RV — radar-visuel","hynek.ce1":"RR1 — rencontre rapprochée","hynek.ce2":"RR2 — avec trace physique","hynek.ce3":"RR3 — avec occupants"},observerGroup:"Observateur",observerId:"ID",observerTitle:"Titre",observerLastName:"Nom de famille",observerFirstNames:"Prénoms",sightingId:"ID",tags:"Mots-clés",cloudCover:"Couverture nuageuse",highCloudCover:"Nuages de glace (cirrus)",focalLength:"Focale",fieldOfView:"Champ de vision",aperture:"Diaphragme",exposure:"Temps de pose",focusDistance:"Mise au point à",iceCrystalAlignment:"Alignement des cristaux",cloudDarkness:"Obscurité des nuages",precipitationType:"Précipitations",precipitationNone:"Aucune",precipitationRain:"Pluie",precipitationSnow:"Neige",precipitationHail:"Grêle",precipitationIntensity:"Intensité",windDirection:"Direction du vent",windSpeed:"Force du vent",storm:"Orage",cloudsGroup:"Nuages",precipitationGroup:"Précipitations",windGroup:"Vent",soundKind:"Son",soundNone:"Aucun (silencieux)",soundHum:"Bourdonnement",soundWhistle:"Sifflement",soundRumble:"Grondement",soundCrackle:"Crépitement",soundVolume:"Intensité sonore",soundPitch:"Hauteur",soundSrc:"Enregistrement",instrument:"Observé avec",decorAircraft:"Aéronef",decorEntity:"Être",decorAltitude:"Altitude",decorLights:"Feux",decorLightsNone:"aucun",decor:"Environnement",decorBuilding:"Bâtiment",decorTree:"Arbre",decorShrub:"Buisson",decorCrop:"Rang de culture",decorMound:"Tas de pierres",decorStreetlight:"Lampadaire",decorVehicle:"Véhicule",decorObserver:"Autre observateur",decorEast:"Distance à l'est",decorNorth:"Distance au nord",decorHeading:"Orientation",decorColor:"Couleur",decorLit:"Allumé",decorTitle:"Nom",milestones:"Moments",milestoneLabel:"Repère",milestoneNote:"Ce qui se passe",addMilestone:"Nommer cet instant",deleteMilestone:"Supprimer le moment",confirmAccept:"Supprimer",confirmDecline:"Annuler",decorWidth:"Largeur",decorLength:"Longueur",decorHeight:"Hauteur",decorModel:"Modèle 3D",decorModelNone:"Forme intégrée",decorModelAdvanced:"Modèle depuis une adresse",decorModelFromCatalogue:"Du catalogue, par lequel l'enregistrement le nomme. Modifiez un champ et il devient l'adresse propre à cet enregistrement.",decorModelUrl:"Adresse glTF/GLB",decorModelTitle:"Nom du modèle",decorModelAuthor:"Auteur",decorModelLicense:"Licence",decorModelSource:"Provenance",decorFloors:"Étages",decorOccupiedFloor:"Étage occupé",decorObserverSide:"Emplacement de l'observateur",decorObserverSideNone:"Non présent",decorWindows:"Fenêtres",decorSideFront:"Avant",decorSideBehind:"Arrière",decorSideLeft:"Gauche",decorSideRight:"Droite",decorSideFrontLeft:"Avant-gauche",decorSideFrontRight:"Avant-droit",decorSideBehindLeft:"Arrière-gauche",decorSideBehindRight:"Arrière-droit"},r={...e,oval:"Ovale",polygon:"Polygone",addVertex:"Ajouter un sommet",deleteVertex:"Supprimer le sommet",notAPolygon:"Sélectionnez une seule forme polygonale",tooFewVertices:"Une forme a besoin d'au moins 3 points",shape:"Forme",apparentWidth:"Largeur apparente",realWidth:"Largeur réelle",distance:"Distance",sizeLock:"Maintenir",lockNone:"rien",lockApparent:"la largeur apparente",lockReal:"la largeur réelle",lockDistance:"la distance",apparentSize:"{moons}× la Lune",utcOffsetPlaceholder:"d'après la longitude",realSizeBetween:"La scène borne cette largeur : entre {min} et {max} m, d'après ce qu'il croise",realSizeAtLeast:"La scène borne cette largeur : au moins {min} m, d'après ce qu'il passe derrière",realSizeAtMost:"La scène borne cette largeur : au plus {max} m, d'après ce qu'il passe devant",realSizeUnknown:"Rien dans la scène ne borne cette largeur : elle ne fait que découler de la distance",realSizeOutside:" — la largeur ci-dessus en sort",blurBound:"Flou à travers cet objectif : plus près que {max} m",blurBoundNoInstrument:"Le flou à l'œil nu ne borne aucune distance — un œil n'a pas de diaphragme dont sortir",blurBoundNotAtInfinity:"Le flou ne borne une distance que pour une mise au point à l'infini : celle-ci est à {focus} m, qui floute des deux côtés",realSizeContradiction:"Contradiction : les passages déclarés ne peuvent pas être vrais ensemble",realDistanceHere:" — soit ici entre {min} et {max} m",clearDistanceHypothesis:"Retirer l'hypothèse de distance",clearDistanceHypothesisTitle:"Revenir à ce que l'enregistrement établit",depthStated:"Dessiné à {m} m, comme l'enregistrement l'énonce",depthHypothesis:"Dessiné à {m} m : votre hypothèse — ce que le décor en cache est ce qu'une chose à cette distance perdrait",depthDerived:"Dessiné à {m} m, d'après la marche de l'observateur",depthBounded:"Dessiné à {m} m, d'après ce qu'il passe derrière et devant",depthConventional:"Dessiné à {m} m par convention : rien dans l'enregistrement n'établit de distance",addShape:"Ajouter une forme",deleteShape:"Supprimer la forme",play:"Lecture",pause:"Pause",noDuration:"Aucune durée d'observation",group:"Grouper",ungroup:"Dégrouper",bringToFront:"Placer devant",sendToBack:"Placer derrière",contextMenuDelete:"Supprimer",confirmDeleteShape:"Supprimer {name} ? Cette action est irréversible.",confirmDeleteShapes:"Supprimer {count} formes ? Cette action est irréversible.",confirmDeleteMilestone:"Ne plus nommer le moment {name} ? L'enregistrement lui-même est inchangé.",onlyOneShape:"Il n'y a qu'une seule forme",alreadyAtFront:"Cette forme est déjà la plus en avant",alreadyAtBack:"Cette forme est déjà la plus en arrière",needTwoShapesToGroup:"Sélectionnez au moins deux formes pour les grouper",notGrouped:"Cette forme ne fait pas partie d'un groupe",multipleShapesSelected:"Plusieurs formes sélectionnées — sélectionnez-en une seule pour modifier ceci",samplingRate:"Échantillonnage",currentPosition:"Position actuelle",switchToElapsed:"cliquer pour afficher la durée écoulée",switchToClockTime:"cliquer pour afficher l'heure de l'observation",durationPlaceholder:"durée de l'observation",durationImprecise:"Ces dates ne permettent pas de déterminer précisément une durée — saisissez-la manuellement.",export:"Exporter",importFile:"Charger un fichier JSON",importUrl:"Ou charger depuis une URL",importUrlPlaceholder:"https://…/sighting.json",importButton:"Charger",importError:"Impossible de charger cet enregistrement — vérifiez le fichier ou l'URL et réessayez.",importErrorCors:"Cette adresse répond, mais le navigateur n'a pas le droit de la lire depuis cette page. Le fichier lui-même est bon : c'est son serveur qui doit envoyer l'en-tête « Access-Control-Allow-Origin: * » avec. Si ce serveur n'est pas le vôtre, c'est ce qu'il faut demander à son administrateur.",importErrorMixedContent:"Une page sécurisée ne peut pas charger une adresse commençant par http://. Utilisez https:// si ce serveur le propose.",importErrorUnreachable:"Rien n'a répondu à cette adresse. Vérifiez l'orthographe, et que vous êtes connecté.",importErrorStatus:"Ce serveur a répondu par une erreur ({status}). L'adresse est probablement fausse, ou le fichier a été déplacé.",importErrorMalformed:"Cette adresse a répondu, mais ce qui revient n'est pas un enregistrement.",record:"Enregistrer",stop:"Arrêter",according:"selon",sourceElevation:"Relief",sourceImagery:"Imagerie",placeNamePlaceholder:"Valensole, France",searchPlace:"Localiser",placeMatch:"Correspondances",placeSearching:"Recherche du lieu…",placeMatchFound:"lieu trouvé",placeMatchesFound:"lieux trouvés",placeNotFound:"Aucun lieu de ce nom",placeSearchFailed:"Recherche de lieu momentanément indisponible",utcOffsetImplausible:"Ce fuseau ne correspond pas à la longitude saisie, dont l'heure solaire est UTC{solar} — la scène et le relevé météo obéissent pourtant à ce qui est déclaré ici. Videz le champ pour le déduire de la longitude.",timeZoneManual:"décalage saisi",altitudeAboveSeaLevel:"Altitude de l'observateur au-dessus du niveau de la mer — le sol du lieu saisi en fixe le minimum : un observateur dans les Alpes n'est pas à 0 m.",groundAt:"sol à {m} m",headingPlaceholder:"inconnu",edtfInvalid:"Date/heure EDTF invalide (ex. 1965-07-01T05:00, 2025-06?, 2025~).",edtfPlaceholder:"AAAA-MM-JJThh:mm[?~%] ou hh:mm",observationTimeHint:"EDTF — ex. 1965-07-01T05:00, 2025-06? (incertain), 2025~ (approximatif), ou juste 05:00 si la date est inconnue",observationEndTimeHint:"EDTF — ex. 1965-07-01T05:10, 2025-06? (incertain), 2025~ (approximatif), ou juste 05:10 si la date est inconnue",presetsGroupLabel:"Forme de l'ovni",description:"Description",tagsPlaceholder:"séparés par des virgules",weather:"Météo",shapeGroup:"Phénomène",shapesSubgroup:"Formes",bodiesSubgroup:"Corps",soundGroup:"Son",temporalGroup:"Moment",timeQualifierExact:"Exacte",timeQualifierApproximate:"Approximative",timeQualifierUncertain:"Incertaine",timeQualifierBoth:"Incertaine et approximative",edtfModeTitle:"Saisir plutôt une date imprécise : une année seule, un mois, une heure sans date",locationGroup:"Lieu",observationGroup:"Observation",weatherWhilePlaying:"Mettez la lecture en pause pour décrire le temps — pendant qu'elle tourne, l'instant où ceci s'écrirait se déplace",weatherInferred:"D'après les relevés",weatherInferredTitle:"La météo n'est pas un compte rendu : c'est un fait mesurable, relevé pour la date, l'heure et le lieu de l'observation. Décochez pour saisir les conditions rapportées par l'observateur, qui priment alors sur le relevé.",weatherLookingUp:"Recherche du relevé…",weatherNeedsDateAndPlace:"Date complète et lieu requis pour retrouver le relevé",weatherNoRecord:"Aucun relevé pour cette date et ce lieu",weatherLookupFailed:"Relevés météo momentanément inaccessibles",instrumentOutOfPeriod:"{name} — hors de son époque",unitMillimetres:"mm",unitDegrees:"°",fieldOfViewReadout:"{deg}° de champ",soundSrcPlaceholder:"URL d'un enregistrement réel",referenceGroup:"Photos",reference:"Photo",referenceTitle:"Nom",referenceSrc:"Adresse",referenceSrcPlaceholder:"https://…/photo.jpg",referenceKind:"Type",referencePhoto:"Photo",referencePanorama:"Panorama (360°)",referenceCredit:"Crédit",referenceCreditUrl:"Lien du crédit",referenceT:"Prise à",referenceDrawing:"Dessin par-dessus",referenceOpacity:"Opacité",referenceHeading:"Cap",referencePitch:"Assiette",referenceRoll:"Roulis",referenceFov:"Champ vertical",referenceUsePose:"Prendre la pose de l'observateur",addReferenceUrl:"Ajouter depuis une adresse",addReferenceFile:"Ajouter un fichier",deleteReference:"Supprimer la photo",referenceEmbedded:"{kb} ko embarqués dans l'enregistrement — une adresse le garderait léger",referenceUnreachable:"La photo n'a pas pu être chargée : vérifiez l'adresse, et que son site autorise les autres sites à la lire",referenceRegisterHint:"Glissez pour orienter la photo, molette pour son champ ; « Ajouter un repère » pour pointer un détail sur la photo, puis le même dans le rendu",referenceLandmarkPicture:"Repère {n} : cliquez le point sur la photo",referenceLandmarkScene:"Repère {n} : cliquez le même point dans le rendu",referenceLandmarkOffPicture:"Ce clic ne tombe pas sur la photo",referenceNotLoaded:"La photo n'est pas encore arrivée",referenceLandmarksFit:"{n} repères — écart moyen {deg}°",referenceLandmarks:"Repères",addReferenceLandmark:"Ajouter un repère",deleteReferenceLandmark:"Supprimer le repère",referenceLandmarkLabel:"Nom",referenceLandmarkLabelPlaceholder:"Arbre masquant, barrière…",referenceAdoptPose:"Adopter comme pose de l'observateur",referenceAdoptRationale:"Mesuré sur la photo « {title} » : {n} repères recalés, {deg}° d'écart résiduel",referenceStreetSearch:"Photos de rue à proximité",referenceStreetSearching:"Recherche de photos prises à proximité…",referenceStreetNone:"Aucune photo de rue à moins de {m} m (Panoramax)",referenceStreetFailed:"Panoramax est injoignable",referenceStreetAdd:"Ajouter",referenceStreetItem:"{distance} m au {bearing}°, {date}{panorama}",referenceStreetPanorama:" — 360°",referenceStreetTitle:"Photo de rue à {distance} m au {bearing}°, {date}",skyLine:"Ciel : {parts}",skyStarsEye:"étoiles jusqu'à la magnitude {limit}, ce que l'œil atteignait sous ce ciel",skyStarsDeeper:"étoiles jusqu'à la magnitude {limit} à travers un {device} — {gain} magnitudes au-delà des {eye} qu'atteignaient les yeux de l'observateur",skyStarsShallower:"étoiles jusqu'à la magnitude {limit} à travers un {device} — {gain} magnitudes en deçà des {eye} qu'atteignaient les yeux de l'observateur",skyStarsCatalogue:", dessinées jusqu'à {catalogue}, où s'arrête le catalogue de ce projet",skyStarsNone:"aucune étoile ne se détachait d'un ciel aussi clair",skyDetails:"Voir le détail des relevés",skyDetailsHide:"Masquer le détail des relevés",skyShowerActive:"{name} — radiant à {altitude}° de hauteur, {bearing} — environ {rate}/h sous ce ciel, sur un fond sporadique de {sporadic}/h",skyShowerBelowHorizon:"{name} est actif, mais son radiant est sous l'horizon — il n'a rien pu produire",skyNothingActive:"aucune pluie de météores active à cette date — un fond sporadique d'environ {sporadic}/h",showMeteor:"Montrer un météore",skyComet:"La {name}, magnitude {magnitude}, à {altitude}° de hauteur {bearing}, queue longue de {tail}°",skyCometNoTail:"La {name}, magnitude {magnitude}, à {altitude}° de hauteur {bearing}",skyCometBelowHorizon:"La {name} était là, magnitude {magnitude}, mais sous l'horizon — personne ici ne l'a vue",skyCometInDaylight:"La {name}, magnitude {magnitude}, à {altitude}° de hauteur {bearing} — mais à {elongation}° du Soleil seulement",showComet:"Montrer la comète",skyNova:"La {name}, étoile nouvelle de magnitude {magnitude}, à {altitude}° de hauteur {bearing}",skyNovaBelowHorizon:"La {name} brillait, magnitude {magnitude}, mais sous l'horizon : personne ici ne l'a vue",showNova:"Montrer l'étoile nouvelle",skySatellitePasses:"{count} satellites ont traversé ce ciel assez brillants pour être vus, le plus brillant {name}, magnitude {magnitude}, à {altitude}° de hauteur {bearing} à {time}",skySatellitePassesOne:"un satellite a traversé ce ciel assez brillant pour être vu : {name}, magnitude {magnitude}, à {altitude}° de hauteur {bearing} à {time}",skySatelliteTrain:"dont un train de {count} Starlink lancés le {date}",skySatellitePassesNone:"d'après les éléments orbitaux archivés pour cette date, aucun satellite éclairé n'a traversé ce ciel assez brillant pour être vu",skySatelliteElementsGap:"aucun élément orbital archivé près de cette date",showSatellite:"Montrer un satellite",skyOpticsPossible:"nuages de glace suffisants, autour {source}, pour {forms}",skyOpticsAlignment:" — tout sauf les halos exige des cristaux tombant à plat, ici supposés alignés à {alignment} %, qu'aucun relevé ne donne",skyOpticsHalo22:"un halo à {angle}°",skyOpticsHalo46:"un halo à {angle}°",skyOpticsParhelia:"des parhélies à {angle}° de part et d'autre",skyOpticsTangentArc:"un arc tangent au sommet",skyOpticsParhelicCircle:"un cercle parhélique blanc faisant le tour du ciel à sa hauteur",skyOpticsCircumzenithal:"un arc circumzénithal à {angle}° de hauteur",skyOpticsCircumhorizontal:"un arc circumhorizontal très au-dessous",skyOpticsPillar:"un pilier dressé au-dessus",skyOpticsNoIce:"aucun nuage de glace : ni halo ni parhélie",skyOpticsHidden:"des nuages de glace en altitude, mais une couche plus basse les cache",skyOpticsSun:"du Soleil",skyOpticsMoon:"de la Lune",skyBowPossible:"pluie et soleil suffisants pour {forms}",skyBowMoon:"pluie sous une Lune éclairée à {lit} %, de quoi former {forms} — un arc-en-ciel lunaire, que l'œil voit blanc",skyGlowBand:"la Voie lactée à {contrast}× le fond du ciel, à {altitude}° de hauteur {bearing}",skyGlowCone:"la lumière zodiacale à {contrast}× le fond du ciel, à {altitude}° de hauteur {bearing}, à {elongation}° du Soleil — une lueur en cône incliné, aux contours flous, disparue en moins d'une heure",skyGlowZodiacalBand:"la bande zodiacale à {contrast}× le fond du ciel, à {altitude}° de hauteur {bearing} — toute l'écliptique faiblement allumée, ce qui n'est pas ce que les gens rapportent",skyGlowMoon:"ni Voie lactée ni lumière zodiacale : une Lune éclairée à {lit} % tenait le ciel à {sky} magnitudes par seconde d'arc, là où il leur en faut 22",skyGlowTwilight:"ni Voie lactée ni lumière zodiacale : le crépuscule tenait encore le ciel à {sky} magnitudes par seconde d'arc, là où il leur en faut 22",skyGlowNothingUp:"ciel assez noir ({sky} magnitudes par seconde d'arc), mais ni le plan de la Galaxie ni l'écliptique ne s'y tenaient assez haut",skyBowPrimary:"un arc de {radius}° de rayon, dont le sommet montait à {top}°",skyBowSecondary:"un second, plus pâle, à {radius}°, aux couleurs inversées",skyBowSourceTooHigh:"pluie, mais l'astre à {altitude}° de hauteur : aucun arc ne pouvait dépasser l'horizon, ils se tiennent à {radius}° du point opposé",skyBowHidden:"pluie, mais une couche continue entre elle et la lumière : aucun arc",skyBowNoSource:"pluie, et rien d'allumé pour en tirer un arc",skySatellitesLit:"l'ombre de la Terre montait à {height} km au-dessus de l'observateur, l'orbite basse était donc encore éclairée — {count} objets suivis étaient en orbite ce mois-là",skySatellitesLitWith:"l'ombre de la Terre montait à {height} km au-dessus de l'observateur, l'orbite basse était donc encore éclairée — {count} objets suivis étaient en orbite ce mois-là, dont {eras}",skySatellitesShadowed:"l'ombre de la Terre montait à {height} km au-dessus de l'observateur : sur les {count} objets suivis en orbite ce mois-là, rien en orbite basse n'était éclairé",skySatellitesNotYet:"rien n'était encore en orbite",skySatellitesDaylight:"tout ce qui est en orbite était éclairé, comme toujours de jour, et {eras} pouvaient l'emporter même sur ce ciel",skySatellitesDaylightOne:"tout ce qui est en orbite était éclairé, comme toujours de jour, et {eras} pouvait l'emporter même sur ce ciel",skyUnknown:"indéterminable sans date ni lieu",lookAtDecor:"Regarder cet élément",addDecor:"Ajouter",deleteDecor:"Supprimer l'élément de décor",decorSightingUrl:"URL de son propre enregistrement",viewAccount:"Voir le compte rendu",noObserverRecording:"Aucune URL d'enregistrement définie pour cet observateur",masks:"Masque",addObserver:"Ajouter un observateur",narrativePlaceholder:"Ce que l'observateur a rapporté, dans ses propres mots",narrativeKey:"Clé d'API {source}",narrativeNeedsKey:"Saisissez votre propre clé d'API {source} pour générer la reconstitution d'après le récit",narrativeKeyUnlikely:"Cela ne ressemble pas à une clé d'API Claude : elles commencent par sk-ant-",narrativeWorkspace:"Espace de travail",narrativeWorkspacePlaceholder:"seulement si votre clé en couvre plusieurs",narrativeWorkspaceHint:"Seulement pour une clé dont la portée est l'organisation entière. Plus simple : laissez vide et créez une clé de portée « espace de travail ».",narrativeNeedsAsk:"Rien à envoyer pour l'instant",narrativeRemember:"Retenir sur cet appareil",narrativeDraft:"Générer la reconstitution",narrativeStop:"Arrêter",narrativeWorking:"Lecture du récit…",narrativeApplied:"{count} champs écrits dans l'éditeur",narrativeUnchanged:"Le récit n'énonce rien que l'enregistrement sache encore porter",narrativeStated:"Ce que l'observateur a dit",narrativeDerived:"Déduit du récit",narrativeAssumed:"Supposé, pour que la reconstitution tourne : à vérifier",narrativeGaps:"Ce que rien n'a pu trancher",narrativeErrorCredential:"Pas de clé, ou une clé refusée : vérifiez-la sur console.anthropic.com",narrativeErrorRateLimited:"Trop de requêtes sur votre compte : patientez un instant et redemandez",narrativeErrorRefused:"Le récit n'a pas reçu de réponse. Le reformuler peut aider, le redemander non",narrativeErrorMalformed:"La réponse n'était pas un brouillon exploitable : cela vaut la peine de redemander",narrativeErrorUnreachable:"Rien n'a répondu : vérifiez la connexion",narrativeErrorRejected:"Refusé : {detail}",observerAge:"Âge alors",observerOccupation:"Profession",accountSource:"Récit recueilli",accountSourceUnknown:"on ne sait pas",accountSourceOnSite:"enquête sur site",accountSourceInterview:"entretien en personne",accountSourceTelephone:"par téléphone",accountSourceQuestionnaire:"questionnaire",accountSourceLetter:"écrit par l'observateur",accountSourcePress:"presse ou radiodiffusion",accountFollowedUp:"Recontacté",accountUnknown:"on ne sait pas",accountYes:"oui",accountNo:"non",questionUnanswered:"Rien dans cet enregistrement ne répond à l'une des questions qu'une reconstitution doit trancher",durationRequired:"L'observation a besoin d'une longueur pour être rejouée — indiquez-la, ou une heure de fin, qui peut être approximative",questionsUnanswered:"{count} des questions auxquelles une reconstitution complète répond restent sans réponse ici"};export{r as sightingEditorMessages_fr};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={play:"Lecture",pause:"Pause",noDuration:"Aucune durée d'observation",currentPosition:"Position actuelle",duration:"Durée",switchToElapsed:"cliquer pour afficher la durée écoulée",switchToClockTime:"cliquer pour afficher l'heure de l'observation",fullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",showObserverMap:"Voir où était l'observateur",hideObserverMap:"Masquer où était l'observateur",mapImageryUnavailable:"Vue aérienne indisponible",showReferences:"Voir les photos des lieux",hideReferences:"Masquer les photos des lieux",referenceOpacity:"Opacité des photos",showMilestones:"Voir les moments du récit",hideMilestones:"Masquer les moments du récit",observerHere:"L'observateur, ici",decorHere:"Élément de décor"};export{e as ufoMessages_fr};
|