Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 97f5ef75d58d
Choose a base ref
...
head repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 12ab7865173c
Choose a head ref

Commits on Aug 17, 2021

  1. Revert "not yet"

    This reverts commit 2c76c2b.
    eggrobin committed Aug 17, 2021
    Copy the full SHA
    d6d1705 View commit details

Commits on Aug 18, 2021

  1. Copy the full SHA
    6001b08 View commit details

Commits on Aug 19, 2021

  1. Copy the full SHA
    9c72130 View commit details
  2. Copy the full SHA
    68a0cd4 View commit details
  3. general translation

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    f01580a View commit details
  4. celestial strings

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    c41b8ea View commit details
  5. does not fit

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    73b0005 View commit details
  6. Copy the full SHA
    f123129 View commit details
  7. Copy the full SHA
    194ccfc View commit details
  8. Copy the full SHA
    f0cd266 View commit details
  9. fullwidth

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    03bc2fd View commit details
  10. celestial

    eggrobin committed Aug 19, 2021
    Copy the full SHA
    328cc58 View commit details

Commits on Aug 20, 2021

  1. excentricité

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    fa757e4 View commit details
  2. swap

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    37827c5 View commit details
  3. pin

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    dd97047 View commit details
  4. Copy the full SHA
    5b186fb View commit details
  5. swap, lowercase

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    1ad57ac View commit details
  6. spaces, H0, s

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    91f1b27 View commit details
  7. too many colons

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    75193f8 View commit details
  8. too many blank lines

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    7fb8e66 View commit details
  9. : in comments, reconstruire

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    25fdac0 View commit details
  10. ;

    eggrobin committed Aug 20, 2021
    Copy the full SHA
    6390386 View commit details
  11. Merge pull request #3104 from eggrobin/fr-translation

    French translations
    eggrobin authored Aug 20, 2021
    Copy the full SHA
    12ab786 View commit details
3 changes: 3 additions & 0 deletions ksp_plugin_adapter/ksp_plugin_adapter.csproj
Original file line number Diff line number Diff line change
@@ -187,6 +187,9 @@
<None Include="localization\celestial_strings.cfg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="localization\fr-fr.cfg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="localization\zh-cn.cfg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
74 changes: 52 additions & 22 deletions ksp_plugin_adapter/localization/celestial_strings.cfg
Original file line number Diff line number Diff line change
@@ -4,12 +4,15 @@
// generic terminology.
// Thus, while geocentric inertial and GCI are well-attested, we do not use
// them because Earth-Centred Inertial and ECI are more common.
#Principia_MapNode_Periapsis(Sun).en-us = Perihelion
#Principia_MapNode_Periapsis(Earth).en-us = Perigee
#Principia_MapNode_Periapsis(Jupiter).en-us = Perijove
#Principia_MapNode_Apoapsis(Sun).en-us = Aphelion
#Principia_MapNode_Apoapsis(Earth).en-us = Apogee
#Principia_MapNode_Apoapsis(Jupiter).en-us = Apojove
// For the apsides, <<12>> is the name of the relevant celestial (in two forms as above).
// <<3>> is the source (predicted or planned).
// <<4>> is the altitude in metres.
#Principia_MapNode_PeriapsisHeader(Sun).en-us = <<3>> Perihelion:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Earth).en-us = <<3>> Perigee:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Jupiter).en-us = <<3>> Perijove:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Sun).en-us = <<3>> Aphelion:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Earth).en-us = <<3>> Apogee:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Jupiter).en-us = <<3>> Apojove:\n <<4>> m
#Principia_OrbitAnalyser_Elements_Periapsis(Sun).en-us = perihelion
#Principia_OrbitAnalyser_Elements_Apoapsis(Sun).en-us = aphelion
#Principia_OrbitAnalyser_Elements_Periapsis(Earth).en-us = perigee
@@ -36,26 +39,53 @@
// modern (the former is common in the context of Galileo, the latter in the
// context of Juno).
}
fr-fr {
#Principia_MapNode_PeriapsisHeader(Sun).fr-fr = Périhélie <<3>> :\n<<4>> m
#Principia_MapNode_PeriapsisHeader(Earth).fr-fr = Périgée <<3>> :\n<<4>> m
#Principia_MapNode_ApoapsisHeader(Sun).fr-fr = Aphélie <<3>> :\n<<4>> m
#Principia_MapNode_ApoapsisHeader(Earth).fr-fr = Apogée <<3>> :\n<<4>> m
#Principia_OrbitAnalyser_Elements_Periapsis(Sun).fr-fr = périhélie
#Principia_OrbitAnalyser_Elements_Apoapsis(Sun).fr-fr = aphélie
#Principia_OrbitAnalyser_Elements_Periapsis(Earth).fr-fr = périgée
#Principia_OrbitAnalyser_Elements_Apoapsis(Earth).fr-fr = apogée

// <<3>> is the sequence of properties, starting with a space.
#Principia_OrbitAnalyser_OrbitDescription(Sun).fr-fr = orbite héliocentrique<<3>>
#Principia_OrbitAnalyser_OrbitDescription(Moon).fr-fr = orbite lunaire<<3>>
#Principia_OrbitAnalyser_OrbitDescription(Earth).fr-fr = orbite terrestre<<3>>
#Principia_OrbitAnalyser_OrbitDescription_Synchronous(Earth).fr-fr = orbite géosynchrone<<3>>
#Principia_OrbitAnalyser_OrbitDescription_Stationary(Earth).fr-fr = orbite géostationnaire

#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating(Sun).fr-fr = héliocentrique
#Principia_ReferenceFrameSelector_NavballName_BodyCentredNonRotating(Sun).fr-fr = Réf. héliocentr.
#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating(Earth).fr-fr = géocentrique
#Principia_ReferenceFrameSelector_NavballName_BodyCentredNonRotating(Earth).fr-fr = Réf. géocentr.
#Principia_ReferenceFrameSelector_Name_BodySurface(Earth).fr-fr = terrestre
#Principia_ReferenceFrameSelector_NavballName_BodySurface(Earth).fr-fr = Réf. terrestre
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection(Earth,Sun).fr-fr = Géocentrique Solaire Écliptique
#Principia_ReferenceFrameSelector_NavballName_BodyCentredParentDirection(Earth,Sun).fr-fr = Référentiel GSE
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection(Earth,Sun).fr-fr = Le centre de <<A:1>> est fixe.\nLe plan de l’écliptique (le plan de l’orbite de <<A:1>> autour de <<A:3>>) est horizontal.\nLe référentiel tourne suivant l’orbite, de manière à garder la direction de <<A:3>> fixe.
}
zh-cn {
// The names of the apsides for the naked-eye bodies are all attested in
// CNKI; wherever Chinese spacecraft have been sent, the specific word is
// far more common than the generic 近拱点 in that context.
#Principia_MapNode_Periapsis(Sun).zh-cn = 近日点
#Principia_MapNode_Periapsis(Mercury).zh-cn = 近水点
#Principia_MapNode_Periapsis(Venus).zh-cn = 近金点
#Principia_MapNode_Periapsis(Earth).zh-cn = 近地点
#Principia_MapNode_Periapsis(Moon).zh-cn = 近月点
#Principia_MapNode_Periapsis(Mars).zh-cn = 近火点
#Principia_MapNode_Periapsis(Jupiter).zh-cn = 近木点
#Principia_MapNode_Periapsis(Saturn).zh-cn = 近土点
#Principia_MapNode_Apoapsis(Sun).zh-cn = 远日点
#Principia_MapNode_Apoapsis(Mercury).zh-cn = 远水点
#Principia_MapNode_Apoapsis(Venus).zh-cn = 远金点
#Principia_MapNode_Apoapsis(Earth).zh-cn = 远地点
#Principia_MapNode_Apoapsis(Moon).zh-cn = 远月点
#Principia_MapNode_Apoapsis(Mars).zh-cn = 远火点
#Principia_MapNode_Apoapsis(Jupiter).zh-cn = 远木点
#Principia_MapNode_Apoapsis(Saturn).zh-cn = 远土点
#Principia_MapNode_PeriapsisHeader(Sun).zh-cn = <<3>>近日点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Mercury).zh-cn = <<3>>近水点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Venus).zh-cn = <<3>>近金点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Earth).zh-cn = <<3>>近地点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Moon).zh-cn = <<3>>近月点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Mars).zh-cn = <<3>>近火点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Jupiter).zh-cn = <<3>>近木点:\n <<4>> m
#Principia_MapNode_PeriapsisHeader(Saturn).zh-cn = <<3>>近土点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Sun).zh-cn = <<3>>远日点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Mercury).zh-cn = <<3>>远水点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Venus).zh-cn = <<3>>远金点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Earth).zh-cn = <<3>>远地点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Moon).zh-cn = <<3>>远月点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Mars).zh-cn = <<3>>远火点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Jupiter).zh-cn = <<3>>远木点:\n <<4>> m
#Principia_MapNode_ApoapsisHeader(Saturn).zh-cn = <<3>>远土点:\n <<4>> m
#Principia_OrbitAnalyser_Elements_Periapsis(Sun).zh-cn = 近日点
#Principia_OrbitAnalyser_Elements_Periapsis(Mercury).zh-cn = 近水点
#Principia_OrbitAnalyser_Elements_Periapsis(Venus).zh-cn = 近金点
240 changes: 240 additions & 0 deletions ksp_plugin_adapter/localization/fr-fr.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
Localization {
fr-fr {
// Placeholder-only strings for extracting specific forms.
#Principia_GrammaticalForm_Standalone = <<C:1>>

// MainWindow
#Principia_MainWindow_PluginNotStarted = Plugin non démarré
// <<1>> next_release_lunation_number <<2>> next release name
#Principia_MainWindow_NewMoonAnnouncementWithKspDeprecation = Avertissement : la nouvelle lune de la lunaison numéro <<1>> est arrivée ; merci de mettre à jour KSP à la version <<3>> et de télécharger la dernière version de Principia, <<2>>. Notez que RealismOverhaul et RealSolarSystem supportent maintenant KSP <<3>>.
#Principia_MainWindow_NewMoonAnnouncement = Avertissement : la nouvelle lune de la lunaison numéro <<1>> est arrivée ; merci de télécharger la dernière version de Principia, <<2>>.
#Principia_MainWindow_TargetVessel_Select = Sélectionner le vaisseau cible...
#Principia_MainWindow_TargetVessel_Name = Cible : <<1>> // <<1>> vessel name
#Principia_MainWindow_TargetVessel_Clear = Effacer
#Principia_MainWindow_TargetVessel_SwitchTo = Échanger
#Principia_MainWindow_PredictionSettings = Paramètres de prédiction
#Principia_MainWindow_KspFeatures = Fonctionalités de KSP
#Principia_MainWindow_LoggingSettings = Paramètres de logging
#Principia_MainWindow_KspFeature_DisplayPatchedConics = Afficher les coniques juxtaposées (ne pas utiliser pour les plans de vol !)
#Principia_MainWindow_TargetCelestial_Select = Sélectionner le corps cible...
#Principia_MainWindow_TargetCelestial_Name = Cible : <<A:1>> // <<1>> celestial name
#Principia_MainWindow_TargetCelestial_Clear = Effacer
#Principia_MainWindow_LoggingSettings_VerboseLevel = Niveau de verbosité :
#Principia_MainWindow_LoggingSettings_LogOption = Traces
#Principia_MainWindow_LoggingSettings_StderrOption = stderr
#Principia_MainWindow_LoggingSettings_FlushOption = Immédiat
#Principia_MainWindow_LoggingSettings_RecordJournal = Enregistrer un journal (démarre au chargement)
#Principia_MainWindow_LoggingSettings_RecordJournalResult = Le journal est <<1>> // <<1>> ON/OFF
#Principia_MainWindow_LoggingSettings_JournalingStatus_ON = ACTIF
#Principia_MainWindow_LoggingSettings_JournalingStatus_OFF = INACTIF
#Principia_PredictionSettings_ToleranceLabel = Tolérance :
#Principia_PredictionSettings_ToleranceText = <<1>> m // <<1>>: parameters.length_integration_tolerance.ToString("0.0e0").
#Principia_PredictionSettings_Steps = Pas :
#Principia_DiscreteSelector_Min = min
#Principia_DiscreteSelector_Max = max
#Principia_MainWindow_HistoryLength = Long. max. histoire

// PrincipiaPluginAdapter
#Principia_DLLFailedToLoad = La DLL de Principia ne s’est pas correctement chargée.\n<<1>>\n\nAttention : ne chargez pas une sauvegarde Principia avant d’avoir résolu cette erreur ; la sauvegarde pourrait se corrompre. // <<1>>: load_error.
#Principia_PlottingFrame = référentiel de dessin
#Principia_SpeedDisplayModeTarget = Cible
#Principia_SpeedDisplayText = <<1>> m/s // <<1>>: active_vessel_velocity.magnitude.ToString("F1").

// ReferenceFrameSelector

// For the names, abbreviations, and descriptions, except the description of
// the target frame, <<12>> and <<34>> are the names and initials of the relevant
// celestial bodies, <<34>> being the parent of <<12>>.
// Odd: names (Sun^n, Moon^n, Saturn^N, Terre^f, Vénus^F, 火星),
// Even: initials if applicable (S, M, S, T, V, 火星).

#Principia_ReferenceFrameSelector_Name_Target = Cible-<<C:1>>-Orbite
#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating = galiléen centré sur <<A:1>>
#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection = <<C:1>>-<<C:3>>-Orbite
#Principia_ReferenceFrameSelector_Name_BodySurface = lié à <<A:1>>

#Principia_ReferenceFrameSelector_NavballName_Target.fr-fr = Réf. Cible-<<C:2>>-O
#Principia_ReferenceFrameSelector_NavballName_BodyCentredNonRotating.fr-fr = Réf. gal. <<1>>
#Principia_ReferenceFrameSelector_NavballName_BodyCentredParentDirection.fr-fr = Référentiel <<C:2>><<C:4>>O
#Principia_ReferenceFrameSelector_NavballName_BodySurface.fr-fr = Réf. lié à <<A:1>>

#Principia_ReferenceFrameSelector_SelectorText_Target = Orbite
#Principia_ReferenceFrameSelector_SelectorText_BodyCentredNonRotating = Gal.
#Principia_ReferenceFrameSelector_SelectorText_BodyCentredParentDirection = Orbite
#Principia_ReferenceFrameSelector_SelectorText_BodySurface = Sol

// <<1>> is the full name of the reference frame.
#Principia_ReferenceFrameSelector_Description_Heading = Référentiel <<1>> :

// <<1>> is the name of the target vessel, <<2>> is the name of its primary.
#Principia_ReferenceFrameSelector_Description_Target = Le vaisseau cible, <<1>>, est fixe.\nLe plan de son orbite autour de <<A:2>> est horizontal.\nLe référentiel tourne suivant l’orbite, de manière à garder la direction de <<A:2>> fixe.

#Principia_ReferenceFrameSelector_Description_BodyCentredNonRotating = Le centre de <<A:1>> est fixe.\nSon équateur est horizontal.\nLe référentiel ne tourne pas.
#Principia_ReferenceFrameSelector_Description_BodyCentredParentDirection = Le centre de <<A:1>> est fixe.\nLe plan de son orbite autour de <<A:3>> est horizontal.\nLe référentiel tourne suivant l’orbite, de manière à garder la direction de <<A:3>> fixe.
#Principia_ReferenceFrameSelector_Description_BodySurface = <<AC:1>> est fixe.\nSon équateur est horizontal.\nLe réferentiel tourne comme <<A:1>>.

#Principia_ReferenceFrameSelector_ReferencePlane_Centred = équateur de <<A:1>> // <<1>> centred body
#Principia_ReferenceFrameSelector_ReferencePlane_Secondary_Target = la cible
#Principia_ReferenceFrameSelector_ReferencePlane = orbite de <<A:1>> autour de <<A:2>> // <<1>> secondary body <<2>> centred body
#Principia_ReferenceFrameSelector_ToggleButton = Sélection du <<1>> (<<2>>)... // <<1>> plotting <<2>> selected frame
#Principia_ReferenceFrameSelector_Title = Sélection du <<1>> (<<2>>) // <<1>> plotting <<2>> selected frame
// <<1>> is the full name of the reference frame, <<2>> is the central body.
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredNonRotating = Réferentiel <<1>> : pour les trajectoires Keplériennes perturbées autour de <<A:2>>.
#Principia_ReferenceFrameSelector_Tooltip_BodySurface = Référentiel <<1>> : pour les opérations impliquant la surface de <<A:2>> (atterissages, télédétection, imagerie, télécommunications, etc.).
#Principia_ReferenceFrameSelector_Tooltip_BodyCentredParentDirection = Référentiel <<1>> : pour les survols de <<A:2>>, les transferts de ou vers <<A:2>>.
#Principia_ReferenceFrameSelector_Tooltip_Target = Référentiel <<1>> : pour les interceptions ou les rendez-vous avec le vaisseau cible.
#Principia_ReferenceFrameSelector_Target = Cible : <<1>>
#Principia_ReferenceFrameSelector_Pin = Épingler

// OrbitAnalyser
#Principia_OrbitAnalyser_Precesses = (précession)
#Principia_OrbitAnalyser_Title = Analyse d’orbite
#Principia_OrbitAnalyser_Duration_GroundTrackCycles = \u0020(<<1>> cycles de phasage) // <<1>> ground_track_cycles.FormatN(0)
#Principia_OrbitAnalyser_Duration_Revolutions = <<1>> révolutions sidérales\n<<2>> révolutions nodales<<3>>\n<<4>> révolutions anomalistiques // <<3>> duration_in_ground_track_cycles
#Principia_OrbitAnalyser_Warning_NoElements1 = impossible de déterminer les élements ; la durée de la mission est inférieure à une révolution, ou la trajectoire n’est pas liée gravitationellement.
#Principia_OrbitAnalyser_Warning_NoElements2 = impossible de déterminer les élements ; la durée de la mission est inférieure à une révolution, ou la trajectoire n’est pas liée gravitationellement à <<A:1>>. // <<1>> primary.NameWithArticle()
#Principia_OrbitAnalyser_Warning_NoPrimary = le vaisseau <<1>> n’est pas gravitationellement lié pendant <<2>> // <<2>>mission_duration.FormatDuration <<1>> vessel name
#Principia_OrbitAnalyser_AnalysisDescription = Orbite de <<1>> autour de <<A:2>> pendant <<3>> :\n<<4>> // <<1>> vessel name <<2>> centre body <<3>> time <<4>> result
#Principia_OrbitAnalyser_OrbitDescription_Circular = \u0020circulaire
#Principia_OrbitAnalyser_OrbitDescription_HighlyElliptical = \u0020très elliptique
#Principia_OrbitAnalyser_OrbitDescription_Equatorial = \u0020équatoriale
#Principia_OrbitAnalyser_OrbitDescription_Polar = \u0020polaire
#Principia_OrbitAnalyser_OrbitDescription_Retrograde = \u0020rétrograde
#Principia_OrbitAnalyser_OrbitDescription_Synchronous = \u0020synchrone
#Principia_OrbitAnalyser_OrbitDescription_Stationary = \u0020stationnaire
#Principia_OrbitAnalyser_OrbitDescription_Semisynchronous = \u0020semisynchrone
// <<12>> is the primary, in two forms as above.
// <<3>> is the sequence of properties, starting with a space.
#Principia_OrbitAnalyser_OrbitDescription = orbite<<3>> autour de <<A:1>>
#Principia_OrbitAnalyser_Elements_LowestAltitude = Altitude minimale
#Principia_OrbitAnalyser_Warning_Collision = collision
#Principia_OrbitAnalyser_Warning_CollisionRisk = risque de collision
#Principia_OrbitAnalyser_Warning_Reentry = rentrée
#Principia_OrbitAnalyser_Elements_MeanElements = Éléments orbitaux moyens
#Principia_OrbitAnalyser_Elements_SiderealPeriod = Période sidérale
#Principia_OrbitAnalyser_Elements_NodalPeriod = Période nodale
#Principia_OrbitAnalyser_Elements_AnomalisticPeriod = Période anomalistique
#Principia_OrbitAnalyser_Elements_SemimajorAxis = Demi-grand axe
#Principia_OrbitAnalyser_Elements_Eccentricity = Excentricité
#Principia_OrbitAnalyser_Elements_Inclination = Inclinaison
#Principia_OrbitAnalyser_Elements_LongitudeOfAscendingNode = Longitude du nœud ascendant
#Principia_OrbitAnalyser_Elements_NodalPrecession = Précession nodale
// These are celestial strings parameterized on the body.
#Principia_OrbitAnalyser_Elements_Periapsis = périastre
#Principia_OrbitAnalyser_Elements_Apoapsis = apoastre
// In the following three strings, <<1>> is the Periapsis or Apoapsis string
// above.
#Principia_OrbitAnalyser_Elements_ArgumentOfPeriapsis = Argument du <<1>>
#Principia_OrbitAnalyser_Elements_MeanPeriapsisAltitude = Altitude moyenne du <<1>>
#Principia_OrbitAnalyser_Elements_MeanApoapsisAltitude = Altitude moyenne de l’<<1>>
#Principia_OrbitAnalyser_GroundTrack = Trace au sol
#Principia_OrbitAnalyser_Recurrence_CapderouTriple = Phasage : <<1>>
#Principia_OrbitAnalyser_Recurrence_AutoDetect = Détecter automatiquement
#Principia_OrbitAnalyser_Recurrence_Cycle = Cycle
#Principia_OrbitAnalyser_Recurrence_Cycle_RevolutionsEquals = révolutions \u003D
#Principia_OrbitAnalyser_Recurrence_Cycle_Days = jours
#Principia_OrbitAnalyser_Recurrence_Subcycle = Sous-cycle
#Principia_OrbitAnalyser_Recurrence_SubcycleLengthInDays = <<1>> jours
#Principia_OrbitAnalyser_Recurrence_EquatorialShift = Décalage équatorial
#Principia_OrbitAnalyser_Recurrence_GridInterval = Intervalle de grille
#Principia_OrbitAnalyser_GroundTrack_LongitudesOfEquatorialCrossings_Prefix = Longitudes des passages a l’équateur de la rév. nᵒ
#Principia_OrbitAnalyser_GroundTrack_LongitudesOfEquatorialCrossings_Suffix =
#Principia_OrbitAnalyser_GroundTrack_AscendingPass = Passe ascendante
#Principia_OrbitAnalyser_GroundTrack_DescendingPass = Passe descendante
#Principia_OrbitAnalyser_MissionDuration = Durée
#Principia_CurrentOrbitAnalyser_ToggleButton = Analyse d’orbite...
#Principia_CurrentOrbitAnalyser_ToggleButtonWithDescription = Analyse : <<1>>... // <<1>> orbit_description
#Principia_CurrentOrbitAnalyser_Analysing = Analyse de l’orbite de <<1>>... // <<1>> vessel name
#Principia_PlannedOrbitAnalyser_ToggleButton = Analyse de la trajectoire finale...
#Principia_PlannedOrbitAnalyser_ToggleButtonWithDescription = Analyse de l’orbite finale : <<1>>... // <<1>> orbit_description
#Principia_PlannedOrbitAnalyser_Analysing = Analyse de l’orbite finale planifiée pour <<1>>... // <<1>> predicted_vessel.vesselName

// FlightPlanner
#Principia_FlightPlan_PlanLength = Longueur
#Principia_FlightPlan_ToggleButton = Plan de vol...
#Principia_FlightPlan_Title = Plan de vol
#Principia_FlightPlan_Create = Créer un plan de vol
#Principia_FlightPlan_MaxSteps = Max. pas par segment :
#Principia_FlightPlan_TotalΔv = Δv total : <<1>> m/s // <<1>>: Δv.ToString("0.000").
#Principia_FlightPlan_Delete = Supprimer le plan de vol
#Principia_FlightPlan_Rebase = Reconstruire
#Principia_FlightPlan_ManœuvreHeader = Manœuvre nᵒ <<1>>
#Principia_FlightPlan_UpcomingManœuvre = Manœuvre nᵒ <<1>> à venir :
#Principia_FlightPlan_IgnitionCountdown = Allumage <<1>>
#Principia_FlightPlan_OngoingManœuvre = Manœuvre nᵒ <<1>> en cours :
#Principia_FlightPlan_CutoffCountdown = Extinction <<1>>
#Principia_FlightPlan_ShowManœuvreOnNavball = Montrer sur la navball
#Principia_FlightPlan_WarpToManœuvre = Avancer jusqu’à la manœuvre
#Principia_FlightPlan_Warning_AllManœuvresInThePast = Toutes les manœuvres sont dans le passé
#Principia_FlightPlan_Coast = Vol non propulsé pendant <<1>> // <<1>> coast_duration
#Principia_FlightPlan_CoastInOrbit = Vol en <<1>> pendant <<2>>
#Principia_FlightPlan_AddManœuvre = Ins. manœuvre
#Principia_FlightPlan_StatusMessage_ChangeFlightPlan = de modifier le plan de vol
#Principia_FlightPlan_StatusMessage_FailedError = le calcul a échoué avec l’erreur <<1>> et le message \"<<2>>\" // <<1>> status_.error <<2>> status_.message
#Principia_FlightPlan_StatusMessage_TimeOut = au bout de <<1>> // <<1>> Timeout
#Principia_FlightPlan_StatusMessage_MaxSteps = l’intégrateur a atteint le nombre maximum de pas <<1>> // <<1>> Timeout
#Principia_FlightPlan_StatusMessage_MaxSegment = d’augmenter « Max. pas par segment » ou d’éviter les collisions avec un corps céleste
#Principia_FlightPlan_StatusMessage_Singularity = l’intégrateur a rencontré une singularité (probablement le centre d’un corps céleste) <<1>> // <<1>> timeout
#Principia_FlightPlan_StatusMessage_AvoidingCollision = d’éviter les collisions avec un corps céleste
#Principia_FlightPlan_StatusMessage_Infinite = la manœuvre nᵒ <<1>> donnerait lieu à une vitesse infinie ou indéterminée // <<1>> Error Manœuvre
#Principia_FlightPlan_StatusMessage_Adjust = d’ajuster la durée de la manœuvre nᵒ <<1>> // <<1>> Error Manœuvre
#Principia_FlightPlan_StatusMessage_OutRange1 = la manœuvre nᵒ <<1>> se recoupe avec <<2>> ou <<3>>
#Principia_FlightPlan_StatusMessage_OutRange2 = le début du plan de vol
#Principia_FlightPlan_StatusMessage_OutRange3 = la manœuvre nᵒ <<1>>
#Principia_FlightPlan_StatusMessage_OutRange4 = la fin du plan de vol
#Principia_FlightPlan_StatusMessage_OutRange5 = la manœuvre nᵒ <<1>>
#Principia_FlightPlan_StatusMessage_OutRange6 = <<1>>d’ajuster le temps initial ou de réduire la durée de la manœuvre nᵒ <<2>>
#Principia_FlightPlan_StatusMessage_OutRange7 = de rallonger le plan de vol ou\u0020
#Principia_FlightPlan_StatusMessage_TooShort = le plan de vol est trop court
#Principia_FlightPlan_StatusMessage_Increase = d’augmenter la durée du plan de vol
#Principia_FlightPlan_StatusMessage_CantRebase = le plan de vol ne peut pas être rebasé pendant l’exécution d’une manœuvre planifiée
#Principia_FlightPlan_StatusMessage_WaitFinish = de déplacer la manœuvre ou d’attendre qu’elle soit finie
#Principia_FlightPlan_StatusMessage_Last = Les <<1>> dernières manœuvres n’ont pas pu être dessinées parce que <<2>> ; essayez <<3>><<4>>. // <<1>>: anomalous_manœuvres; <<2>>: status_message; <<3>>: remedy_message; <<4>>: #Principia_FlightPlan_StatusMessage_Last2.
#Principia_FlightPlan_StatusMessage_Last2 = \u0020ou d’ajuster la manœuvre nᵒ <<1>>
#Principia_FlightPlan_StatusMessage_Result = <<1>> ; essayez <<2>>.

// BurnEditor
#Principia_BurnEditor_SpeedUnit = m/s
#Principia_BurnEditor_ΔvTangent = Δv tangent
#Principia_BurnEditor_ΔvNormal = Δv normal
#Principia_BurnEditor_ΔvBinormal = Δv binormal
#Principia_BurnEditor_InitialTime = Début : H0 +
#Principia_BurnEditor_ManœuvringFrame = référentiel de manœuvre
#Principia_BurnEditor_MinimizedHeader = <<1>> (<<2>> m/s) // <<1>>: header, <<2>>: Δv().ToString("0.000").
#Principia_BurnEditor_Info_InconsistentFrames = Le référentiel de manœuvre diffère de celui de dessin
#Principia_BurnEditor_Delete = Suppr.
#Principia_BurnEditor_ActiveEngines = Moteurs actifs
#Principia_BurnEditor_ActiveRCS = RCS actif
#Principia_BurnEditor_InstantImpulse = Impulsion instantanée
#Principia_BurnEditor_InertiallyFixed = Inertiellement fixe
#Principia_BurnEditor_TimeBase_StartOfFlightPlan = H0 : début du plan de vol
#Principia_BurnEditor_TimeBase_EndOfManœuvre = H0 : fin de la manœuvre nᵒ <<1>> // <<1>> index
#Principia_BurnEditor_Δv = Δv de la manœuvre : <<1>> m/s // <<1>>: Δv().ToString("0.000").
#Principia_BurnEditor_Duration = Durée : <<1>> s // <<1>>: duration_.ToString("0.0").
#Principia_BurnEditor_Warning_NoActiveEngines = Pas de moteurs actifs, utilisation du RCS.\u0020
#Principia_BurnEditor_Warning_NoActiveRCS = Pas de RCS actif, modélisation comme impulsion instantanée.\u0020

// Log
#Principia_Logging_Info = INFO
#Principia_Logging_Warning = WARNING
#Principia_Logging_Error = ERROR
#Principia_Logging_Fatal = FATAL

// MapNodePool
#Principia_MapNode_Planned = planifié
#Principia_MapNode_Predicted = prédit
// For the apsides, <<12>> is the name of the relevant celestial (in two forms as above).
// <<3>> is the source (predicted or planned).
// <<4>> is the altitude in metres.
#Principia_MapNode_PeriapsisHeader = Périastre <<3>> :\n<<4>> m au-dessus de <<A:1>>
#Principia_MapNode_ApoapsisHeader = Apoastre <<3>> :\n<<4>> m au-dessus de <<A:1>>
#Principia_MapNode_ApsisCaptionLine2 = <<1>> m/s // <<1>>: speed.FormatN(0).
#Principia_MapNode_AscendingNode = Nœud ascendant
#Principia_MapNode_DescendingNode = Nœud descendant
#Principia_MapNode_NodeHeader = <<2>> <<1>> :\n<<3>> // <<1>>: source; <<2>>: node_name; <<3>>: plane.
#Principia_MapNode_NodeCaptionLine2 = <<1>> m/s // <<1>>: properties.velocity.z.FormatN(0)
#Principia_MapNode_ApproachHeader = Rapprochement <<1>> à la cible : <<2>> m // <<1>>: source, <<2>>: separation.FormatN(0).
#Principia_MapNode_ApproachCaptionLine2 = <<1>> m/s // <<1>>: speed.FormatN(0).
#Principia_MapNode_ImpactHeader = Impact <<1>> sur <<A:2>> // <<1>>: source, <<2>>: celestial.name.
}
}
8 changes: 5 additions & 3 deletions ksp_plugin_adapter/reference_frame_selector.cs
Original file line number Diff line number Diff line change
@@ -163,13 +163,15 @@ private static string Name(FrameType type,
}

private static string TargetFrameAbbreviation(Vessel target) {
return L10N.FormatOrNull(
return L10N.CelestialStringOrNull(
"#Principia_ReferenceFrameSelector_Abbreviation_Target",
target.orbit.referenceBody.name[0]);
new[]{target.orbit.referenceBody});
}

private static string TargetFrameNavballName(Vessel target) {
return TargetFrameAbbreviation(target) ?? TargetFrameName(target);
return TargetFrameAbbreviation(target) ?? L10N.CelestialStringOrNull(
"#Principia_ReferenceFrameSelector_NavballName_Target",
new[]{target.orbit.referenceBody}) ?? TargetFrameName(target);
}

private static string TargetFrameSelectorText(Vessel target) {