Skip to content

Commit 3180e0c

Browse files
committed
Merge branch 'weblate-weblate-ray-optics-simulation-main'
2 parents f238e3d + 4706a5d commit 3180e0c

7 files changed

Lines changed: 280 additions & 29 deletions

File tree

data/contributors.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -841,5 +841,29 @@
841841
"gallery": true
842842
},
843843
"firstCommit": "2026-01-16"
844+
},
845+
{
846+
"name": "Rai Gar",
847+
"githubEmails": [
848+
"rai28@outlook.es"
849+
],
850+
"contributions": {
851+
"translations": [
852+
"es"
853+
]
854+
},
855+
"firstCommit": "2026-02-09"
856+
},
857+
{
858+
"name": "Estyx Translations",
859+
"githubEmails": [
860+
"aghtranslation@gmail.com"
861+
],
862+
"contributions": {
863+
"translations": [
864+
"es"
865+
]
866+
},
867+
"firstCommit": "2026-02-13"
844868
}
845869
]

locales/es/gallery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
"grinOptics": "Óptica de gradiente de índice",
1212
"miscellaneous": "Misceláneas"
1313
},
14-
"openInSimulator": "Abrir en el simulador"
14+
"openInSimulator": "Abrir en el simulador",
15+
"contributors_one": "Colaborador",
16+
"contributors_many": "Colaboradores",
17+
"contributors_other": "Colaboradores"
1518
},
1619
"galleryData": {
1720
"common": {

locales/es/main.json

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
"home": "Inicio",
1010
"gallery": "Galería",
1111
"about": "Acerca de",
12-
"github": "GitHub"
12+
"github": "GitHub",
13+
"modules": "Módulos"
1314
},
1415
"homePage": {
15-
"description": "Crear y simular escenas 2D de óptica geométrica de manera interactiva.\nTotalmente gratuito y basado en web. El código fuente está [disponible en GitHub](/github).",
16+
"description": "Crea y simula escenas 2D de óptica geométrica de manera interactiva.\nTotalmente gratuito y basado en web. El código fuente está [disponible en GitHub](/github).",
1617
"launchSimulator": "Iniciar simulador"
1718
},
1819
"tools": {
@@ -27,7 +28,7 @@
2728
"common": {
2829
"clickInstruction": "Clique para crear.",
2930
"lineInstruction": "Arrastre o clique para crear.",
30-
"circleInstruction": "Arrastre o clique para crear."
31+
"circleInstruction": "Arrastra o haz clic para crear (centro >> circunferencia)."
3132
},
3233
"SingleRay": {
3334
"title": "Rayo único",
@@ -100,7 +101,7 @@
100101
},
101102
"SphericalLens": {
102103
"title": "Lente esférica",
103-
"description": "Una lente esférica."
104+
"description": "Una lente esférica, cuya forma puede definirse usando varios parámetros."
104105
},
105106
"CustomGlass": {
106107
"title": "Ecuación personalizada",
@@ -117,7 +118,8 @@
117118
"warning": "ATENCIÓN: Sólo se soportan polígonos simples, de otro modo el comportamiento es impredecible."
118119
},
119120
"otherGrinGlass": {
120-
"title": "Polígono con gradiente de índice"
121+
"title": "Polígono con gradiente de índice",
122+
"description": "Material con una función n(x,y) personalizada para el índice de refracción."
121123
},
122124
"Blocker": {
123125
"title": "Bloqueador recto",
@@ -160,6 +162,46 @@
160162
"moveView": {
161163
"title": "Mover vista",
162164
"description": "Arrastre para mover la vista. (El botón derecho del ratón tiene la misma función.)"
165+
},
166+
"ParamMirror": {
167+
"title": "Curva paramétrica",
168+
"description": "Un espejo cuya forma viene definida por ecuaciones paramétricas personalizables."
169+
},
170+
"ConcaveDiffractionGrating": {
171+
"description": "Una rejilla de difracción cóncava cuya forma es la de una sección de un círculo.",
172+
"title": "Red cóncava"
173+
},
174+
"ParamGlass": {
175+
"title": "Curva paramétrica"
176+
},
177+
"modules": {
178+
"import": "Importar módulos…",
179+
"remove": "Eliminar módulo"
180+
},
181+
"moreTools": {
182+
"title": "Más herramientas…"
183+
},
184+
"CurveGlass": {
185+
"title": "Curvas de Bézier"
186+
},
187+
"CustomParamSurface": {
188+
"title": "Curva paramétrica personalizada",
189+
"description": "Una superficie personalizada con una forma definida mediante ecuaciones paramétricas."
190+
},
191+
"DiffractionGrating": {
192+
"title": "Red de difracción",
193+
"warning": "Aviso: Las intensidades de los rayos difractados podrían no ser precisas.",
194+
"description": "Una red de difracción que separa la luz en un ángulo que dependerá de la longitud de onda."
195+
},
196+
"CustomArcSurface": {
197+
"description": "Una superficie personalizada con la forma de un arco de circunferencia.",
198+
"title": "Arco personalizado"
199+
},
200+
"CustomSurface": {
201+
"title": "Línea personalizada"
202+
},
203+
"CurveGrinGlass": {
204+
"title": "Curvas de Bézier GRIN"
163205
}
164206
},
165207
"view": {
@@ -183,12 +225,14 @@
183225
"description": "Simular los rayos y las imágenes vistos desde una posición. El circulo azul es el observador. Cualquier rayo que lo cruce se considera 'observado'. El observador no sabe donde inician los rayos, pero puede pensar que tienen inicio en algún(os) punto(s) si se intersectan ahí. Los rayos se muestran en azul, y los puntos en amarillo (reales) o naranja (virtuales).",
184226
"simulateColorsNote": "Cuando 'Simular colores' está seleccionado, se muestran en los colores de la fuente.",
185227
"instruction": "Arrastre el punto azul grande para mover al observador."
186-
}
228+
},
229+
"customThemeNote": "Nota: Esta escena usa un tema personalizado."
187230
},
188231
"simulateColors": {
189232
"title": "Simular colores",
190233
"description": "Simular colores (longitudes de onda), mezclas de colores, filtros de color de bloqueadores y espejos y dispersión cromática de vidrios.",
191-
"instruction": "Puede ajustar los parámetros de estos objetos cuando los seleccione. Para simular el espectro de colores, sobreponga rayos con diferentes longitudes de onda."
234+
"instruction": "Puede ajustar los parámetros de estos objetos cuando los seleccione. Para simular el espectro de colores, sobreponga rayos con diferentes longitudes de onda.",
235+
"warning": "La mezcla de colores es imprecisa a menos que se use junto con \"Corregir brillo\"."
192236
},
193237
"languageDropdown": {
194238
"title": "Idioma: {{language}}",

locales/es/modules.json

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,38 @@
11
{
22
"modulesPage": {
33
"description": {
4-
"makeNewTools": "La función \"Módulo\" permite crear nuevas herramientas mediante la combinación, especialización o reparametrización de objectos creados con las herramientas existentes en este simulador."
4+
"makeNewTools": "La función \"Módulo\" permite crear nuevas herramientas mediante la combinación, especialización o reparametrización de objectos creados con las herramientas existentes en este simulador.",
5+
"appearAsTools": "Los módulos importados aparecen como herramientas en la categoría \"otros\". Selecciona y haz clic en el espacio en blanco de acuerdo con el orden de la secuencia de puntos de control (véase \"Especificación\").",
6+
"embeddedInScene": "Los módulos importados están incrustados en los datos de la escena, por lo que no se actualizarán automáticamente cuando los autores de los módulos los actualicen."
7+
},
8+
"import": "Importar",
9+
"imported": "Importado",
10+
"specification": {
11+
"title": "Especificación",
12+
"controlPointSequence": "Secuencia de puntos de control",
13+
"parameters": "Parámetros"
14+
},
15+
"customization": {
16+
"title": "Personalización",
17+
"description": "Los módulos pueden ser creados o personalizados directamente dentro de la aplicación web utilizando el editor de JSON incorporado. Véase [el tutorial](/modules/tutorial). La personalización de módulos importados solamente afectará a la escena actual."
18+
},
19+
"contribution": {
20+
"title": "Contribución",
21+
"description": "Contribuciones a la lista superior son bienvenidas. Para contribuir tu módulo, vea [Contribuir módulos](/contributing/modules)."
22+
}
23+
},
24+
"moduleData": {
25+
"FresnelLens": {
26+
"title": "Lente de Fresnel",
27+
"description": "Una lente de Fresnel a partir de un vidrio semicircular. Versión modular de [este ejemplo en la Galería](/gallery/fresnel-lens).",
28+
"point1": "Primer extremo de la lente",
29+
"point2": "Segundo extremo de la lente",
30+
"Nslice": "Número de secciones",
31+
"refIndex": "Índice de refracción de la lente"
32+
},
33+
"ContSpectrum": {
34+
"title": "Fuente de luz de espectro constante",
35+
"description": "Una fuente de luz con un espectro uniforme discretizado dado un paso constante. Solo funciona cuando está activada la opción \"Simular Colores\"."
536
}
637
}
738
}

locales/es/simulator.json

Lines changed: 78 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
{
22
"welcome": {
33
"title": "Bienvenido a la simulación de Óptica de rayos",
4-
"instruction": "Para añadir un componente óptico, seleccione una herramienta y presione el espacio en blanco.\nPara cargar un ejemplo, por favor, [diríjase a la página de la galería](/gallery)."
4+
"instruction": "Para añadir un componente óptico, seleccione una herramienta y presione el espacio en blanco.\nPara cargar un ejemplo, por favor, [diríjase a la página de la galería](/gallery).",
5+
"loading": "Cargando escena desde la URL... Espere, por favor."
56
},
67
"common": {
78
"saveButton": "Guardar",
89
"cancelButton": "Cancelar",
9-
"closeButton": "Cerrar"
10+
"closeButton": "Cerrar",
11+
"customOption": "Personalizado",
12+
"reloadToTakeEffect": "Por favor, reinicie la página para que haga efecto.",
13+
"resetButton": "Reiniciar",
14+
"legacyOption": "Heredado",
15+
"defaultOption": "Predeterminado"
1016
},
1117
"file": {
1218
"title": "Archivo",
@@ -17,7 +23,7 @@
1723
"title": "Rehacer"
1824
},
1925
"reset": {
20-
"title": "Restablecer"
26+
"title": "Reiniciar"
2127
},
2228
"save": {
2329
"title": "Guardar"
@@ -30,7 +36,8 @@
3036
"title": "Exportar como PNG/SVG"
3137
},
3238
"copyLink": {
33-
"title": "Copiar enlace compartible"
39+
"title": "Copiar enlace para compartir",
40+
"description": "Copia y ve a la URL directa de la escena actual, que puede ser utilizada para compartir (posiblemente mediante un acortador de URLs). Además, véase Configuración -> Sincronizar URL automáticamente."
3441
},
3542
"viewGallery": {
3643
"title": "Ver galería",
@@ -51,32 +58,80 @@
5158
"lockObjs": "Bloquear objetos"
5259
},
5360
"gridSize": {
54-
"title": "Tamaño de la cuadrícula"
61+
"title": "Tamaño de la Cuadrícula"
5562
},
5663
"observerSize": {
57-
"title": "Tamaño del observador"
64+
"title": "Tamaño del Observador"
5865
},
5966
"zoom": {
6067
"title": "Zoom"
6168
},
6269
"language": {
63-
"title": "Idioma"
70+
"title": "Idioma",
71+
"lowFraction": "Este idioma solo está un {{fraction}} traducido. Puedes ayudar a completarlo [en Weblate](/weblate)."
6472
},
6573
"showStatusBox": {
66-
"title": "Mostrar diálogo de estado"
74+
"title": "Mostrar diálogo de estado",
75+
"description": "Muestra el diálogo de estado, que incluye las coordenadas del ratón, información sobre el rendimiento, y el brillo truncado (el brillo total de los rayos truncados en la serie infinita de reflexión interna)."
6776
},
6877
"showHelpPopups": {
6978
"title": "Mostrar ventanas de ayuda",
70-
"description": "Definir si mostrar ventanas de ayuda al pasar sobre los botones"
79+
"description": "Definir si mostrar ventanas de ayuda al pasar sobre los botones."
7180
},
72-
"advancedHelp": "Para ayuda avanzada, vea el icono de ayuda en la esquina inferior derecha."
81+
"advancedHelp": "Para ayuda avanzada, vea el icono de ayuda en la esquina inferior derecha.",
82+
"showRayArrows": {
83+
"title": "Mostrar Flechas de Rayos"
84+
},
85+
"correctBrightness": {
86+
"title": "Corregir Brillo",
87+
"description": "Por defecto, el brillo en la pantalla no representa consistentemente el brillo de los rayos. Esta opción lo soluciona utilizando un renderizador especializado, pero podría reducir el rendimiento en algunos dispositivos. (En otros dispositivos, sin embargo, el rendimiento podría mejorar).",
88+
"error": "Error al activar \"Corregir Brillo\". Puede que tu navegador no sea compatible con texturas WebGL de punto flotante."
89+
},
90+
"lengthScale": {
91+
"title": "Escala de Longitud",
92+
"description": "Si la unidad de longitud predeterminada es demasiado pequeña o demasiado grande para modelar un sistema físico cuando se interpreta como una unidad física común (por ejemplo, milímetros), este factor se puede utilizar para cambiar la escala aparente (por ejemplo, los anchos de línea) de la escena."
93+
},
94+
"showAdvancedSettings": {
95+
"title": "Más configuraciones de escena…"
96+
},
97+
"theme": {
98+
"title": "Tema"
99+
},
100+
"colorMode": {
101+
"title": "Modo de Color",
102+
"description": "Determina cómo los brillos (y colores, si \"Simular Colores\" está activado) de los rayos o imágenes son mapeados a los colores en la pantalla. Sólo es configurable utilizando \"Corregir Brillo\"."
103+
},
104+
"redWavelength": {
105+
"title": "Longitud de Onda Roja (nm)",
106+
"description": "La longitud de onda que se mostrará cómo rojo cuando \"Simular Colores\" esté activado. Útil para visualizar la luz no visible con un espectro de color artificial."
107+
},
108+
"violetWavelength": {
109+
"title": "Longitud de Onda Violeta (nm)",
110+
"description": "La longitud de onda que se mostrará cómo violeta cuando \"Simular Colores\" esté activado. Útil para visualizar la luz no visible con un espectro de color artificial."
111+
},
112+
"maxRayDepth": {
113+
"title": "Profundidad Máxima de los Rayos",
114+
"description": "Número máximo de interacciones rayo-objeto antes de que estos sean truncados. Utiliza \"inf\" para que no haya límite."
115+
},
116+
"autoSyncUrl": {
117+
"title": "Sincronizar URL Automáticamente",
118+
"description": "Cuando esté activado, la URL será actualizada automáticamente con la escena actual, por lo que no tendrás que guardarla manualmente cada vez. Para cambiar el título ve a Archivo -> Guardar -> Renombrar."
119+
},
120+
"showJsonEditor": {
121+
"title": "Mostrar editor de JSON",
122+
"description": "Muestra el editor de código para la representación JSON de la escena, lo que es necesario cuando se crea un módulo personalizado (véase Herramientas -> Otros -> Importar Módulos -> Hacer Módulos Personalizados)."
123+
},
124+
"showSimulatorControls": {
125+
"title": "Mostrar controles del simulador",
126+
"description": "Permite el control manual del simulador. Útil cuando la escena tarda en ejecutarse, carga lento desde el JSON, o contiene aleatorización."
127+
}
73128
},
74129
"objBar": {
75130
"showAdvanced": {
76131
"title": "Más opciones…"
77132
},
78133
"applyToAll": {
79-
"title": "Aplicar a todos"
134+
"title": "Aplicar a Todos"
80135
},
81136
"duplicate": {
82137
"title": "Duplicar"
@@ -86,21 +141,24 @@
86141
},
87142
"unselect": {
88143
"title": "Deseleccionar",
89-
"description": "Deseleccionar este objecto (click derecho en un espacio en blanco tiene la misma función.)"
144+
"description": "Deseleccionar este objecto (clic derecho en un espacio en blanco tiene la misma función)."
90145
}
91146
},
92147
"sceneObjs": {
93148
"common": {
94149
"brightness": "Brillo",
95150
"brightnessInfo": {
96151
"rayDensity": "Solo es efectivo si la 'Densidad de rayos' es suficientemente alta.",
97-
"rayDensitySlider": "Para controlar el número de rayos emitidos, por favor ajustar el deslizante global 'Densidad de rayos'."
152+
"rayDensitySlider": "Para controlar el número de rayos emitidos, por favor ajustar el deslizante global 'Densidad de rayos'.",
153+
"newColorModes": "Cuando \"Corregir Brillo\" está activado, el comportamiento de \"Densidad de Rayos\" con valores bajos es distinto de lo predeterminado. Para la unidad, vea el recuadro de información de un detector cuando este esté seleccionado."
98154
},
99155
"wavelength": "Longitud de onda",
100156
"emisAngle": "Angulo de emisión",
101157
"random": "Aleatorio",
102158
"lambert": "Lambertiana",
103-
"focalLength": "Distancia focal"
159+
"focalLength": "Distancia focal",
160+
"lengthUnitInfo": "La unidad de medida utilizada en este simulador (excepto las longitudes de onda) es una unidad arbitraria, que puede ser interpretada como cualquier unidad física (por ejemplo, milímetros) siempre que sea consistente a través de toda la simulación. Si la unidad parece demasiado pequeña o demasiado grande, ajuste Configuración -> Escala de Longitud.",
161+
"coordOrigin": "Origen"
104162
},
105163
"Beam": {
106164
"imageDetectionWarning": "Detección de imagen puede no funcionar con rayos divergentes/ aleatorios."
@@ -221,5 +279,11 @@
221279
},
222280
"footer": {
223281
"processing": "Procesando... Click aquí para detener."
282+
},
283+
"editor": {
284+
"objectBodyHint": "Para rotación, agrupación, etc., véase el icono de ayuda en la esquina inferior derecha.",
285+
"coordinatesHint": "Para transformar objetos, definir coordenadas desde formulas, etc., véase el icono de ayuda en la esquina inferior derecha.",
286+
"handleHint": "Para mover varios objetos juntos, haz clic en el espacio vacío para crear un agarre.",
287+
"handleArrowHint": "Para alternar entre horizontal/vertical/rotación/escala, haz clic en el agarre (flecha) y cambia la opción \"transformación\" encima."
224288
}
225289
}

0 commit comments

Comments
 (0)