git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@136 180e2...
authorbdureau <bdureau@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 18 Jul 2011 23:19:58 +0000 (23:19 +0000)
committerbdureau <bdureau@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 18 Jul 2011 23:19:58 +0000 (23:19 +0000)
l10n/messages_de.properties
l10n/messages_es.properties
l10n/messages_fr.properties
src/net/sf/openrocket/document/OpenRocketDocument.java
src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java
src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java
src/net/sf/openrocket/gui/configdialog/StreamerConfig.java
src/net/sf/openrocket/gui/dialogs/DebugLogDialog.java
src/net/sf/openrocket/gui/print/OpenRocketPrintable.java
src/net/sf/openrocket/rocketcomponent/EllipticalFinSet.java
src/net/sf/openrocket/util/Icons.java

index fa1747c3cb2ed1e5f866574ddbf7134078707aa3..f3f6bbe1d25ceecf2e374bcd87d8698965960bd0 100644 (file)
@@ -149,6 +149,9 @@ debuglogdlg.col.Message = Nachricht
 debuglogdlg.lbl.Loglinenbr = Log-Zeilennummer\r
 debuglogdlg.lbl.Time = Zeit:\r
 debuglogdlg.lbl.Level = Level:\r
+debuglogdlg.lbl.Location = Location:\r
+debuglogdlg.lbl.Logmessage = Log message:\r
+debuglogdlg.lbl.Stacktrace = Stack trace:\r
 \r
 \r
 ! Edit Motor configuration dialog\r
@@ -649,6 +652,10 @@ FreeformFinSetCfg.lbl.Posrelativeto = Position relativ zu:
 FreeformFinSetCfg.lbl.plus = plus\r
 FreeformFinSetCfg.lbl.FincrossSection = Querschnitt:\r
 FreeformFinSetCfg.lbl.Thickness = Wandstärke:\r
+FreeformFinSetCfg.lbl.Double-click = Double-click\r
+FreeformFinSetCfg.lbl.toedit = to edit\r
+FreeformFinSetCfg.lbl.Clickdrag = Click+drag: Add and move points\r
+FreeformFinSetCfg.lbl.Ctrlclick = Ctrl+click: Remove point\r
 \r
 !InnerTubeConfig\r
 InnerTubeCfg.tab.Motor = Motor\r
@@ -752,6 +759,7 @@ ParachuteCfg.tab.ttip.Radialpos = Konfiguration der radialen Position
 ParachuteCfg.lbl.Radialdistance = Radialer Abstand:\r
 ParachuteCfg.lbl.Radialdirection = radiale Richtung:\r
 ParachuteCfg.but.Reset = Zurücksetzen\r
+ParachuteCfg.lbl.plusdelay = plus\r
 \r
 ! ShockCordConfig \r
 ShockCordCfg.lbl.Shockcordlength = Länge des Gummibands\r
@@ -797,6 +805,7 @@ StreamerCfg.tab.ttip.Radialpos = Konfiguration der radialen Position
 StreamerCfg.lbl.Radialdistance = Radialer Abstand:\r
 StreamerCfg.lbl.Radialdirection = radiale Richtung:\r
 StreamerCfg.but.Reset = Zurücksetzen\r
+StreamerCfg.lbl.plusdelay = plus\r
 \r
 ! ThicknessRingComponentConfig\r
 ThicknessRingCompCfg.tab.Outerdiam = Außendurchmesser:\r
@@ -1001,12 +1010,8 @@ Shape.Ellipsoid = Ellipsoid
 Shape.Ellipsoid.desc1 = Eine ellipsoide Spitze hat ein Profil einer Halbellipse mit der einer Hauptachsenlänge von 2&times;<i>Länge</i> und <i>Durchmesser</i> \r
 Shape.Ellipsoid.desc2 = An ellipsoidal transition has a profile of a half-ellipse with major axes of lengths 2&times;<i>Length</i> and <i>Diameter</i>.  If the transition is not clipped, then the profile is extended at the center by the corresponding radius.             \r
 Shape.Powerseries = Power series\r
-Shape.Powerseries.descA1 = A power series nose cone has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 this is a <b>\r
-Shape.Powerseries.descA2 = -power</b> or <b>parabolic</b> nose cone, for <i>k</i>=0.75 a <b>\r
-Shape.Powerseries.descA3 = -power</b>, and for <i>k</i>=1 a <b>conical</b> nose cone.\r
-Shape.Powerseries.descB1 = A power series transition has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 the transition is <b>\r
-Shape.Powerseries.descB2 = -power</b> or <b>parabolic</b>, for <i>k</i>=0.75 a <b>\r
-Shape.Powerseries.descB3 = -power</b>, and for <i>k</i>=1 <b>conical</b>.\r
+Shape.Powerseries.desc1 = A power series nose cone has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 this is a <b>\u00BD-power</b> or <b>parabolic</b> nose cone, for <i>k</i>=0.75 a <b>\u00BE-power</b>, and for <i>k</i>=1 a <b>conical</b> nose cone.\r
+Shape.Powerseries.desc2 = A power series transition has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 the transition is <b>\u00BD-power</b> or <b>parabolic</b>, for <i>k</i>=0.75 a <b>\u00BE-power</b>, and for <i>k</i>=1 <b>conical</b>.\r
 Shape.Parabolicseries = Parabolic series\r
 Shape.Parabolicseries.desc1 = A parabolic series nose cone has a profile of a parabola.  The shape parameter defines the segment of the parabola to utilize.  The shape parameter 1.0 produces a <b>full parabola</b> which is tangent to the body tube, 0.75 produces a <b>3/4 parabola</b>, 0.5 procudes a <b>1/2 parabola</b> and 0 produces a <b>conical</b> nose cone.\r
 Shape.Parabolicseries.desc2 = A parabolic series transition has a profile of a parabola.  The shape parameter defines the segment of the parabola to utilize.  The shape parameter 1.0 produces a <b>full parabola</b> which is tangent to the body tube at the aft end, 0.75 produces a <b>3/4 parabola</b>, 0.5 procudes a <b>1/2 parabola</b> and 0 produces a <b>conical</b> transition.\r
@@ -1208,3 +1213,14 @@ Warning.JAGGED_EDGED_FIN = Gezackte Ecken in Leitwerken k
 Warning.LISTENERS_AFFECTED = Simulationsempfänger haben die Simulation beeinflusst.\r
 Warning.RECOVERY_DEPLOYMENT_WHILE_BURNING = Bergungssystem wurde ausgelöst während der Motor noch gebrannt hat.\r
 Warning.FILE_INVALID_PARAMETER = Ignoriere ungültigen Parameter.\r
+\r
+!icons\r
+Icons.Undo = Undo\r
+Icons.Redo = Redo\r
+\r
+OpenRocketPrintable.Partsdetail = Parts detail\r
+OpenRocketPrintable.Fintemplates = Fin templates\r
+OpenRocketPrintable.DesignReport = Design Report\r
+\r
+OpenRocketDocument.Redo = Redo\r
+OpenRocketDocument.Undo = Undo\r
index 21477eb4dc531df509351c6d1f411905ca8a814e..7061bc4b569d4b969c3c20c3d7ae0b0fad07459b 100644 (file)
@@ -30,7 +30,8 @@ RocketActions.CopyAct.Copy = Copiar
 RocketActions.CopyAct.ttip.Copy = Copiar este componente (y subcomponentes) a la libreta de notas
 RocketActions.PasteAct.Paste = Pegar
 RocketActions.PasteAct.ttip.Paste = Pegar el componente o simulación de la libreta de notas al diseño.
-RocketActions.EditAct.Edit = Mostrar
+RocketActions.EditAct.Edit = Editar componente
+!Mostrar
 RocketActions.EditAct.ttip.Edit = Mostrar el componente seleccionado
 RocketActions.NewStageAct.Newstage = Nueva etapa
 RocketActions.NewStageAct.ttip.Newstage = Añadir una nueva etapa al diseño del cohete
@@ -53,7 +54,8 @@ RocketPanel.lbl.infoMessage = <html>Click para seleccionar&nbsp;&nbsp; May
 BasicFrame.SimpleFileFilter1 = Todos los diseños de cohete(*.ork; *.rkt)
 BasicFrame.SimpleFileFilter2 = Diseños OpenRocket (*.ork)
 BasicFrame.SimpleFileFilter3 = Diseños RockSim (*.rkt)
-BasicFrame.tab.Rocketdesign = Diseños de cohete
+BasicFrame.tab.Rocketdesign = Diseño del cohete
+!Diseños de cohete
 BasicFrame.tab.Flightsim = Simulaciones de vuelo
 BasicFrame.title.Addnewcomp = Añadir un nuevo componente
 BasicFrame.item.Openrocketdesign = Abrir un diseño de cohete
@@ -120,7 +122,8 @@ PrintSettingsDialog.but.Reset = Reinicializar
 PrintSettingsDialog.but.Close = Cerrar
 
 ! Bug Report dialog
-bugreport.dlg.title = Report de error
+bugreport.dlg.title = Informe de errores
+!Report de error
 bugreport.dlg.but.Sendbugreport = Enviar un report de error
 bugreport.dlg.but.Sendbugreport.Ttip = Enviar automáticamente un report de error a los creadores de Open Rocket
 bugreport.dlg.successmsg1 = Report de error enviado con éxito
@@ -128,17 +131,19 @@ bugreport.dlg.successmsg2 = Gracias por ayudar a mejorar Open Rocket !
 bugreport.dlg.successmsg3 = Report de error enviado
 bugreport.dlg.connectedInternet = <html>Si está conectado a Internet, haga simplemente Clik <em>Enviar report de errores</em>.
 bugreport.dlg.otherwise = De otro modo, envíe el texto debajo a la dirección:
-bugreport.lbl.Theinformation = La información de arriba puede incluirse en un report de error público. Asegúrese de que no contiene ninguna información que usted no quiere hacer pública.
+bugreport.lbl.Theinformation = La información de arriba puede incluirse en un report de error público. Asegúrese de que no contiene ninguna información que usted no desee hacer pública.
 bugreport.dlg.failedmsg1 = OpenRocket fue incapaz de enviar el report de error:
 bugreport.dlg.failedmsg2 = Por favor envíe manualmente el report a
 bugreport.dlg.failedmsg3 = Error enviando el report
-bugreport.reportDialog.txt = <html><b>Puede enviar un report de error en OpenRocket rellenando el formulario de abajo y enviándolo.</b><br>También puede reportar errores e incluir adjuntos sobre el proyecto de Web.
+bugreport.reportDialog.txt = <html><b>Puede realizar un informe de errores escribiendo en el formulario de abajo y enviándolo.</b><br>También puede informar de los errores adjuntando el archivo de su proyecto por email.
+!<html><b>Puede enviar un report de error en OpenRocket rellenando el formulario de abajo y enviándolo.</b><br>También puede reportar errores e incluir adjuntos sobre el proyecto de Web.
 bugreport.reportDialog.txt2 = <html><b>Por favor incluya una breve descripción de lo que estaba haciendo cuando ocurrió la excepción.</b>
 
 
 ! Debug log dialog
 debuglogdlg.but.clear = Limpiar
-debuglogdlg.OpenRocketdebuglog = Fichero de error de Open Rocket
+debuglogdlg.OpenRocketdebuglog = Registro de sucesos
+!Fichero de error de Open Rocket
 debuglogdlg.Displayloglines = Mostrar líneas de registro:
 debuglogdlg.Follow = Seguir
 debuglogdlg.col.Time = Hora
@@ -148,6 +153,9 @@ debuglogdlg.col.Message = Mensaje
 debuglogdlg.lbl.Loglinenbr = Número de línea de registro:
 debuglogdlg.lbl.Time = Hora:
 debuglogdlg.lbl.Level = Nivel:
+debuglogdlg.lbl.Location = Situación:
+debuglogdlg.lbl.Logmessage = Texto del mensaje:
+debuglogdlg.lbl.Stacktrace = Trazabilidad de la pila:
 
 
 ! Edit Motor configuration dialog
@@ -468,7 +476,7 @@ componentanalysisdlg.lbl.machnumber = N
 componentanalysisdlg.lbl.rollrate = Valor de giro:
 componentanalysisdlg.lbl.activestages = Etapas activas:
 componentanalysisdlg.lbl.motorconf = Configuración del Motor:
-componentanalysisdlg.TabStability.Col = Componente
+componentanalysisdlg.TabStability.Col.Component = Componente
 componentanalysisdlg.TabStability = Estabilidad
 componentanalysisdlg.TabStability.ttip = Información de Estabilidad
 componentanalysisdlg.dragTableModel.Col.Component = Componente
@@ -505,7 +513,8 @@ ringcompcfg.InnerRadius = Radio interior
 ringcompcfg.Thickness = Espesor
 ringcompcfg.Length = Longitud
 ringcompcfg.Positionrelativeto = Posición relativa a:
-ringcompcfg.plus = plus
+ringcompcfg.plus = Localización
+!plus
 ringcompcfg.PositionValue = Valor de posición
 ringcompcfg.Radialdistance = Distancia radial:
 ringcompcfg.Distancefrom = Distancia desde la línea central del cohete
@@ -527,7 +536,8 @@ BodyTubecfg.tab.Generalproperties = Propiedades generales
 BodyTubecfg.tab.Motor = Motor
 BodyTubecfg.tab.Motormountconf = Configuración del porta motor
 BodyTubecfg.checkbox.Automatic = Automático
-BodyTubecfg.checkbox.Filled = Archivado
+BodyTubecfg.checkbox.Filled = Sólido
+!Archivado
 
 ! FinSetConfig
 FinSetConfig.tab.Fintabs = Raíz de aleta
@@ -563,9 +573,11 @@ ShockCordCfg.lbl.Shockcordlength = Longitud del tirante de suspensi
 ! RocketComponentConfig
 RocketCompCfg.lbl.Componentname = Nombre del componente:
 RocketCompCfg.ttip.Thecomponentname = El nombre del componente.
-RocketCompCfg.tab.Override = Elegir
+RocketCompCfg.tab.Override = Especificar
+!Elegir
 RocketCompCfg.tab.MassandCGoverride = Elección de estimación de Masa y CG
-RocketCompCfg.tab.Figure = Figura
+RocketCompCfg.tab.Figure = Estilo
+!Figura
 RocketCompCfg.tab.Figstyleopt = Opciones de estilo de la figura
 RocketCompCfg.tab.Comment = Comentarios
 RocketCompCfg.tab.Specifyacomment = Especifique un comentario para el componente
@@ -581,19 +593,24 @@ RocketCompCfg.lbl.longA1 = <html>El acabado del componente afecta su coeficiente
 RocketCompCfg.lbl.longA2 = El valor indicado es el promedio de la rugosidad en altura de la superficie.
 RocketCompCfg.but.Setforall = Aplicar a todos
 RocketCompCfg.but.ttip.Setforall = Aplicar este acabado a todos los componentes del cohete.
-RocketCompCfg.lbl.Overridemassorcenter = Elegir  la masa o el CG del
+RocketCompCfg.lbl.Overridemassorcenter = Especificar la masa y el CG de la ojiva
+!Elegir  la masa o el CG del
 RocketCompCfg.checkbox.Overridemass = Elegir la masa:
 RocketCompCfg.checkbox.Overridecenterofgrav = Elegir el CG:
 RocketCompCfg.checkbox.OverridemassandCG = Elegir la masa y el CG de todos los subcomponentes
 RocketCompCfg.lbl.longB1 = <html>La masa elegida no incluye los motores.<br>
-RocketCompCfg.lbl.longB2 = El CG se mide desde el extremo frontal del
+RocketCompCfg.lbl.longB2 = El CG se mide desde el extremo frontal de la 
+!El CG se mide desde el extremo frontal del
 RocketCompCfg.lbl.Commentsonthe = Comentarios sobre
-RocketCompCfg.lbl.Figurestyle = Estilo de figura:
+RocketCompCfg.lbl.Figurestyle = Estilo de dibujo:
+!Estilo de figura:
 RocketCompCfg.lbl.Componentcolor = Color del componente:
 RocketCompCfg.lbl.Choosecolor = Elija color
-RocketCompCfg.checkbox.Usedefaultcolor = Use color por defecto
+RocketCompCfg.checkbox.Usedefaultcolor = Usar color por defecto
+!Use color por defecto
 RocketCompCfg.lbl.Complinestyle = Estilo de línea del componente:
-RocketCompCfg.but.Saveasdefstyle = Guarde como estilo por defecto
+RocketCompCfg.but.Saveasdefstyle = Guardar como estilo por defecto
+!Guarde como estilo por defecto
 RocketCompCfg.lbl.Diameter = Diámetro:
 RocketCompCfg.lbl.Length = Longitud:
 RocketCompCfg.lbl.Thickness = Espesor:
@@ -618,17 +635,21 @@ CenteringRingCfg.tab.General = General
 CenteringRingCfg.tab.Generalproperties = Propiedades generales
 
 !ComponentConfigDialog
-ComponentCfgDlg.configuration = configuración
+ComponentCfgDlg.configuration = 
+ComponentCfgDlg.configuration1 = configuración
 ComponentCfgDlg.Modify = Modificar
 
 !EllipticalFinSetConfig
 EllipticalFinSetCfg.Nbroffins = Número de aletas:
 EllipticalFinSetCfg.Rotation = Rotación:
-EllipticalFinSetCfg.Fincant = Canto de aleta:
-EllipticalFinSetCfg.Rootchord = Anclaje de la raíz:
+EllipticalFinSetCfg.Fincant = Giro de las aletas:
+!Canto de aleta:
+EllipticalFinSetCfg.Rootchord = Longitud línea base:
+!Anclaje de la raíz:
 EllipticalFinSetCfg.Height = Altura:
 EllipticalFinSetCfg.Positionrelativeto = Posición relativa a:
-EllipticalFinSetCfg.plus = plus
+EllipticalFinSetCfg.plus = Localización
+!plus
 EllipticalFinSetCfg.FincrossSection = Sección de corte de la aleta:
 EllipticalFinSetCfg.Thickness = Espesor:
 EllipticalFinSetCfg.General = General
@@ -641,13 +662,19 @@ FreeformFinSetCfg.tab.ttip.General = Propiedades generales
 FreeformFinSetCfg.tab.Shape = Forma
 FreeformFinSetCfg.tab.ttip.Finshape = Forma de la aleta
 FreeformFinSetCfg.lbl.Numberoffins = Número de aletas:
-FreeformFinSetCfg.lbl.Finrotation = Rotación de la aleta:
-FreeformFinSetCfg.lbl.Fincant = Canto de la aleta:
+FreeformFinSetCfg.lbl.Finrotation = Rotación de las aletas:
+FreeformFinSetCfg.lbl.Fincant = Giro de las aletas
+!Canto de la aleta:
 FreeformFinSetCfg.lbl.ttip.Fincant = Angulo que el canto de las aletas forman con respecto al fuselaje.
 FreeformFinSetCfg.lbl.Posrelativeto = Posición relativa a:
-FreeformFinSetCfg.lbl.plus = plus
+FreeformFinSetCfg.lbl.plus = Localización
+!plus
 FreeformFinSetCfg.lbl.FincrossSection = Sección de la aleta:
 FreeformFinSetCfg.lbl.Thickness = Espesor:
+FreeformFinSetCfg.lbl.Double-click = Doble clic en la lista 
+FreeformFinSetCfg.lbl.toedit = para editar
+FreeformFinSetCfg.lbl.Clickdrag = Clic (sobre línea)+arrastrar: Agregar punto
+FreeformFinSetCfg.lbl.Ctrlclick = Control+Clic (sobre punto): Eliminar punto
 
 !InnerTubeConfig
 InnerTubeCfg.tab.Motor = Motor
@@ -662,7 +689,7 @@ InnerTubeCfg.lbl.ttip.TubeSep = La separaci
 InnerTubeCfg.lbl.Rotation = Rotación:
 InnerTubeCfg.lbl.ttip.Rotation = Configuración del ángulo de rotación del cluster
 InnerTubeCfg.lbl.Rotangle = Angulo de rotación de la configuración del cluster
-InnerTubeCfg.but.Splitcluster = Split cluster
+InnerTubeCfg.but.Splitcluster = Tubos independientes
 InnerTubeCfg.lbl.longA1 = <html>Split del cluster dentro de componentes separados.<br>
 InnerTubeCfg.lbl.longA2 = Esto también duplica todos los componentes unidos a este tubo interior.
 InnerTubeCfg.but.Resetsettings = Reiniciar configuración
@@ -675,7 +702,8 @@ LaunchLugCfg.lbl.Innerdiam = Di
 LaunchLugCfg.lbl.Thickness = Espesor:
 LaunchLugCfg.lbl.Radialpos = Posición radial:
 LaunchLugCfg.lbl.Posrelativeto = Posición relativa a:
-LaunchLugCfg.lbl.plus = plus
+LaunchLugCfg.lbl.plus = Localización
+!plus
 LaunchLugCfg.tab.General = General
 LaunchLugCfg.tab.Generalprop = Propiedades generales
 
@@ -684,7 +712,8 @@ MassComponentCfg.lbl.Mass = Masa
 MassComponentCfg.lbl.Length = Longitud
 MassComponentCfg.lbl.Diameter = Diámetro
 MassComponentCfg.lbl.PosRelativeto = Posición relativa a:
-MassComponentCfg.lbl.plus = plus
+MassComponentCfg.lbl.plus = Localización
+!plus
 MassComponentCfg.tab.General = General
 MassComponentCfg.tab.ttip.General = Propiedades generales
 MassComponentCfg.tab.Radialpos = Posición radial
@@ -700,7 +729,8 @@ MotorCfg.but.New = Nuevo
 MotorCfg.lbl.Currentmotor = Motor actual:
 MotorCfg.lbl.Motoroverhang = Sobresalida del motor:
 MotorCfg.lbl.Ignitionat = Encendido en:
-MotorCfg.lbl.plus = plus
+MotorCfg.lbl.plus = Localización
+!plus
 MotorCfg.lbl.seconds = segundos
 MotorCfg.lbl.longA1 = El diseño actual tiene solo una etapa.
 MotorCfg.lbl.longA2 = Pueden agregarse etapas haciendo clic \"Nueva etapa\".
@@ -712,19 +742,23 @@ MotorCfg.lbl.motorLabel = Ninguno
 
 ! NoseConeConfig
 NoseConeCfg.lbl.Noseconeshape = Forma de la ojiva:
-NoseConeCfg.lbl.Shapeparam = Parámetros de la forma:
+NoseConeCfg.lbl.Shapeparam = Valor de forma:
+!Parámetros de la forma:
 NoseConeCfg.lbl.Noseconelength = Longitud de la ojiva:
 NoseConeCfg.lbl.Basediam = Diámetro de la base:
 NoseConeCfg.checkbox.Automatic = Automático
 NoseConeCfg.lbl.Wallthickness = Espesor de la pared:
-NoseConeCfg.checkbox.Filled = Archivado
+NoseConeCfg.checkbox.Filled = Sólido
+!Archivado
 NoseConeCfg.tab.General = General
 NoseConeCfg.tab.ttip.General = Propiedades generales
-NoseConeCfg.tab.Shoulder = Hombro
+NoseConeCfg.tab.Shoulder = Acoplamiento
+!Hombro
 NoseConeCfg.tab.ttip.Shoulder = Propiedades del hombro
 
 ! ParachuteConfig
-ParachuteCfg.lbl.Canopy = Campana:
+ParachuteCfg.lbl.Canopy = Pabellón
+!Campana:
 ParachuteCfg.lbl.Diameter = Diámetro:
 ParachuteCfg.lbl.Material = Material:
 ParachuteCfg.combo.MaterialModel = El material del componente afecta su peso.
@@ -738,7 +772,10 @@ ParachuteCfg.lbl.Numberoflines = N
 ParachuteCfg.lbl.Linelength = Longitud de cuerda:
 ParachuteCfg.lbl.Material = Material:
 ParachuteCfg.lbl.Posrelativeto = Posición relativa a:
-ParachuteCfg.lbl.plus = plus
+ParachuteCfg.lbl.plus = Localización
+ParachuteCfg.lbl.plusdelay = Retardo
+
+!plus
 ParachuteCfg.lbl.Packedlength = Longitud empaquetado:
 ParachuteCfg.lbl.Packeddiam = Diámetro del empaquetado:
 ParachuteCfg.lbl.Deploysat = Despliegue en:
@@ -756,7 +793,8 @@ ParachuteCfg.but.Reset = Reiniciar
 ShockCordCfg.lbl.Shockcordlength = Longitud del tirante de suspensión
 ShockCordCfg.lbl.Shockcordmaterial = Material del tirante de suspensión:
 ShockCordCfg.lbl.Posrelativeto = Posición relativa a:
-ShockCordCfg.lbl.plus = plus
+ShockCordCfg.lbl.plus = Localización
+!plus
 ShockCordCfg.lbl.Packedlength = Longitud del empaquetado:
 ShockCordCfg.lbl.Packeddiam = Diámetro del empaquetado:
 ShockCordCfg.tab.General = General
@@ -783,7 +821,8 @@ StreamerCfg.lbl.longB2 = Un mayor coeficiente de fricci
 StreamerCfg.lbl.Automatic = Automático
 StreamerCfg.lbl.longC1 = El coeficiente de Fricción es relativo al área de la banderola.
 StreamerCfg.lbl.Posrelativeto = Posición relativa a:
-StreamerCfg.lbl.plus = plus
+StreamerCfg.lbl.plus = Localización
+!plus
 StreamerCfg.lbl.Packedlength = Longitud de empaquetado:
 StreamerCfg.lbl.Packeddiam = Diámetro de empaquetado:
 StreamerCfg.lbl.Deploysat = Despliegue a:
@@ -796,6 +835,7 @@ StreamerCfg.tab.ttip.Radialpos = Configuraci
 StreamerCfg.lbl.Radialdistance = Distancia radial:
 StreamerCfg.lbl.Radialdirection = Dirección radial:
 StreamerCfg.but.Reset = Reiniciar
+StreamerCfg.lbl.plusdelay = Retardo
 
 ! ThicknessRingComponentConfig
 ThicknessRingCompCfg.tab.Outerdiam = Diámetro exterior:
@@ -808,16 +848,19 @@ ThicknessRingCompCfg.tab.Generalprop = Propiedades generales
 ! TransitionConfig
 TransitionCfg.lbl.Transitionshape = Forma de la transición:
 TransitionCfg.checkbox.Clipped = Acortado
-TransitionCfg.lbl.Shapeparam = Parámetro de forma:
+TransitionCfg.lbl.Shapeparam = Valor de forma:
+!Parámetro de forma:
 TransitionCfg.lbl.Transitionlength = Longitud de la transición:
 TransitionCfg.lbl.Forediam = Diámetro delantero:
 TransitionCfg.checkbox.Automatic = Automático
 TransitionCfg.lbl.Aftdiam = Diámetro trasero:
 TransitionCfg.lbl.Wallthickness = Espesor de la pared:
-TransitionCfg.checkbox.Filled = Archivado
+TransitionCfg.checkbox.Filled = Sólido
+!Archivado
 TransitionCfg.tab.General = General
 TransitionCfg.tab.Generalproperties = Propiedades generales
-TransitionCfg.tab.Shoulder = Hombro
+TransitionCfg.tab.Shoulder = Acoplamiento
+!Hombro
 TransitionCfg.tab.Shoulderproperties = Propiedades del hombro
 
 ! TrapezoidFinSetConfig
@@ -827,15 +870,20 @@ TrapezoidFinSetCfg.lbl.Finrotation = Rotaci
 TrapezoidFinSetCfg.lbl.ttip.Finrotation = Ángulo de la primera aleta en la base de aletas.
 TrapezoidFinSetCfg.lbl.Fincant = Canto de aleta:
 TrapezoidFinSetCfg.lbl.ttip.Fincant = El ángulo del canto de las aletas respecto al fuselaje.
-TrapezoidFinSetCfg.lbl.Rootchord = Anclaje de la raíz:
-TrapezoidFinSetCfg.lbl.Tipchord = Forma de la extremidad:
+TrapezoidFinSetCfg.lbl.Rootchord = Longitud línea base:
+!Anclaje de la raíz:
+TrapezoidFinSetCfg.lbl.Tipchord = Longitud borde superior:
+!Forma de la extremidad:
 TrapezoidFinSetCfg.lbl.Height = Altura:
-TrapezoidFinSetCfg.lbl.Sweeplength = Longitud del barrido:
-TrapezoidFinSetCfg.lbl.Sweepangle = Ángulo de barrido:
+TrapezoidFinSetCfg.lbl.Sweeplength = Desplazamiento borde superior:
+!Longitud del barrido:
+TrapezoidFinSetCfg.lbl.Sweepangle = Angulo de ataque:
+!Ángulo de barrido:
 TrapezoidFinSetCfg.lbl.FincrossSection = Sección de la aleta:
 TrapezoidFinSetCfg.lbl.Thickness = Espesor:
 TrapezoidFinSetCfg.lbl.Posrelativeto = Posición relativa a:
-TrapezoidFinSetCfg.lbl.plus = plus
+TrapezoidFinSetCfg.lbl.plus = Localización
+!plus
 TrapezoidFinSetCfg.tab.General = General
 TrapezoidFinSetCfg.tab.Generalproperties = Propiedades generales
 
@@ -903,9 +951,11 @@ main.menu.file.save = Guardar
 main.menu.file.saveAs = Guardar como ...
 main.menu.file.print = Imprimir ...
 main.menu.file.close = Cerrar
-main.menu.file.quit = Silenciar
+main.menu.file.quit = Salir
+!Silenciar
 
-main.menu.edit = Representar
+main.menu.edit = Edición 
+!Representar
 main.menu.edit.undo = Invertir
 main.menu.edit.redo = Rehacer
 main.menu.edit.cut = Cortar
@@ -919,8 +969,10 @@ main.menu.analyze.componentAnalysis = An
 
 main.menu.help = Ayuda
 main.menu.help.license = Licencia
-main.menu.help.bugReport = Report de supresiones
-main.menu.help.debugLog = Registro de recuperaciones
+main.menu.help.bugReport = Informe de errores
+!Report de supresiones
+main.menu.help.debugLog = Registro de sucesos
+!Registro de recuperaciones
 main.menu.help.about = Acerca de
 
 main.menu.debug = Recuperación
@@ -984,9 +1036,11 @@ ExternalComponent.Polished = Pulido
 
 ! LineStyle
 LineStyle.Solid = Sólido
-LineStyle.Dashed = Pulverizado
+LineStyle.Dashed = Discontinuo
+!Pulverizado
 LineStyle.Dotted = Punteado
-LineStyle.Dash-dotted = Pulverizado con puntos
+LineStyle.Dash-dotted = Discontinuo con puntos
+!Pulverizado con puntos
 LineStyle.Defaultstyle = Estilo por defecto
 
 ! Shape
@@ -994,23 +1048,29 @@ Shape.Conical = C
 Shape.Conical.desc1 = Una ojiva cónica de perfil triangular
 Shape.Conical.desc2 = Transición cónica de lados rectos
 Shape.Ogive = Ojiva
-Shape.Ogive.desc1 = Una ojiva con perfil de segmento circular.  El parámetro de forma de valor 1 produce una <b>Tangente a la ojiva</b>, Que tiene una transición suave al fuselaje, produce un valor menor que 1 <b>Secante a la ojiva</b>.
-Shape.Ogive.desc2 = Una ojiva con perfil de segmento circular.  El parámetro de forma de valor 1 produce una <b>Tangente a la ojiva</b>, Que tiene una transición suave al fuselaje, produce un valor menor que 1 <b>Secante a la ojiva</b>.
+Shape.Ogive.desc1 = Ojiva con perfil de arco de circunferencia. Un valor de forma igual a 1 produce una <b>Ojiva tangente</b>, mientras que un valor inferior a 1 produce una <b>Ojiva secante</b> con un perfil más afilado.
+Shape.Ogive.desc2 = Ojiva con perfil de arco de circunferencia. Un valor de forma igual a 1 produce una <b>Ojiva tangente</b>, mientras que un valor inferior a 1 produce una <b>Ojiva secante</b> con un perfil más afilado.
+!Una ojiva con perfil de arco de circunferencia.  El parámetro de forma de valor 1 produce una <b>Tangente a la ojiva</b>, Que tiene una transición suave al fuselaje, produce un valor menor que 1 <b>Secante a la ojiva</b>.
 Shape.Ellipsoid = Elipsoide
-Shape.Ellipsoid.desc1 = Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;<i>Longitud</i> y <i>Diámetro</i>.
-Shape.Ellipsoid.desc2 = Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;<i>Longitud</i> y <i>Diámetro</i>. Si la transición no se interrumpe, entonces el perfil se extiende al centro con el correspondiente radio.         
-Shape.Powerseries = Series potentes
-Shape.Powerseries.descA1 = Una serie de ojivas potentes tiene un perfil de<i>Radio</i>&nbsp;&veces;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longitud</i>)<sup><i>k</i></sup> donde <i>k</i> es el parámetro de forma.  Para <i>k</i>=0.5 este es un <b>
-Shape.Powerseries.descA2 = -potencia</b> o <b>parabólico</b> ojiva, para <i>k</i>=0.75 un <b>
-Shape.Powerseries.descA3 = -potencia</b>, y para <i>k</i>=1 a <b>cónica</b> ojiva.
-Shape.Powerseries.descB1 = Una serie de transiciones potentes tiene un perfil de <i>Radio</i>&nbsp;&veces;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longitud</i>)<sup><i>k</i></sup> donde <i>k</i> es el parámetro de forma.  Para <i>k</i>=0.5 la transición es <b>
-Shape.Powerseries.descB2 = -potencia</b> o <b>parabólica</b>, para <i>k</i>=0.75 a <b>
-Shape.Powerseries.descB3 = -potencia</b>, y para <i>k</i>=1 <b>cónica</b>.
+Shape.Ellipsoid.desc1 = Ojiva con perfil de media elipse. Por defecto, una elipse de <i>longitud</i> igual al triple de su <i>diámetro</i>.
+!Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;<i>Longitud</i> y <i>Diámetro</i>.
+Shape.Ellipsoid.desc2 = Ojiva con perfil de media elipse. Por defecto, una elipse de <i>longitud</i> igual al triple de su <i>diámetro</i>.
+!Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;<i>Longitud</i> y <i>Diámetro</i>. Si la transición no se interrumpe, entonces el perfil se extiende al centro con el correspondiente radio.                
+Shape.Powerseries = Serie potencial 
+!Series potentes
+!Shape.Powerseries.desc1 = A power series nose cone has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 this is a <b>\u00BD-power</b> or <b>parabolic</b> nose cone, for <i>k</i>=0.75 a <b>\u00BE-power</b>, and for <i>k</i>=1 a <b>conical</b> nose cone.
+!Shape.Powerseries.desc2 = A power series transition has a profile of <i>Radius</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Length</i>)<sup><i>k</i></sup> where <i>k</i> is the shape parameter.  For <i>k</i>=0.5 the transition is <b>\u00BD-power</b> or <b>parabolic</b>, for <i>k</i>=0.75 a <b>\u00BE-power</b>, and for <i>k</i>=1 <b>conical</b>.
+
+Shape.Powerseries.desc1 = Ojiva cuyo perfil es una curva obtenida a partir de una función potencial f(<i>x</i>)<sup><i>k</i></sup>. Un valor de forma k=0.5 produce una ojiva con perfil de parábola, para k=0.75 se produce una ojiva con <b>perfil potencial</b>, y para k=1 se produce una ojiva con perfil recto u <b>Ojiva cónica</b>.
+!Shape.Powerseries.desc1 = Una serie de ojivas potentes tiene un perfil de<i>Radio</i>&nbsp;&veces;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longitud</i>)<sup><i>k</i></sup> donde <i>k</i> es el parámetro de forma.  Para <i>k</i>=0.5 este es un <b>\u00BD-potencia</b> o <b>parabólico</b> ojiva, para <i>k</i>=0.75 un <b>\u00BE-potencia</b>, y para <i>k</i>=1 a <b>cónica</b> ojiva.
+Shape.Powerseries.desc2 = Una serie de transiciones potentes tiene un perfil de <i>Radio</i>&nbsp;&veces;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longitud</i>)<sup><i>k</i></sup> donde <i>k</i> es el parámetro de forma.  Para <i>k</i>=0.5 la transición es <b>\u00BD-potencia</b> o <b>parabólica</b>, para <i>k</i>=0.75 a <b>\u00BE-potencia</b>, y para <i>k</i>=1 <b>cónica</b>.
 Shape.Parabolicseries = Serie parabólica
-Shape.Parabolicseries.desc1 = A parabólica series ojiva Cone has a perfil de a parábola.  The forma parámetro defines el segmento de el parábola a utilice.  The forma parámetro 1.0 produces a <b>full parábola</b> que es tangente a el body tubo, 0.75 produces a <b>3/4 parábola</b>, 0.5 procudes a <b>1/2 parábola</b> y 0 produces a <b>cónico</b> ojiva .
+Shape.Parabolicseries.desc1 = Ojiva con perfil de arco de parábola. Un valor de forma igual a 1 produce una <b>Ojiva tangente</b>, un valor igual a 0.75 produce una <b>parábola de 3/4</b>, un valor igual a 0.5 produce una <b>parábola de 1/2</b>, y un valor igual a 0 produce una perfil recto u <b>Ojiva cónica</b>.
+!Shape.Parabolicseries.desc1 = A parabólica series ojiva Cone has a perfil de a parábola.  The forma parámetro defines el segmento de el parábola a utilice.  The forma parámetro 1.0 produces a <b>full parábola</b> que es tangente a el body tubo, 0.75 produces a <b>3/4 parábola</b>, 0.5 procudes a <b>1/2 parábola</b> y 0 produces a <b>cónico</b> ojiva .
 Shape.Parabolicseries.desc2 = A parabólica series transición has a perfil de a parábola.  The forma parámetro defines el segmento de el parábola a utilice.  The forma parámetro 1.0 produces a <b>full parábola</b> que es tangente a el body tubo at el aft extremo, 0.75 produces a <b>3/4 parábola</b>, 0.5 procudes a <b>1/2 parábola</b> y 0 produces a <b>cónico</b> transición.
 Shape.Haackseries = Haack series
-Shape.Haackseries.desc1 = The Haack series ojiva  are designado a minimizar drag.  The forma parámetro 0 produces un <b>LD-Haack</b> o <b>Von Karman</b> ojiva , que minimizas drag para fijado longitud y diámetro, mientras a valor de 0.333 produces un <b>LV-Haack</b> ojiva , que minimizas drag para fijado longitud y volumen.
+Shape.Haackseries.desc1 = Ojiva con perfil de mínimo arrastre aerodinámico recomendado para vuelos supersónicos. Un valor de forma igual a 0 produce una <b>Ojiva LD Haack</b> u <b>Ojiva Von Karman</b> que minimiza el arrastre aerodinámico para una determinada longitud y diámetro de la base, mientras que un valor igual a 0.333 produce una <b>Ojiva LV-Haack</b> que minimiza el arrastre aerodinámico para una determinada longitud y volumen de la ojiva.
+!The Haack series ojiva  are designado a minimizar drag.  The forma parámetro 0 produces un <b>LD-Haack</b> o <b>Von Karman</b> ojiva , que minimizas drag para fijado longitud y diámetro, mientras a valor de 0.333 produces un <b>LV-Haack</b> ojiva , que minimizas drag para fijado longitud y volumen.
 Shape.Haackseries.desc2 = The Haack series <i>ojiva </i> are designado a minimizar drag.  estas transición formas are sus equivalentes, pero do no necesariamente produce optima drag para transiciones.  The forma parámetro 0 produces un <b>LD-Haack</b> o <b>Von Karman</b> forma, mientras a valor de 0.333 produces un <b>LV-Haack</b> shape.            
 
 
@@ -1131,7 +1191,8 @@ RocketInfo.accelerationValue = N/A
 ! FinSet
 FinSet.CrossSection.SQUARE = Cuadrado
 FinSet.CrossSection.ROUNDED = Redondo
-FinSet.CrossSection.AIRFOIL = Superficie de sustentación
+FinSet.CrossSection.AIRFOIL = Aerodinámico
+!Superficie de sustentación
 FinSet.TabRelativePosition.FRONT = Borde principal del extremo de anclaje
 FinSet.TabRelativePosition.CENTER = Borde principal del anclaje
 FinSet.TabRelativePosition.END = Borde principal de tracción
@@ -1207,3 +1268,14 @@ Warning.JAGGED_EDGED_FIN = las predicciones afiladas de la aleta pueden ser inex
 Warning.LISTENERS_AFFECTED = Los oyentes modificaron la simulación del vuelo
 Warning.RECOVERY_DEPLOYMENT_WHILE_BURNING = Sistema de recuperación abierto mientras el motor todavía empujaba
 Warning.FILE_INVALID_PARAMETER = Parámetro no válido encontrado. Ignorarlo.
+
+!icons
+Icons.Undo = Undo
+Icons.Redo = Redo
+
+OpenRocketPrintable.Partsdetail = Parts detail
+OpenRocketPrintable.Fintemplates = Fin templates
+OpenRocketPrintable.DesignReport = Design Report
+
+OpenRocketDocument.Redo = Rehacer
+OpenRocketDocument.Undo = Deshacer
\ No newline at end of file
index 4d2a093a4d585b1b2e65022dcdf42058483a30d3..fe61e71e2810f0ca8117de643e942000dd7f7e45 100644 (file)
@@ -143,6 +143,9 @@ debuglogdlg.col.Message = Message
 debuglogdlg.lbl.Loglinenbr = Numéro de la ligne:\r
 debuglogdlg.lbl.Time = Heure:\r
 debuglogdlg.lbl.Level = Niveau:\r
+debuglogdlg.lbl.Location = Emplacement:\r
+debuglogdlg.lbl.Logmessage = Texte du message:\r
+debuglogdlg.lbl.Stacktrace = Stack trace:\r
 \r
 \r
 ! Edit Motor configuration dialog\r
@@ -457,7 +460,7 @@ compaddbuttons.askPosition.Addtotheend = Ajouter 
 compaddbuttons.askPosition.Cancel = Annuler\r
 \r
 ! Component Analysis Dialog\r
-componentanalysisdlg.Componentanalysis = Analyse pièce\r
+componentanalysisdlg.componentanalysis = Analyse pièce\r
 componentanalysisdlg.lbl.winddir = Direction du vent:\r
 componentanalysisdlg.TitledBorder.warnings = Avertissements:\r
 componentanalysisdlg.ToggleBut.worst = Pire\r
@@ -617,7 +620,8 @@ CenteringRingCfg.tab.General = G
 CenteringRingCfg.tab.Generalproperties = Propriétés Générales\r
 \r
 !ComponentConfigDialog\r
-ComponentCfgDlg.configuration = configuration\r
+ComponentCfgDlg.configuration =\r
+ComponentCfgDlg.configuration1 = configuration\r
 ComponentCfgDlg.Modify = Modifier\r
 \r
 !EllipticalFinSetConfig\r
@@ -647,6 +651,10 @@ FreeformFinSetCfg.lbl.Posrelativeto = Position par rapport 
 FreeformFinSetCfg.lbl.plus = plus\r
 FreeformFinSetCfg.lbl.FincrossSection = Coupe de l'aileron:\r
 FreeformFinSetCfg.lbl.Thickness = Epaisseur:\r
+FreeformFinSetCfg.lbl.Double-click = Double-click\r
+FreeformFinSetCfg.lbl.toedit = pour editer\r
+FreeformFinSetCfg.lbl.Clickdrag = Cliquer+déplacer: Ajouter et déplacer des points\r
+FreeformFinSetCfg.lbl.Ctrlclick = Ctrl+cliquer: Enlever un point\r
 \r
 !InnerTubeConfig\r
 InnerTubeCfg.tab.Motor = Moteur\r
@@ -750,6 +758,7 @@ ParachuteCfg.tab.ttip.Radialpos = Configuration de la position radial
 ParachuteCfg.lbl.Radialdistance = Rayon:\r
 ParachuteCfg.lbl.Radialdirection = Azimut:\r
 ParachuteCfg.but.Reset = Réinitialiser\r
+ParachuteCfg.lbl.plusdelay = Retard\r
 \r
 ! ShockCordConfig \r
 ShockCordCfg.lbl.Shockcordlength = Longueur du cordon amortisseur\r
@@ -795,6 +804,7 @@ StreamerCfg.tab.ttip.Radialpos = Configuration de la position sur le p
 StreamerCfg.lbl.Radialdistance = Rayon:\r
 StreamerCfg.lbl.Radialdirection = Azimut:\r
 StreamerCfg.but.Reset = Réinitialiser\r
+StreamerCfg.lbl.plusdelay = Retard\r
 \r
 ! ThicknessRingComponentConfig\r
 ThicknessRingCompCfg.tab.Outerdiam = Diamètre externe:\r
@@ -949,7 +959,7 @@ Databases.materials.PVC = PVC
 Databases.materials.Spruce = Sapin\r
 Databases.materials.StyrofoamgenericEPS = Polystyrène (générique EPS)\r
 Databases.materials.StyrofoamBluefoamXPS = \"Mousse Bleue\" de polystyrène (XPS)\r
-Databases.materials.Quantumtubing = Quantum tubing\r
+Databases.materials.Quantumtubing = Tube Quantum\r
 !SURFACE_MATERIAL\r
 Databases.materials.Ripstopnylon = Ripstop nylon\r
 Databases.materials.Mylar = Mylar\r
@@ -998,12 +1008,8 @@ Shape.Ellipsoid = Ellipso
 Shape.Ellipsoid.desc1 = Un cône ellipsoïdal a un profil d'une demi ellipse dont les axes principaux sont de longueurs 2&times;<i>la longueur</i> et <i>diamètre</i>.\r
 Shape.Ellipsoid.desc2 = Une transition ellipsoïdale a un profil d'une demi ellipse dont les axes principaux sont de longueurs 2&times;<i>longueur</i> et <i>diamètre</i>.  Si la transition n'est pas coupée alors le profil est étendu au centre par le rayon correspondant.          \r
 Shape.Powerseries = Série Haute puissance\r
-Shape.Powerseries.descA1 = Un cône de puissance a un profil de <i>Rayon</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longueur</i>)<sup><i>k</i></sup> ou <i>k</i> est le paramètre de la forme.  Pour <i>k</i>=0,5 c'est une <b>\r
-Shape.Powerseries.descA2 = -puissance</b> ou une ogive <b>parabolique</b>, pour <i>k</i>=0,75 une <b>\r
-Shape.Powerseries.descA3 = -puissance</b>, et pour <i>k</i>=1 un cône <b>conique</b>.\r
-Shape.Powerseries.descB1 = Une transition de la série haute puissance a un profile de <i>Rayon</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longueur</i>)<sup><i>k</i></sup> ou <i>k</i> est le paramètre de la forme.  Pour <i>k</i>=0,5 la transition est <b>\r
-Shape.Powerseries.descB2 = -puissance</b> ou <b>parabolique</b>, pour <i>k</i>=0,75 une <b>\r
-Shape.Powerseries.descB3 = -puissance</b>, et pour <i>k</i>=1 <b>conique</b>.\r
+Shape.Powerseries.desc1 = Un cône de puissance a un profil de <i>Rayon</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longueur</i>)<sup><i>k</i></sup> ou <i>k</i> est le paramètre de la forme.  Pour <i>k</i>=0,5 c'est une <b>\u00BD-puissance</b> ou une ogive <b>parabolique</b>, pour <i>k</i>=0,75 une <b>\u00BE-puissance</b>, et pour <i>k</i>=1 un cône <b>conique</b>.\r
+Shape.Powerseries.desc2 = Une transition de la série haute puissance a un profile de <i>Rayon</i>&nbsp;&times;&nbsp;(<i>x</i>&nbsp;/&nbsp;<i>Longueur</i>)<sup><i>k</i></sup> ou <i>k</i> est le paramètre de la forme.  Pour <i>k</i>=0,5 la transition est <b>\u00BD-puissance</b> ou <b>parabolique</b>, pour <i>k</i>=0,75 une <b>\u00BE-puissance</b>, et pour <i>k</i>=1 <b>conique</b>.\r
 Shape.Parabolicseries = Série parabolique\r
 Shape.Parabolicseries.desc1 = Un cône parabolique a un profil d'une parabole.  Le paramètre de forme définit le segment de la parabole à utiliser.  Le paramètre 1 produit une <b>parabole pleine</b> qui est tangent au tube de la fusée, 0,75 produit un <b>3/4 de parabole</b>, 0,5 produit une <b>1/2 parabole</b> et 0 produit un cône <b>conique</b>.\r
 Shape.Parabolicseries.desc2 = Une transistion de type parabolique a un profile en forme de parabole.  Le paramètre de forme définit le segment de la parabole à utiliser.  Le paramètre 1,0 produit une <b>parabole pleine</b> qui est tangent au tube de la fusée à l'extrémité arrière, 0,75 produit une <b>3/4 parabole</b>, 0,5 produit une <b>1/2 parabole</b> et 0 produit une transition <b>conique</b>.\r
@@ -1206,3 +1212,17 @@ Warning.JAGGED_EDGED_FIN = Jagged-edged fin predictions may be inaccurate.
 Warning.LISTENERS_AFFECTED = Listeners modified the flight simulation\r
 Warning.RECOVERY_DEPLOYMENT_WHILE_BURNING = Le dispositif de récupération s'est ouvert alors que la combustion du moteur n'était pas finie.\r
 Warning.FILE_INVALID_PARAMETER = Parametre invalide rencontré, ignorer.\r
+\r
+!icons\r
+Icons.Undo = Undo\r
+Icons.Redo = Redo\r
+\r
+OpenRocketPrintable.Partsdetail = Détail des pièces\r
+OpenRocketPrintable.Fintemplates = Gabaris des ailerons\r
+OpenRocketPrintable.DesignReport = Rapport de conception\r
+\r
+OpenRocketDocument.Redo = Redo\r
+OpenRocketDocument.Undo = Undo\r
+\r
+!EllipticalFinSet\r
+EllipticalFinSet.Ellipticalfinset = Ailerons elyptique
\ No newline at end of file
index 25b149e45374eb9ca60f1aa7e4d8a516cc552eeb..d0daa17a6a8ea5464b5201268c4d29e8129b8df5 100644 (file)
@@ -12,6 +12,7 @@ import net.sf.openrocket.document.events.DocumentChangeEvent;
 import net.sf.openrocket.document.events.DocumentChangeListener;
 import net.sf.openrocket.document.events.SimulationChangeEvent;
 import net.sf.openrocket.gui.main.ExceptionHandler;
+import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.logging.TraceException;
 import net.sf.openrocket.rocketcomponent.ComponentChangeEvent;
@@ -31,7 +32,8 @@ import net.sf.openrocket.util.Icons;
  */
 public class OpenRocketDocument implements ComponentChangeListener {
        private static final LogHelper log = Application.getLogger();
-       
+       private static final Translator trans = Application.getTranslator();
+
        /**
         * The minimum number of undo levels that are stored.
         */
@@ -557,14 +559,16 @@ public class OpenRocketDocument implements ComponentChangeListener {
                        
                        switch (type) {
                        case UNDO:
-                               name = "Undo";
+                               //// Undo
+                               name = trans.get("OpenRocketDocument.Undo");
                                desc = getUndoDescription();
                                actionEnabled = isUndoAvailable();
                                this.putValue(SMALL_ICON, Icons.EDIT_UNDO);
                                break;
                        
                        case REDO:
-                               name = "Redo";
+                               ////Redo
+                               name = trans.get("OpenRocketDocument.Redo");
                                desc = getRedoDescription();
                                actionEnabled = isRedoAvailable();
                                this.putValue(SMALL_ICON, Icons.EDIT_REDO);
index 7e526ee577baadcb3b9d0c2837ada83683627e28..a04c65b61cb4f63e8c31ca89ef32cc1c75c91a62 100644 (file)
@@ -97,7 +97,7 @@ public class ComponentConfigDialog extends JDialog implements ComponentChangeLis
                configurator.updateFields();
                
                //// configuration
-               setTitle(component.getComponentName() + " " + trans.get("ComponentCfgDlg.configuration"));
+               setTitle(trans.get("ComponentCfgDlg.configuration1") + " " + component.getComponentName() + " " + trans.get("ComponentCfgDlg.configuration"));
                
                //              Dimension pref = getPreferredSize();
                //              Dimension real = getSize();
index 4536288ecd9be2635eeab76af62f2bedc4cc5e1d..4dcd5104efca3efe026963ce1a3ed1fc8117f8b0 100644 (file)
@@ -201,7 +201,7 @@ public class ParachuteConfig extends RecoveryDeviceConfig {
                
                // ... and delay
                //// plus
-               panel.add(new JLabel(trans.get("ParachuteCfg.lbl.plus")),"right");
+               panel.add(new JLabel(trans.get("ParachuteCfg.lbl.plusdelay")),"right");
                
                m = new DoubleModel(component,"DeployDelay",0);
                spin = new JSpinner(m.getSpinnerModel());
index 42648637f4ac71123c1466334622a58300c75018..efea6f9a903797aae7ceb0a9fca2ec97e6742a40 100644 (file)
@@ -197,7 +197,7 @@ public class StreamerConfig extends RecoveryDeviceConfig {
                
                // ... and delay
                //// plus
-               panel.add(new JLabel(trans.get("StreamerCfg.lbl.plus")),"right");
+               panel.add(new JLabel(trans.get("StreamerCfg.lbl.plusdelay")),"right");
                
                m = new DoubleModel(component,"DeployDelay",0);
                spin = new JSpinner(m.getSpinnerModel());
index 1ef299e7e12dada9a396b4c4bb888ac0e42546f9..53742c161bb6d647f9727286ddf74e83b665275a 100644 (file)
@@ -317,17 +317,17 @@ public class DebugLogDialog extends JDialog {
                panel.add(levelLabel, "width 70lp, gapright para");
                
                //// Location:
-               panel.add(new JLabel("Location:"), "split, gapright rel");
+               panel.add(new JLabel(trans.get("debuglogdlg.lbl.Location")), "split, gapright rel");
                locationLabel = new SelectableLabel();
                panel.add(locationLabel, "growx, wrap unrel");
                
                //// Log message:
-               panel.add(new JLabel("Log message:"), "split, gapright rel");
+               panel.add(new JLabel(trans.get("debuglogdlg.lbl.Logmessage")), "split, gapright rel");
                messageLabel = new SelectableLabel();
                panel.add(messageLabel, "growx, wrap para");
                
                //// Stack trace:
-               panel.add(new JLabel("Stack trace:"), "wrap rel");
+               panel.add(new JLabel(trans.get("debuglogdlg.lbl.Stacktrace")), "wrap rel");
                stackTraceLabel = new JTextArea(8, 80);
                stackTraceLabel.setEditable(false);
                GUIUtil.changeFontSize(stackTraceLabel, -2);
index 58d5ad3a7eda74a26ab8e4dc13be210340b59afa..709e3c7a8a7acd0ffcba5b8e9a5591c755b5ac4e 100644 (file)
@@ -2,15 +2,21 @@
  * OpenRocketPrintable.java
  */
 package net.sf.openrocket.gui.print;
+import net.sf.openrocket.l10n.Translator;
+import net.sf.openrocket.startup.Application;
 
 /**
  * This enumeration identifies the various types of information that may be printed.
  */
+
 public enum OpenRocketPrintable {
     //PARTS_LIST("Parts list", true, 0),
-    PARTS_DETAIL("Parts detail", true, 1),
-    FIN_TEMPLATE("Fin templates", true, 2),
-    DESIGN_REPORT("Design Report", false, 3);
+       //// Parts detail
+    PARTS_DETAIL("OpenRocketPrintable.Partsdetail", true, 1),
+    ////
+    FIN_TEMPLATE("OpenRocketPrintable.Fintemplates", true, 2),
+    //// Design Report
+    DESIGN_REPORT("OpenRocketPrintable.DesignReport", false, 3);
 
     /**
      * The description - will be displayed in the JTree.
@@ -46,7 +52,8 @@ public enum OpenRocketPrintable {
      * @return a displayable string
      */
     public String getDescription () {
-        return description;
+       final Translator trans = Application.getTranslator();
+        return trans.get(description);
     }
 
     /**
index aaaf92845ccb033545159d118f72194cb9e33787..2dadf6f56dd0ba7e58f3ea1f634d2d87c0bb1402 100644 (file)
@@ -1,9 +1,13 @@
 package net.sf.openrocket.rocketcomponent;
 
+import net.sf.openrocket.l10n.Translator;
+import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.util.Coordinate;
 import net.sf.openrocket.util.MathUtil;
 
 public class EllipticalFinSet extends FinSet {
+       private static final Translator trans = Application.getTranslator();
+
        public static final int POINTS = 21;
 
        private static final double[] POINT_X = new double[POINTS];
@@ -44,7 +48,8 @@ public class EllipticalFinSet extends FinSet {
 
        @Override
        public String getComponentName() {
-               return "Elliptical fin set";
+               //// Elliptical fin set
+               return trans.get("EllipticalFinSet.Ellipticalfinset");
        }
 
 
index 446044df35c16d686f15cceead7f781e233ff282..9f786ec763b1ad1f2969c6c4a77a33f50ce85c54 100644 (file)
@@ -10,13 +10,15 @@ import javax.swing.ImageIcon;
 
 import net.sf.openrocket.document.Simulation;
 import net.sf.openrocket.gui.main.ExceptionHandler;
+import net.sf.openrocket.l10n.Translator;
 import net.sf.openrocket.logging.LogHelper;
 import net.sf.openrocket.startup.Application;
 
 
 public class Icons {
        private static final LogHelper log = Application.getLogger();
-       
+       private static final Translator trans = Application.getTranslator();
+
        static {
                log.debug("Starting to load icons");
        }
@@ -52,8 +54,8 @@ public class Icons {
        public static final Icon FILE_CLOSE = loadImageIcon("pix/icons/document-close.png", "Close document");
        public static final Icon FILE_QUIT = loadImageIcon("pix/icons/application-exit.png", "Quit OpenRocket");
        
-       public static final Icon EDIT_UNDO = loadImageIcon("pix/icons/edit-undo.png", "Undo");
-       public static final Icon EDIT_REDO = loadImageIcon("pix/icons/edit-redo.png", "Redo");
+       public static final Icon EDIT_UNDO = loadImageIcon("pix/icons/edit-undo.png", trans.get("Icons.Undo"));
+       public static final Icon EDIT_REDO = loadImageIcon("pix/icons/edit-redo.png", trans.get("Icons.Redo"));
        public static final Icon EDIT_CUT = loadImageIcon("pix/icons/edit-cut.png", "Cut");
        public static final Icon EDIT_COPY = loadImageIcon("pix/icons/edit-copy.png", "Copy");
        public static final Icon EDIT_PASTE = loadImageIcon("pix/icons/edit-paste.png", "Paste");