diff --git a/l10n/messages_de.properties b/l10n/messages_de.properties
index fa1747c3c..f3f6bbe1d 100644
--- a/l10n/messages_de.properties
+++ b/l10n/messages_de.properties
@@ -149,6 +149,9 @@ debuglogdlg.col.Message = Nachricht
debuglogdlg.lbl.Loglinenbr = Log-Zeilennummer
debuglogdlg.lbl.Time = Zeit:
debuglogdlg.lbl.Level = Level:
+debuglogdlg.lbl.Location = Location:
+debuglogdlg.lbl.Logmessage = Log message:
+debuglogdlg.lbl.Stacktrace = Stack trace:
! Edit Motor configuration dialog
@@ -649,6 +652,10 @@ FreeformFinSetCfg.lbl.Posrelativeto = Position relativ zu:
FreeformFinSetCfg.lbl.plus = plus
FreeformFinSetCfg.lbl.FincrossSection = Querschnitt:
FreeformFinSetCfg.lbl.Thickness = Wandstärke:
+FreeformFinSetCfg.lbl.Double-click = Double-click
+FreeformFinSetCfg.lbl.toedit = to edit
+FreeformFinSetCfg.lbl.Clickdrag = Click+drag: Add and move points
+FreeformFinSetCfg.lbl.Ctrlclick = Ctrl+click: Remove point
!InnerTubeConfig
InnerTubeCfg.tab.Motor = Motor
@@ -752,6 +759,7 @@ ParachuteCfg.tab.ttip.Radialpos = Konfiguration der radialen Position
ParachuteCfg.lbl.Radialdistance = Radialer Abstand:
ParachuteCfg.lbl.Radialdirection = radiale Richtung:
ParachuteCfg.but.Reset = Zurücksetzen
+ParachuteCfg.lbl.plusdelay = plus
! ShockCordConfig
ShockCordCfg.lbl.Shockcordlength = Länge des Gummibands
@@ -797,6 +805,7 @@ StreamerCfg.tab.ttip.Radialpos = Konfiguration der radialen Position
StreamerCfg.lbl.Radialdistance = Radialer Abstand:
StreamerCfg.lbl.Radialdirection = radiale Richtung:
StreamerCfg.but.Reset = Zurücksetzen
+StreamerCfg.lbl.plusdelay = plus
! ThicknessRingComponentConfig
ThicknessRingCompCfg.tab.Outerdiam = Außendurchmesser:
@@ -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×Länge und Durchmesser
Shape.Ellipsoid.desc2 = An ellipsoidal transition has a profile of a half-ellipse with major axes of lengths 2×Length and Diameter. If the transition is not clipped, then the profile is extended at the center by the corresponding radius.
Shape.Powerseries = Power series
-Shape.Powerseries.descA1 = A power series nose cone has a profile of Radius × (x / Length)k where k is the shape parameter. For k=0.5 this is a
-Shape.Powerseries.descA2 = -power or parabolic nose cone, for k=0.75 a
-Shape.Powerseries.descA3 = -power, and for k=1 a conical nose cone.
-Shape.Powerseries.descB1 = A power series transition has a profile of Radius × (x / Length)k where k is the shape parameter. For k=0.5 the transition is
-Shape.Powerseries.descB2 = -power or parabolic, for k=0.75 a
-Shape.Powerseries.descB3 = -power, and for k=1 conical.
+Shape.Powerseries.desc1 = A power series nose cone has a profile of Radius × (x / Length)k where k is the shape parameter. For k=0.5 this is a \u00BD-power or parabolic nose cone, for k=0.75 a \u00BE-power, and for k=1 a conical nose cone.
+Shape.Powerseries.desc2 = A power series transition has a profile of Radius × (x / Length)k where k is the shape parameter. For k=0.5 the transition is \u00BD-power or parabolic, for k=0.75 a \u00BE-power, and for k=1 conical.
Shape.Parabolicseries = Parabolic series
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 full parabola which is tangent to the body tube, 0.75 produces a 3/4 parabola, 0.5 procudes a 1/2 parabola and 0 produces a conical nose cone.
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 full parabola which is tangent to the body tube at the aft end, 0.75 produces a 3/4 parabola, 0.5 procudes a 1/2 parabola and 0 produces a conical transition.
@@ -1208,3 +1213,14 @@ Warning.JAGGED_EDGED_FIN = Gezackte Ecken in Leitwerken k
Warning.LISTENERS_AFFECTED = Simulationsempfänger haben die Simulation beeinflusst.
Warning.RECOVERY_DEPLOYMENT_WHILE_BURNING = Bergungssystem wurde ausgelöst während der Motor noch gebrannt hat.
Warning.FILE_INVALID_PARAMETER = Ignoriere ungültigen Parameter.
+
+!icons
+Icons.Undo = Undo
+Icons.Redo = Redo
+
+OpenRocketPrintable.Partsdetail = Parts detail
+OpenRocketPrintable.Fintemplates = Fin templates
+OpenRocketPrintable.DesignReport = Design Report
+
+OpenRocketDocument.Redo = Redo
+OpenRocketDocument.Undo = Undo
diff --git a/l10n/messages_es.properties b/l10n/messages_es.properties
index 21477eb4d..7061bc4b5 100644
--- a/l10n/messages_es.properties
+++ b/l10n/messages_es.properties
@@ -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 = Click para seleccionar 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 = Si está conectado a Internet, haga simplemente Clik Enviar report de errores.
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 = Puede enviar un report de error en OpenRocket rellenando el formulario de abajo y enviándolo.
También puede reportar errores e incluir adjuntos sobre el proyecto de Web.
+bugreport.reportDialog.txt = Puede realizar un informe de errores escribiendo en el formulario de abajo y enviándolo.
También puede informar de los errores adjuntando el archivo de su proyecto por email.
+!Puede enviar un report de error en OpenRocket rellenando el formulario de abajo y enviándolo.
También puede reportar errores e incluir adjuntos sobre el proyecto de Web.
bugreport.reportDialog.txt2 = Por favor incluya una breve descripción de lo que estaba haciendo cuando ocurrió la excepción.
! 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 = 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 = La masa elegida no incluye los motores.
-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 = Split del cluster dentro de componentes separados.
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 Tangente a la ojiva, Que tiene una transición suave al fuselaje, produce un valor menor que 1 Secante a la ojiva.
-Shape.Ogive.desc2 = Una ojiva con perfil de segmento circular. El parámetro de forma de valor 1 produce una Tangente a la ojiva, Que tiene una transición suave al fuselaje, produce un valor menor que 1 Secante a la ojiva.
+Shape.Ogive.desc1 = Ojiva con perfil de arco de circunferencia. Un valor de forma igual a 1 produce una Ojiva tangente, mientras que un valor inferior a 1 produce una Ojiva secante 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 Ojiva tangente, mientras que un valor inferior a 1 produce una Ojiva secante con un perfil más afilado.
+!Una ojiva con perfil de arco de circunferencia. El parámetro de forma de valor 1 produce una Tangente a la ojiva, Que tiene una transición suave al fuselaje, produce un valor menor que 1 Secante a la ojiva.
Shape.Ellipsoid = Elipsoide
-Shape.Ellipsoid.desc1 = Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;Longitud y Diámetro.
-Shape.Ellipsoid.desc2 = Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;Longitud y Diámetro. 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 deRadio &veces; (x / Longitud)k donde k es el parámetro de forma. Para k=0.5 este es un
-Shape.Powerseries.descA2 = -potencia o parabólico ojiva, para k=0.75 un
-Shape.Powerseries.descA3 = -potencia, y para k=1 a cónica ojiva.
-Shape.Powerseries.descB1 = Una serie de transiciones potentes tiene un perfil de Radio &veces; (x / Longitud)k donde k es el parámetro de forma. Para k=0.5 la transición es
-Shape.Powerseries.descB2 = -potencia o parabólica, para k=0.75 a
-Shape.Powerseries.descB3 = -potencia, y para k=1 cónica.
+Shape.Ellipsoid.desc1 = Ojiva con perfil de media elipse. Por defecto, una elipse de longitud igual al triple de su diámetro.
+!Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;Longitud y Diámetro.
+Shape.Ellipsoid.desc2 = Ojiva con perfil de media elipse. Por defecto, una elipse de longitud igual al triple de su diámetro.
+!Una ojiva elipsoidal tiene un perfil de media elipse con el eje mayor de longitud 2&veces;Longitud y Diámetro. 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 Radius × (x / Length)k where k is the shape parameter. For k=0.5 this is a \u00BD-power or parabolic nose cone, for k=0.75 a \u00BE-power, and for k=1 a conical nose cone.
+!Shape.Powerseries.desc2 = A power series transition has a profile of Radius × (x / Length)k where k is the shape parameter. For k=0.5 the transition is \u00BD-power or parabolic, for k=0.75 a \u00BE-power, and for k=1 conical.
+
+Shape.Powerseries.desc1 = Ojiva cuyo perfil es una curva obtenida a partir de una función potencial f(x)k. Un valor de forma k=0.5 produce una ojiva con perfil de parábola, para k=0.75 se produce una ojiva con perfil potencial, y para k=1 se produce una ojiva con perfil recto u Ojiva cónica.
+!Shape.Powerseries.desc1 = Una serie de ojivas potentes tiene un perfil deRadio &veces; (x / Longitud)k donde k es el parámetro de forma. Para k=0.5 este es un \u00BD-potencia o parabólico ojiva, para k=0.75 un \u00BE-potencia, y para k=1 a cónica ojiva.
+Shape.Powerseries.desc2 = Una serie de transiciones potentes tiene un perfil de Radio &veces; (x / Longitud)k donde k es el parámetro de forma. Para k=0.5 la transición es \u00BD-potencia o parabólica, para k=0.75 a \u00BE-potencia, y para k=1 cónica.
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 full parábola que es tangente a el body tubo, 0.75 produces a 3/4 parábola, 0.5 procudes a 1/2 parábola y 0 produces a cónico ojiva .
+Shape.Parabolicseries.desc1 = Ojiva con perfil de arco de parábola. Un valor de forma igual a 1 produce una Ojiva tangente, un valor igual a 0.75 produce una parábola de 3/4, un valor igual a 0.5 produce una parábola de 1/2, y un valor igual a 0 produce una perfil recto u Ojiva cónica.
+!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 full parábola que es tangente a el body tubo, 0.75 produces a 3/4 parábola, 0.5 procudes a 1/2 parábola y 0 produces a cónico 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 full parábola que es tangente a el body tubo at el aft extremo, 0.75 produces a 3/4 parábola, 0.5 procudes a 1/2 parábola y 0 produces a cónico 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 LD-Haack o Von Karman ojiva , que minimizas drag para fijado longitud y diámetro, mientras a valor de 0.333 produces un LV-Haack 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 Ojiva LD Haack u Ojiva Von Karman 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 Ojiva LV-Haack 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 LD-Haack o Von Karman ojiva , que minimizas drag para fijado longitud y diámetro, mientras a valor de 0.333 produces un LV-Haack ojiva , que minimizas drag para fijado longitud y volumen.
Shape.Haackseries.desc2 = The Haack series ojiva 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 LD-Haack o Von Karman forma, mientras a valor de 0.333 produces un LV-Haack 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
diff --git a/l10n/messages_fr.properties b/l10n/messages_fr.properties
index 4d2a093a4..fe61e71e2 100644
--- a/l10n/messages_fr.properties
+++ b/l10n/messages_fr.properties
@@ -143,6 +143,9 @@ debuglogdlg.col.Message = Message
debuglogdlg.lbl.Loglinenbr = Numéro de la ligne:
debuglogdlg.lbl.Time = Heure:
debuglogdlg.lbl.Level = Niveau:
+debuglogdlg.lbl.Location = Emplacement:
+debuglogdlg.lbl.Logmessage = Texte du message:
+debuglogdlg.lbl.Stacktrace = Stack trace:
! Edit Motor configuration dialog
@@ -457,7 +460,7 @@ compaddbuttons.askPosition.Addtotheend = Ajouter
compaddbuttons.askPosition.Cancel = Annuler
! Component Analysis Dialog
-componentanalysisdlg.Componentanalysis = Analyse pièce
+componentanalysisdlg.componentanalysis = Analyse pièce
componentanalysisdlg.lbl.winddir = Direction du vent:
componentanalysisdlg.TitledBorder.warnings = Avertissements:
componentanalysisdlg.ToggleBut.worst = Pire
@@ -617,7 +620,8 @@ CenteringRingCfg.tab.General = G
CenteringRingCfg.tab.Generalproperties = Propriétés Générales
!ComponentConfigDialog
-ComponentCfgDlg.configuration = configuration
+ComponentCfgDlg.configuration =
+ComponentCfgDlg.configuration1 = configuration
ComponentCfgDlg.Modify = Modifier
!EllipticalFinSetConfig
@@ -647,6 +651,10 @@ FreeformFinSetCfg.lbl.Posrelativeto = Position par rapport
FreeformFinSetCfg.lbl.plus = plus
FreeformFinSetCfg.lbl.FincrossSection = Coupe de l'aileron:
FreeformFinSetCfg.lbl.Thickness = Epaisseur:
+FreeformFinSetCfg.lbl.Double-click = Double-click
+FreeformFinSetCfg.lbl.toedit = pour editer
+FreeformFinSetCfg.lbl.Clickdrag = Cliquer+déplacer: Ajouter et déplacer des points
+FreeformFinSetCfg.lbl.Ctrlclick = Ctrl+cliquer: Enlever un point
!InnerTubeConfig
InnerTubeCfg.tab.Motor = Moteur
@@ -750,6 +758,7 @@ ParachuteCfg.tab.ttip.Radialpos = Configuration de la position radial
ParachuteCfg.lbl.Radialdistance = Rayon:
ParachuteCfg.lbl.Radialdirection = Azimut:
ParachuteCfg.but.Reset = Réinitialiser
+ParachuteCfg.lbl.plusdelay = Retard
! ShockCordConfig
ShockCordCfg.lbl.Shockcordlength = Longueur du cordon amortisseur
@@ -795,6 +804,7 @@ StreamerCfg.tab.ttip.Radialpos = Configuration de la position sur le p
StreamerCfg.lbl.Radialdistance = Rayon:
StreamerCfg.lbl.Radialdirection = Azimut:
StreamerCfg.but.Reset = Réinitialiser
+StreamerCfg.lbl.plusdelay = Retard
! ThicknessRingComponentConfig
ThicknessRingCompCfg.tab.Outerdiam = Diamètre externe:
@@ -949,7 +959,7 @@ Databases.materials.PVC = PVC
Databases.materials.Spruce = Sapin
Databases.materials.StyrofoamgenericEPS = Polystyrène (générique EPS)
Databases.materials.StyrofoamBluefoamXPS = \"Mousse Bleue\" de polystyrène (XPS)
-Databases.materials.Quantumtubing = Quantum tubing
+Databases.materials.Quantumtubing = Tube Quantum
!SURFACE_MATERIAL
Databases.materials.Ripstopnylon = Ripstop nylon
Databases.materials.Mylar = Mylar
@@ -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×la longueur et diamètre.
Shape.Ellipsoid.desc2 = Une transition ellipsoïdale a un profil d'une demi ellipse dont les axes principaux sont de longueurs 2×longueur et diamètre. Si la transition n'est pas coupée alors le profil est étendu au centre par le rayon correspondant.
Shape.Powerseries = Série Haute puissance
-Shape.Powerseries.descA1 = Un cône de puissance a un profil de Rayon × (x / Longueur)k ou k est le paramètre de la forme. Pour k=0,5 c'est une
-Shape.Powerseries.descA2 = -puissance ou une ogive parabolique, pour k=0,75 une
-Shape.Powerseries.descA3 = -puissance, et pour k=1 un cône conique.
-Shape.Powerseries.descB1 = Une transition de la série haute puissance a un profile de Rayon × (x / Longueur)k ou k est le paramètre de la forme. Pour k=0,5 la transition est
-Shape.Powerseries.descB2 = -puissance ou parabolique, pour k=0,75 une
-Shape.Powerseries.descB3 = -puissance, et pour k=1 conique.
+Shape.Powerseries.desc1 = Un cône de puissance a un profil de Rayon × (x / Longueur)k ou k est le paramètre de la forme. Pour k=0,5 c'est une \u00BD-puissance ou une ogive parabolique, pour k=0,75 une \u00BE-puissance, et pour k=1 un cône conique.
+Shape.Powerseries.desc2 = Une transition de la série haute puissance a un profile de Rayon × (x / Longueur)k ou k est le paramètre de la forme. Pour k=0,5 la transition est \u00BD-puissance ou parabolique, pour k=0,75 une \u00BE-puissance, et pour k=1 conique.
Shape.Parabolicseries = Série parabolique
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 parabole pleine qui est tangent au tube de la fusée, 0,75 produit un 3/4 de parabole, 0,5 produit une 1/2 parabole et 0 produit un cône conique.
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 parabole pleine qui est tangent au tube de la fusée à l'extrémité arrière, 0,75 produit une 3/4 parabole, 0,5 produit une 1/2 parabole et 0 produit une transition conique.
@@ -1206,3 +1212,17 @@ Warning.JAGGED_EDGED_FIN = Jagged-edged fin predictions may be inaccurate.
Warning.LISTENERS_AFFECTED = Listeners modified the flight simulation
Warning.RECOVERY_DEPLOYMENT_WHILE_BURNING = Le dispositif de récupération s'est ouvert alors que la combustion du moteur n'était pas finie.
Warning.FILE_INVALID_PARAMETER = Parametre invalide rencontré, ignorer.
+
+!icons
+Icons.Undo = Undo
+Icons.Redo = Redo
+
+OpenRocketPrintable.Partsdetail = Détail des pièces
+OpenRocketPrintable.Fintemplates = Gabaris des ailerons
+OpenRocketPrintable.DesignReport = Rapport de conception
+
+OpenRocketDocument.Redo = Redo
+OpenRocketDocument.Undo = Undo
+
+!EllipticalFinSet
+EllipticalFinSet.Ellipticalfinset = Ailerons elyptique
\ No newline at end of file
diff --git a/src/net/sf/openrocket/document/OpenRocketDocument.java b/src/net/sf/openrocket/document/OpenRocketDocument.java
index 25b149e45..d0daa17a6 100644
--- a/src/net/sf/openrocket/document/OpenRocketDocument.java
+++ b/src/net/sf/openrocket/document/OpenRocketDocument.java
@@ -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);
diff --git a/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java b/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java
index 7e526ee57..a04c65b61 100644
--- a/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java
+++ b/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java
@@ -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();
diff --git a/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java b/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java
index 4536288ec..4dcd5104e 100644
--- a/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java
+++ b/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java
@@ -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());
diff --git a/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java b/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java
index 42648637f..efea6f9a9 100644
--- a/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java
+++ b/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java
@@ -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());
diff --git a/src/net/sf/openrocket/gui/dialogs/DebugLogDialog.java b/src/net/sf/openrocket/gui/dialogs/DebugLogDialog.java
index 1ef299e7e..53742c161 100644
--- a/src/net/sf/openrocket/gui/dialogs/DebugLogDialog.java
+++ b/src/net/sf/openrocket/gui/dialogs/DebugLogDialog.java
@@ -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);
diff --git a/src/net/sf/openrocket/gui/print/OpenRocketPrintable.java b/src/net/sf/openrocket/gui/print/OpenRocketPrintable.java
index 58d5ad3a7..709e3c7a8 100644
--- a/src/net/sf/openrocket/gui/print/OpenRocketPrintable.java
+++ b/src/net/sf/openrocket/gui/print/OpenRocketPrintable.java
@@ -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);
}
/**
diff --git a/src/net/sf/openrocket/rocketcomponent/EllipticalFinSet.java b/src/net/sf/openrocket/rocketcomponent/EllipticalFinSet.java
index aaaf92845..2dadf6f56 100644
--- a/src/net/sf/openrocket/rocketcomponent/EllipticalFinSet.java
+++ b/src/net/sf/openrocket/rocketcomponent/EllipticalFinSet.java
@@ -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");
}
diff --git a/src/net/sf/openrocket/util/Icons.java b/src/net/sf/openrocket/util/Icons.java
index 446044df3..9f786ec76 100644
--- a/src/net/sf/openrocket/util/Icons.java
+++ b/src/net/sf/openrocket/util/Icons.java
@@ -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");