-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
8087 lines (7730 loc) · 387 KB
/
app.js
File metadata and controls
8087 lines (7730 loc) · 387 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(() => {
"use strict";
const DEG = Math.PI / 180;
const RAD = 180 / Math.PI;
const DAY_MS = 86400000;
const GEOCODING_ENDPOINT = "https://geocoding-api.open-meteo.com/v1/search";
const PLACE_SEARCH_DELAY = 260;
const PLACE_RESULT_LIMIT = 8;
const TYCHE_TEST_SCHEMA_VERSION = 2;
const TYCHE_BUILD_HASH = (() => {
try {
const scriptVersion = document.currentScript?.src
? new URL(document.currentScript.src, window.location.href).searchParams.get("v")
: "";
return scriptVersion || window.TYCHE_BUILD_HASH || new URLSearchParams(window.location.search).get("v") || "dev";
} catch {
return window.TYCHE_BUILD_HASH || "dev";
}
})();
const TIME_CONFIDENCE_VALUES = Object.freeze([
"exact",
"rounded-to-minute",
"rounded-to-5-min",
"rounded-to-15-min",
"rounded-to-hour",
"reported",
"uncertain",
]);
const ZONE_RELIABILITY_VALUES = Object.freeze(["iana", "manual", "lmt", "historical", "unknown"]);
const state = {
lang: localStorage.getItem("tyche-lang") || "es",
theme: localStorage.getItem("tyche-theme") || "day",
lastChart: null,
activeCityKey: "",
selectedCity: null,
selectedPersonName: "",
selectedPersonAuditStatus: "",
selectedPersonTimeConfidence: "",
selectedPersonZoneReliability: "",
selectedZoneSource: "",
placeSuggestions: [],
placeSearchTimer: 0,
placeSearchController: null,
activePlaceIndex: -1,
modalReturnFocus: null,
glossaryReturnFocus: null,
personDataReturnFocus: null,
ephemerisEngine: "fallback",
};
const I18N = {
es: {
brandSub: "Carta natal helenística generada matemáticamente",
title: "Crea una carta natal helenística",
subtitle: "Calcula el Ascendente, las casas de signos enteros (Whole Sign Houses), la secta, la condición esencial, los lotes y otros elementos de la tradición astrológica helenística. La carta se procesa localmente en tu navegador. La búsqueda de lugares consulta coordenadas externas y las imágenes del archivo histórico se cargan desde Wikimedia Commons.",
subtitleHtml: 'Calcula el <button type="button" data-glossary="ascendant">Ascendente</button>, las <button type="button" data-glossary="wholeSign">casas de signos enteros (Whole Sign Houses)</button>, la <button type="button" data-glossary="sect">secta</button>, la <button type="button" data-glossary="essentialCondition">condición esencial</button>, los <button type="button" data-glossary="lots">lotes</button> y otros elementos de la tradición astrológica helenística. La carta se procesa localmente en tu navegador. La búsqueda de lugares consulta coordenadas externas y las imágenes del archivo histórico se cargan desde Wikimedia Commons.',
birthDate: "Fecha de nacimiento",
birthTime: "Hora de nacimiento",
birthPlace: "Lugar de nacimiento",
gender: "Sexo",
notUsed: "No usado",
female: "Femenino",
male: "Masculino",
advancedOptions: "Opciones avanzadas",
latitude: "Latitud",
longitude: "Longitud",
timeZone: "Zona horaria IANA",
manualOffset: "Diferencia UTC de respaldo",
calendar: "Calendario",
gregorian: "Gregoriano",
julian: "Juliano",
zodiac: "Zodíaco",
tropical: "Tropical",
sidereal: "Sideral aproximado",
houses: "Casas",
wholeSign: "Casas por signos enteros",
aspectMode: "Tabla de configuraciones",
aspectModeNote: "La lectura natal usa configuraciones por signo; el grado añade cercanía y perfección en tablas y evidencia.",
orbNote: "El orbe afecta a contactos por grado, cercanía y aplicación cercana; no elimina las configuraciones por signo usadas en el juicio.",
bySign: "Por signo",
signAndDegree: "Signo + grado",
byDegree: "Solo grado",
orb: "Orbe",
terms: "Términos / límites",
egyptian: "Egipcios",
techniqueMode: "Enfoque",
strict: "Tradicional helenística",
mixed: "Tradicional + planetas modernos",
includeModern: "Incluir Urano, Neptuno y Plutón",
lots: "Lotes",
fortune: "Fortuna",
spirit: "Espíritu",
necessity: "Necesidad",
courage: "Coraje",
victory: "Victoria",
calculate: "Calcular carta",
resultEyebrow: "Resultado",
planets: "Planetas",
traditionalPlanetsTitle: "Planetas visibles tradicionales",
modernPlanetsTitle: "Planetas modernos como capa adicional",
places: "Lugares/Casas",
configurations: "Configuraciones",
missingDate: "Añade fecha y hora de nacimiento.",
invalidHistoricalYear: "Tyche aún no admite años BCE/a. C. en el formulario. Para evitar ambigüedades entre año histórico y año astronómico, usa solo años CE/d. C. por ahora.",
missingPlace: "Elige una ciudad sugerida o introduce latitud, longitud y zona horaria.",
missingCoords: "Faltan coordenadas válidas.",
placeSearchShort: "Escribe al menos 2 letras.",
placeSearchLoading: "Buscando lugares...",
placeSearchEmpty: "Sin resultados. Puedes introducir coordenadas manualmente.",
placeSearchError: "No se pudo consultar la búsqueda. Usando ciudades guardadas si coinciden.",
clearPlace: "Borrar lugar",
glossaryOpen: "Abrir explicación: {term}",
peopleEyebrow: "Archivo",
peopleTitle: "Personajes históricos",
peopleIntro: "Elige una carta de ejemplo con fecha, hora, lugar y sexo ya preparados.",
peopleButton: "Personajes históricos",
peopleAuditedTitle: "Datos auditados",
peoplePartialTitle: "Datos parcialmente auditados",
peoplePendingTitle: "Pendientes de auditoría",
close: "Cerrar",
useExample: "Usar esta carta",
openWikipedia: "Abrir en Wikipedia",
dataDate: "Fecha",
dataPlace: "Lugar",
dataSex: "Sexo",
personDataDetailsTitle: "Datos natales",
personDataDetailsOpen: "Ver fuente de datos natales",
dataSource: "Fuente",
dataSourceDate: "Fecha en fuente",
dataRodden: "Rodden",
dataTimeSource: "Hora",
dataSourceGeneral: "Fuente pendiente de auditoría individual",
dataRoddenPending: "Rating individual pendiente de auditoría",
dataAuditPendingBadge: "Datos natales no auditados individualmente",
dataAuditPartialBadge: "Datos natales parcialmente auditados",
dataTimeSourcePrepared: "Hora exacta usada por Tyche; revisar fuente individual antes de investigación crítica",
footerWarning: "Motor astronómico pensado para uso educativo. La información proporcionada es solo orientativa.",
footerPrivacy: "La carta se calcula localmente en tu navegador. No guardamos tus cartas ni usamos cookies. Solo se conserva en este dispositivo la preferencia de idioma y tema. La búsqueda de lugares consulta Open-Meteo para obtener coordenadas. Las imágenes del archivo histórico se cargan desde Wikimedia Commons. El posicionamiento de planetas utiliza una librería local.",
footerAuthors: "Autores: Maple81 y Hélène de Troie, 2026.",
githubLink: "Ver repositorio GitHub",
footerAttributions: 'Atribuciones generales: algunas imágenes proceden de <a href="https://commons.wikimedia.org/" target="_blank" rel="noreferrer">Wikimedia Commons</a>; algunas referencias biográficas o natales pueden proceder de <a href="https://www.wikipedia.org/" target="_blank" rel="noreferrer">Wikipedia</a> y <a href="https://www.astro.com/astro-databank/" target="_blank" rel="noreferrer">Astro-Databank</a>. La fuente individual y el rating se muestran cuando han sido auditados; si no, se marcan como pendientes de auditoría. Búsqueda de localización mediante <a href="https://open-meteo.com/en/docs/geocoding-api" target="_blank" rel="noreferrer">Open-Meteo Geocoding API</a>; efemérides locales mediante <a href="https://github.com/cosinekitty/astronomy" target="_blank" rel="noreferrer">Astronomy Engine</a> MIT, precisión aprox. ±1′, en ejecución local, sin enviar datos a terceros.',
invalidTimeZone: "Zona horaria no reconocida; usando la diferencia UTC manual.",
invalidOffset: "La diferencia UTC manual debe tener formato +01:00 o -05:00.",
chartFor: "Carta para {place}",
chartForPerson: "Carta para {name}",
anonymousChart: "Carta anónima",
chartMeta: "Fecha: {date} · Hora: {time} · Lugar de nacimiento: {place}",
dayChart: "Carta diurna",
nightChart: "Carta nocturna",
sect: "Secta",
anglesZoneTitle: "Ángulos y zona",
chartType: "Tipo de carta",
sectLight: "Luminaria de la secta",
beneficSect: "Benéfico de la secta",
maleficSect: "Maléfico de la secta",
maleficContrarySect: "Maléfico contrario a la secta",
ascendant: "Ascendente",
descendant: "Descendente",
mc: "MC",
ic: "IC",
timezoneUsed: "Zona usada",
julianDay: "Día juliano",
technicalTitle: "Notas técnicas y límites",
technicalAstronomyTitle: "Cálculo astronómico",
technicalJudgmentTitle: "Criterios de juicio",
technicalMcIcNote: "En casas de signos enteros, el MC y el IC no abren las casas 10 y 4: son puntos astronómicos sensibles, y Tyche muestra también en qué casa caen.",
technicalLimitsCompact: "Efemérides locales mediante Astronomy Engine. La precisión planetaria aproximada es ±1′; Ascendente, MC, casas y lotes dependen de la hora, coordenadas y zona usada.",
technicalUsePrivacyCompact: "Uso educativo. Para rectificaciones, cartas críticas o investigación profesional, contrasta los datos con efemérides y fuentes especializadas. La búsqueda de lugar y las imágenes históricas pueden consultar servicios externos.",
interpretationTitle: "Lectura natal",
interpretationLeadTitle: "En una frase",
interpretationSummary: "Lo más importante",
interpretationReading: "Interpretación",
interpretationEvidence: "Ver base técnica",
interpretationWhy: "Primero aparece una lectura en lenguaje llano. La base técnica queda disponible debajo.",
interpretationTimingNote: "Sobre predicción",
interpretationTimingText: "Esta lectura no predice fechas. Describe temas de fondo de la carta natal. Para saber cuándo se activan, hay que usar técnicas de tiempo como profecciones anuales, liberación zodiacal o tránsitos relevantes.",
dominantTopicTitle: "Focos principales",
mainFocusTitle: "Zonas más activadas",
hierarchyTitle: "Base de lectura",
lifeDirectionTitle: "Dirección vital",
publicProjectionTitle: "Proyección pública",
limitsTitle: "Límites",
limitsEducational: "Uso educativo: la lectura no sustituye efemérides profesionales ni una investigación de rectificación.",
limitsPrecision: "Precisión planetaria aproximada ±1′; Ascendente, MC y casas dependen mucho de hora, coordenadas y zona usada.",
limitsPrivacy: "La carta se calcula localmente; la búsqueda de lugar y las imágenes históricas sí consultan servicios externos.",
resourcesTitle: "Apoyos y oportunidades",
tensionsTitle: "Presiones a manejar",
visibilityTitle: "Visibilidad de planetas clave",
configurationsTitle: "Ayudas y presiones entre planetas",
moonJudgmentTitle: "Ritmo lunar",
foundationsTitle: "Base de sostén",
prominenceLabel: "Prominencia",
easeLabel: "Condición esencial",
tensionLabel: "Tensión",
supportLabel: "Apoyo",
qualityTitle: "Indicadores de lectura",
signalsLabel: "Señales",
scoreBreakdownTitle: "Desglose de puntuación",
scoreTotalLabel: "Total",
scorePointsLabel: "puntos",
scoreCategoryLifeAxis: "Eje vital",
scoreCategorySect: "Luminaria de la secta",
scoreCategoryPublic: "Proyección pública",
scoreCategoryAngular: "Angularidad",
scoreCategoryLots: "Lotes",
scoreCategoryTriplicity: "Triplicidad",
scoreFocusType: "Tipo de foco",
focusTypeVital: "vital",
focusTypePublic: "público",
focusTypeCircumstantial: "circunstancial",
focusTypeSupport: "de soporte",
mainLotsAuditTitle: "Lotes principales usados en juicio",
lotTableDisplayNote: "La tabla de lotes muestra solo los lotes seleccionados.",
scoreBreakdownCaution: "Estos puntos no son una medida absoluta: solo ordenan testimonios tradicionales para explicar por qué Tyche prioriza ciertos Lugares/Casas.",
evidenceFocusSection: "Focos y score",
evidenceLotsSection: "Lotes principales",
evidenceGeneralSection: "Condiciones y avisos",
highLevel: "alta",
mediumLevel: "media",
lowLevel: "baja",
strongLevel: "fuerte",
moderateLevel: "moderado",
secondaryLevel: "secundario",
evidenceAscLordHouse: "El regente del Ascendente cae en casa {house}: {topics}.",
evidenceAscLordAngularity: "Su angularidad es {angularity}, por lo que esta señal tiene {weight}.",
evidenceAscLordCondition: "Su condición esencial indica: {condition}.",
evidenceSect: "La carta es {sect}; {sectLight} es la luminaria de la secta, {benefic} actúa como benéfico de la secta y {malefic} como maléfico contrario a la secta.",
evidenceMcHouse: "El MC cae por signos enteros en casa {house}, reforzando {topics}.",
evidenceAngularPlanets: "Planetas visibles angulares: {planets}.",
evidenceLots: "Fortuna cae en casa {fortuneHouse} y Espíritu en casa {spiritHouse}.",
evidenceLotsAlwaysWeighted: "Fortuna y Espíritu se calculan siempre para el juicio; la tabla de lotes solo muestra los lotes seleccionados.",
evidenceFocuses: "Focos principales por acumulación de señales: {focuses}.",
testimonyStrong: "peso alto",
testimonyMedium: "peso medio",
testimonyLow: "peso indirecto",
localDateTime: "Fecha local",
utcDateTime: "UTC usado",
coordinates: "Coordenadas",
ephemerisEngine: "Efemérides",
boundaryAudit: "Auditoría de frontera",
noBoundaryNotices: "Sin avisos",
aspectTableMode: "Tabla de configuraciones",
judgmentFrame: "Marco del juicio",
judgmentFrameSign: "Configuraciones por signo; el grado matiza cercanía/perfección",
zodiacBaseWarning: "Sideral aproximado · fuera del modo base tropical",
calendarJulianWarning: "Conversión juliana básica · verificar calendario, zona local y fuente temporal",
mixedModeWarning: "Modo mixto: modernos solo como datos adicionales; no entran en el juicio helenístico base",
julianInlineWarning: "Aviso: la conversión juliana es básica. Verifica calendario local, hora civil y fuente temporal antes de investigación crítica. Para fechas BCE, verifica la numeración del año: la astronomía usa año 0; la cronología histórica tradicional no.",
siderealInlineWarning: "Aviso: el zodíaco sideral es aproximado y queda fuera del marco tropical base de Tyche.",
mixedInlineWarning: "Aviso: los planetas modernos se muestran como capa adicional; el juicio helenístico base no los pondera.",
modernStrictInlineWarning: "Aviso: estás en enfoque tradicional, pero mostrando modernos como capa no ponderada.",
modernDisplayed: "Modernos mostrados",
modernWeightedBase: "Modernos ponderados en juicio base",
modernNotWeighted: "No; quedan fuera del juicio helenístico base",
sectCalculation: "Cálculo de secta",
sectCalculationValue: "Altitud solar geométrica {altitude}; sin refracción atmosférica",
sectLiminalDay: "Carta diurna, liminal",
sectLiminalNight: "Carta nocturna, liminal",
sectLiminalNote: "Secta técnicamente {sect}; tratar como sensible por Sol cerca del horizonte.",
sectSensitiveDay: "Carta diurna, sensible",
sectSensitiveNight: "Carta nocturna, sensible",
sectSensitiveNote: "Secta técnicamente {sect}; tratar las fórmulas y testimonios dependientes de secta como sensibles por contexto temporal.",
sectDependencyCaution: "Testimonios con menor confianza: benéfico y maléfico de secta, maléfico contrario, Fortuna/Espíritu y triplicidad de la luminaria.",
sectLowConfidenceJudgment: "Esta lectura usa la secta técnica calculada por Tyche, pero varios testimonios dependen de una frontera sensible. Contrasta especialmente benéfico/maléfico de secta, Fortuna/Espíritu y triplicidad si se rectifica la hora.",
boundaryThreshold: "Umbral aplicado",
boundaryThresholdSensitive: "{threshold} por contexto temporal sensible: {reasons}",
boundaryThresholdNormal: "{threshold} estándar",
boundaryTypeSect: "Secta cerca del horizonte",
boundaryTypeAsc: "Ascendente cerca de cambio de signo",
boundaryTypeMc: "MC cerca de cambio de signo",
boundaryTypeIc: "IC cerca de cambio de signo",
boundaryTypeLot: "{lot} cerca de cambio de signo/casa",
boundaryTypePlanetBound: "{planet} cerca de cambio de término",
boundaryChangeSect: "secta",
boundaryChangeSectLight: "luminaria de la secta",
boundaryChangeBeneficMaleficSect: "benéfico/maléfico de la secta",
boundaryChangeContraryMalefic: "maléfico contrario",
boundaryChangeFortuneSpirit: "fórmulas de Fortuna/Espíritu",
boundaryChangeGeneralJudgment: "juicio general",
boundaryChangeAscLord: "regente del Ascendente",
boundaryChangeWholeSignHouses: "casas por signos enteros",
boundaryChangeLots: "lotes",
boundaryChangeMainFocuses: "focos principales",
boundaryChangeMcHouse: "casa por signos enteros del MC",
boundaryChangeIcHouse: "casa por signos enteros del IC",
boundaryChangeChartProjection: "proyección/fundamento de la carta",
boundaryChangeSecondaryFocuses: "focos secundarios",
boundaryChangeLotHouse: "casa del lote",
boundaryChangeLotLord: "señor del lote",
boundaryChangeTopicReading: "lectura del tema",
boundaryChangeDegreeAdministration: "administración del grado",
boundaryChangeOwnMinorDignity: "dignidad menor propia si procede",
boundaryChangeBoundReception: "recepción por término",
boundaryActionVerifyRectification: "verificar hora, coordenadas, zona usada y posible rectificación",
boundaryActionReviewTimeSource: "revisar hora, fuente o rectificación",
boundaryActionVerifyZone: "verificar hora, coordenadas y zona usada",
boundaryActionReviewTimeCoordinates: "revisar hora y coordenadas",
boundaryActionReviewPlanetaryPrecision: "revisar minutos de hora y precisión planetaria",
boundaryShiftText: "{angle} a {distance} del {side}; actual: {currentSign}, casa {currentHouse}; posible por pequeña variación: {possibleSign}, casa {possibleHouse}",
boundarySidePrevious: "límite anterior",
boundarySideNext: "límite siguiente",
sensitiveJulian: "calendario juliano",
sensitiveAuditPending: "datos natales pendientes de auditoría",
sensitiveTimeConfidence: "hora natal no exacta o redondeada",
sensitiveManualOffset: "diferencia UTC manual o histórica",
sensitiveNoIana: "sin zona IANA clara",
alternateSectLotsTitle: "Lotes alternativos si cambia la secta",
alternateSectRolesTitle: "Roles alternativos si cambia la secta",
lotUsedByTyche: "Usado por Tyche",
lotIfSectReversed: "Si la secta se invierte",
sectRolesUsedByTyche: "Roles usados por Tyche",
sectRolesIfReversed: "Roles si se invierte la secta",
dayFormulaLabel: "fórmula diurna",
nightFormulaLabel: "fórmula nocturna",
lotAuditPosition: "Posición",
lotAuditLord: "Señor",
lotAuditDirectAdministration: "Administración directa",
lotAuditLordRole: "Rol del señor",
lotAuditFormula: "Fórmula",
lotAuditTestimonies: "Testimonios",
lotAuditPressures: "Presiones",
lotAuditDegree: "Grado",
lotAuditLordCondition: "Condición del señor",
lotAuditLordAngularity: "Angularidad del señor",
lotAuditLordSolarPhase: "Fase solar zodiacal del señor",
lotAuditBeneficTestimony: "Testimonio benéfico",
lotAuditMaleficPressure: "Presión maléfica",
lotAuditRawPressure: "Presión bruta",
lotAuditRegulation: "Regulación",
lotAuditReading: "Lectura",
negotiatedSupport: "apoyo negociado",
regulatedBeneficFriction: "testimonio benéfico con fricción regulada",
regulatedPressure: "presión regulada",
solarThresholds: "Umbrales solares",
solarThresholdValues: "Bajo rayos 15° · combustión 8° · en el corazón 1°",
moonVoidDefinitions: "Luna vacía",
moonVoidDefinitionsValues: "30° helenística · salida de signo · sin aplicación cercana 12°",
astronomyEngine: "Astronomy Engine local",
fallbackEngine: "Motor aproximado de respaldo",
ascLordTitle: "Regente del Ascendente",
ascLordText: "{lord} rige {ascSign} y cae en {lordPosition}, casa {house}. Al regir el Ascendente, vincula la dirección vital del nativo con los temas de esta casa: {topics}. Su angularidad es {angularity}.",
dignifiedText: "Condición esencial: {condition}.",
mcWholeSignNote: "En casas de signos enteros, las casas se cuentan desde el signo Ascendente. El MC y el IC no abren las casas 10 y 4: son puntos astronómicos sensibles. Tyche muestra también en qué casa caen.",
noMajorDignity: "sin dignidad mayor",
dignityMajor: "Dignidad mayor",
dignityTriplicity: "Soporte por triplicidad",
dignityMinor: "Dignidad menor propia",
dignityAdministration: "Administración del grado",
weaknesses: "Debilidades",
none: "ninguna",
moonTitle: "Condición lunar",
moonStatus: "Estado lunar",
moonStatusActive: "Activa: perfecciona un contacto mayor antes de abandonar el signo.",
moonStatusVoid30: "Vacía según la definición helenística de 30°: no perfecciona contacto mayor en ese tramo.",
moonStatusVoidSign: "Sin perfección antes de salir del signo, aunque conserva la revisión helenística de 30°.",
moonStatusNoClose: "Sin aplicación cercana dentro de 12°: la señal es más amplia que puntual.",
moonPhase: "Fase sinódica",
moonElongation: "Elongación Sol→Luna",
moonLastSeparation: "Último contacto",
moonNextApplication: "Próximo contacto",
moonCalculationMethod: "Método de contacto lunar",
lunarMethodIterative: "búsqueda iterativa",
lunarMethodFallback: "estimación lineal",
moonNoSeparation: "Ninguna en los últimos 30°",
moonNoApplication: "Ninguna en los próximos 30°",
moonBeforeNew: "{degrees} antes de Luna nueva",
moonAfterNew: "{degrees} después de Luna nueva",
moonAspects: "Aplicaciones y separaciones",
moonVoc: "Vacía de curso",
moonVoc30: "Vacía de curso, definición helenística",
moonVocSign: "Vacía de curso, hasta salir del signo",
moonNoApplyingWithinOrb: "Sin aplicación cercana, 12°",
notVoc: "No según la definición helenística de 30°",
yesVoc: "Sí según la definición helenística de 30°",
notVocSign: "No, perfecciona antes de salir del signo",
yesVocSign: "Sí, no perfecciona antes de salir del signo",
yes: "Sí",
no: "No",
tablePlanet: "Planeta",
tableLongitude: "Longitud",
tableHouse: "Casa",
tableCondition: "Condición esencial",
tableAngularity: "Angularidad",
tablePhase: "Fase solar zodiacal",
tablePlace: "Lugar/Casa",
tableSign: "Signo",
tableRuler: "Regente",
tablePlanets: "Planetas",
tableTopics: "Temas",
tableLot: "Lote",
tableLord: "Regente del lote",
tableLordHouse: "Casa del regente",
tableFormula: "Fórmula",
tableAspect: "Configuración",
tablePair: "Par",
tableMode: "Modo",
tableOrb: "Orbe",
angular: "angular",
succedent: "sucedente",
cadent: "cadente",
domicile: "domicilio",
detriment: "detrimento",
exaltation: "exaltación",
fall: "caída",
triplicityDay: "triplicidad diurna",
triplicityNight: "triplicidad nocturna",
triplicityCoop: "triplicidad cooperante",
triplicityActive: "activa por secta",
triplicityOutOfSect: "fuera de secta",
triplicityCooperatingRole: "cooperante",
bound: "término de {planet}",
decan: "decanato de {planet}",
boundLord: "señor del término: {planet}",
decanLord: "señor del decanato: {planet}",
underBeams: "bajo los rayos",
combust: "combusto",
cazimi: "en el corazón (cazimi)",
morning: "matutino/oriental",
evening: "vespertino/occidental",
hiddenMorning: "matutino bajo rayos",
hiddenEvening: "vespertino bajo rayos",
newMoon: "Luna nueva",
crescent: "creciente",
firstQuarter: "cuarto creciente",
gibbous: "gibosa creciente",
fullMoon: "Luna llena",
disseminating: "diseminante",
lastQuarter: "cuarto menguante",
balsamic: "menguante final/balsámica",
conjunction: "conjunción",
signBased: "por signo",
degreeBased: "por grado",
bothModes: "signo + grado",
copresence: "copresencia",
sextile: "sextil",
square: "cuadrado",
trine: "trígono",
opposition: "oposición",
applying: "aplicando",
separating: "separando",
exact: "exacto",
overcoming: "{planet} domina por derecha",
noAspects: "No hay configuraciones que mostrar con los ajustes actuales.",
noLots: "No hay lotes seleccionados.",
lotFormulaNote: "Sistema de fórmulas: Fortuna y Espíritu se invierten por secta; Eros y Necesidad usan la tradición basada en Fortuna y Espíritu; Coraje, Victoria y Némesis usan fórmulas planetarias herméticas.",
fromSun: "del Sol",
chariotBy: "en su carro por {condition}",
chariotMitigationBy: "protección tipo carro por {condition}",
noChariot: "sin carro",
natalDataSource: "Fuente de datos natales",
brennanReference: "Referencia interpretativa",
manualOffsetSource: "diferencia UTC manual",
historicalOffsetSource: "datos históricos del personaje",
lmtOffsetSource: "LMT por longitud del lugar",
topics1: "cuerpo, carácter, vitalidad y dirección de vida",
topics2: "recursos, dinero, posesiones y medios de vida",
topics3: "hermanos, parientes, mensajes, viajes y ritos",
topics4: "hogar, raíces, padres, secretos y finales",
topics5: "hijos, aumento, dones, placer y buena fortuna",
topics6: "enfermedad, esfuerzo, subordinados, enemigos y problemas",
topics7: "pareja, matrimonio, otros, pactos y confrontación",
topics8: "muerte, miedo, inactividad y recursos de otros",
topics9: "viajes, tierras extranjeras, religión, filosofía y astrología",
topics10: "acción, oficio, reputación, rango y visibilidad",
topics11: "amistades, alianzas, esperanzas, honores y adquisición",
topics12: "enemigos, pérdida, encierro, sufrimiento y condiciones forzadas",
},
en: {
brandSub: "Mathematically generated Hellenistic natal chart",
title: "Create a Hellenistic natal chart",
subtitle: "Calculate the Ascendant / Hour-Marker, Whole Sign Houses, sect, essential condition, lots, and other elements of the Hellenistic astrological tradition. The chart is processed locally in your browser. Place search requests external coordinates, and historical archive images load from Wikimedia Commons.",
subtitleHtml: 'Calculate the <button type="button" data-glossary="ascendant">Ascendant / Hour-Marker</button>, <button type="button" data-glossary="wholeSign">Whole Sign Houses</button>, <button type="button" data-glossary="sect">sect</button>, <button type="button" data-glossary="essentialCondition">essential condition</button>, <button type="button" data-glossary="lots">lots</button>, and other elements of the Hellenistic astrological tradition. The chart is processed locally in your browser. Place search requests external coordinates, and historical archive images load from Wikimedia Commons.',
birthDate: "Date",
birthTime: "Exact time",
birthPlace: "Birthplace",
gender: "Sex",
notUsed: "Not used",
female: "Female",
male: "Male",
advancedOptions: "Advanced options",
latitude: "Latitude",
longitude: "Longitude",
timeZone: "IANA time zone",
manualOffset: "Fallback UTC offset",
calendar: "Calendar",
gregorian: "Gregorian",
julian: "Julian",
zodiac: "Zodiac",
tropical: "Tropical",
sidereal: "Approximate sidereal",
houses: "Houses",
wholeSign: "Whole Sign Houses",
aspectMode: "Configuration table",
aspectModeNote: "The natal reading uses sign-based configurations; degree adds closeness and perfection in tables and evidence.",
orbNote: "The orb affects degree contacts, closeness, and close application; it does not remove the sign-based configurations used in judgment.",
bySign: "By sign",
signAndDegree: "Sign + degree",
byDegree: "Degree only",
orb: "Orb",
terms: "Terms / bounds",
egyptian: "Egyptian",
techniqueMode: "Approach",
strict: "Traditional Hellenistic",
mixed: "Traditional + modern planets",
includeModern: "Include Uranus, Neptune, and Pluto",
lots: "Lots",
fortune: "Fortune",
spirit: "Spirit",
necessity: "Necessity",
courage: "Courage",
victory: "Victory",
calculate: "Calculate chart",
resultEyebrow: "Result",
planets: "Planets",
traditionalPlanetsTitle: "Traditional visible planets",
modernPlanetsTitle: "Modern planets as an additional layer",
places: "Places/Houses",
configurations: "Configurations",
missingDate: "Add birth date and time.",
invalidHistoricalYear: "Tyche does not yet support BCE years in the form. To avoid ambiguity between historical and astronomical year numbering, use CE years only for now.",
missingPlace: "Choose a suggested city or enter latitude, longitude, and time zone.",
missingCoords: "Valid coordinates are missing.",
placeSearchShort: "Type at least 2 letters.",
placeSearchLoading: "Searching places...",
placeSearchEmpty: "No results. You can enter coordinates manually.",
placeSearchError: "Could not query search. Using saved cities when they match.",
clearPlace: "Clear place",
glossaryOpen: "Open explanation: {term}",
peopleEyebrow: "Archive",
peopleTitle: "Historical figures",
peopleIntro: "Choose an example chart with date, time, place, and sex already prepared.",
peopleButton: "Historical figures",
peopleAuditedTitle: "Audited data",
peoplePartialTitle: "Partially audited data",
peoplePendingTitle: "Pending audit",
close: "Close",
useExample: "Use this chart",
openWikipedia: "Open in Wikipedia",
dataDate: "Date",
dataPlace: "Place",
dataSex: "Sex",
personDataDetailsTitle: "Natal data",
personDataDetailsOpen: "View natal data source",
dataSource: "Source",
dataSourceDate: "Source date",
dataRodden: "Rodden",
dataTimeSource: "Time",
dataSourceGeneral: "Individual source pending audit",
dataRoddenPending: "Individual rating pending audit",
dataAuditPendingBadge: "Natal data not individually audited",
dataAuditPartialBadge: "Natal data partially audited",
dataTimeSourcePrepared: "Exact time used by Tyche; review the individual source before critical research",
footerWarning: "Astronomical engine intended for educational use. The information provided may not be reliable.",
footerPrivacy: "The chart is calculated locally in your browser. We do not store your charts or use cookies. Only language and theme preferences are kept on this device. Place search consults Open-Meteo to obtain coordinates. Historical archive images load from Wikimedia Commons. Planet positions use a local library.",
footerAuthors: "Authors: Maple81 and Hélène de Troie, 2026.",
githubLink: "View GitHub repository",
footerAttributions: 'General attributions: some images come from <a href="https://commons.wikimedia.org/" target="_blank" rel="noreferrer">Wikimedia Commons</a>; some biographical or natal references may come from <a href="https://www.wikipedia.org/" target="_blank" rel="noreferrer">Wikipedia</a> and <a href="https://www.astro.com/astro-databank/" target="_blank" rel="noreferrer">Astro-Databank</a>. The individual source and rating are shown when audited; otherwise they are marked as pending audit. Place search by <a href="https://open-meteo.com/en/docs/geocoding-api" target="_blank" rel="noreferrer">Open-Meteo Geocoding API</a>; local ephemerides by <a href="https://github.com/cosinekitty/astronomy" target="_blank" rel="noreferrer">Astronomy Engine</a> MIT, approx. ±1′ accuracy, running locally, without sending data to third parties.',
invalidTimeZone: "Time zone not recognized; using the manual offset.",
invalidOffset: "Manual offset must look like +01:00 or -05:00.",
chartFor: "Chart for {place}",
chartForPerson: "Chart for {name}",
anonymousChart: "Anonymous chart",
chartMeta: "Date: {date} · Time: {time} · Birthplace: {place}",
dayChart: "Day chart",
nightChart: "Night chart",
sect: "Sect",
anglesZoneTitle: "Angles and zone",
chartType: "Chart type",
sectLight: "Sect light",
beneficSect: "Benefic of sect",
maleficSect: "Malefic of sect",
maleficContrarySect: "Malefic contrary to sect",
ascendant: "Ascendant",
descendant: "Descendant",
mc: "MC",
ic: "IC",
timezoneUsed: "Zone used",
julianDay: "Julian day",
technicalTitle: "Technical notes and limits",
technicalAstronomyTitle: "Astronomical calculation",
technicalJudgmentTitle: "Judgment criteria",
technicalMcIcNote: "In Whole Sign Houses, the MC and IC do not open houses 10 and 4: they are sensitive astronomical points, and Tyche also shows which house they fall in.",
technicalLimitsCompact: "Local ephemerides through Astronomy Engine. Approximate planetary accuracy is ±1′; Ascendant, MC, houses, and lots depend on the time, coordinates, and time zone used.",
technicalUsePrivacyCompact: "Educational use. For rectification, critical charts, or professional research, compare the data with specialized ephemerides and sources. Place search and historical images may contact external services.",
interpretationTitle: "Natal reading",
interpretationLeadTitle: "In one sentence",
interpretationSummary: "Most important",
interpretationReading: "Interpretation",
interpretationEvidence: "View technical basis",
interpretationWhy: "First comes a plain-language reading. The technical basis stays available below.",
interpretationTimingNote: "About prediction",
interpretationTimingText: "This reading does not predict dates. It describes background themes in the natal chart. To know when they activate, use timing techniques such as annual profections, zodiacal releasing, or relevant transits.",
dominantTopicTitle: "Main focuses",
mainFocusTitle: "Most activated zones",
hierarchyTitle: "Reading basis",
lifeDirectionTitle: "Life Direction",
publicProjectionTitle: "Public projection",
limitsTitle: "Limits",
limitsEducational: "Educational use: the reading does not replace professional ephemerides or rectification research.",
limitsPrecision: "Approximate planetary accuracy ±1′; Ascendant, MC, and houses depend strongly on time, coordinates, and zone used.",
limitsPrivacy: "The chart is calculated locally; place search and historical images do contact external services.",
resourcesTitle: "Supports and openings",
tensionsTitle: "Pressures to manage",
visibilityTitle: "Visibility of key planets",
configurationsTitle: "Planetary supports and pressures",
moonJudgmentTitle: "Lunar flow",
foundationsTitle: "Background support",
prominenceLabel: "Prominence",
easeLabel: "Essential condition",
tensionLabel: "Tension",
supportLabel: "Support",
qualityTitle: "Reading indicators",
signalsLabel: "Signals",
scoreBreakdownTitle: "Score breakdown",
scoreTotalLabel: "Total",
scorePointsLabel: "points",
scoreCategoryLifeAxis: "Life axis",
scoreCategorySect: "Sect light",
scoreCategoryPublic: "Public projection",
scoreCategoryAngular: "Angularity",
scoreCategoryLots: "Lots",
scoreCategoryTriplicity: "Triplicity",
scoreFocusType: "Focus type",
focusTypeVital: "vital",
focusTypePublic: "public",
focusTypeCircumstantial: "circumstantial",
focusTypeSupport: "supporting",
mainLotsAuditTitle: "Principal lots used in judgment",
lotTableDisplayNote: "The lot table displays only the selected lots.",
scoreBreakdownCaution: "These points are not an absolute measure: they only organize traditional testimonies to explain why Tyche prioritizes certain Places/Houses.",
evidenceFocusSection: "Focuses and score",
evidenceLotsSection: "Principal lots",
evidenceGeneralSection: "Conditions and notices",
highLevel: "high",
mediumLevel: "medium",
lowLevel: "low",
strongLevel: "strong",
moderateLevel: "moderate",
secondaryLevel: "secondary",
evidenceAscLordHouse: "The Ascendant / Hour-Marker lord falls in house {house}: {topics}.",
evidenceAscLordAngularity: "Its angularity is {angularity}, so this signal carries {weight}.",
evidenceAscLordCondition: "Its essential condition indicates: {condition}.",
evidenceSect: "The chart is {sect}; {sectLight} is the sect light, {benefic} acts as the benefic of sect, and {malefic} as the malefic contrary to sect.",
evidenceMcHouse: "The MC falls by whole signs in house {house}, reinforcing {topics}.",
evidenceAngularPlanets: "Angular visible planets: {planets}.",
evidenceLots: "Fortune falls in house {fortuneHouse}, and Spirit in house {spiritHouse}.",
evidenceLotsAlwaysWeighted: "Fortune and Spirit are always calculated for judgment; the lot table only displays the selected lots.",
evidenceFocuses: "Main focuses by accumulated signals: {focuses}.",
testimonyStrong: "strong weight",
testimonyMedium: "medium weight",
testimonyLow: "indirect weight",
localDateTime: "Local date",
utcDateTime: "UTC used",
coordinates: "Coordinates",
ephemerisEngine: "Ephemerides",
boundaryAudit: "Boundary audit",
noBoundaryNotices: "No notices",
aspectTableMode: "Configuration table",
judgmentFrame: "Judgment frame",
judgmentFrameSign: "Sign-based configurations; degree refines closeness/perfection",
zodiacBaseWarning: "Approximate sidereal · outside the tropical base mode",
calendarJulianWarning: "Basic Julian conversion · verify calendar, local zone, and time source",
mixedModeWarning: "Mixed mode: modern planets are additional data only; they do not enter the base Hellenistic judgment",
julianInlineWarning: "Notice: Julian conversion is basic. Verify local calendar, civil time, and time source before critical research. For BCE dates, verify year numbering: astronomy uses year 0; traditional historical chronology does not.",
siderealInlineWarning: "Notice: the sidereal zodiac is approximate and outside Tyche's tropical base frame.",
mixedInlineWarning: "Notice: modern planets are displayed as an additional layer; the base Hellenistic judgment does not weight them.",
modernStrictInlineWarning: "Notice: you are in traditional mode, while showing modern planets as an unweighted layer.",
modernDisplayed: "Modern planets shown",
modernWeightedBase: "Modern planets weighted in base judgment",
modernNotWeighted: "No; outside the base Hellenistic judgment",
sectCalculation: "Sect calculation",
sectCalculationValue: "Geometric solar altitude {altitude}; no atmospheric refraction",
sectLiminalDay: "Day chart, liminal",
sectLiminalNight: "Night chart, liminal",
sectLiminalNote: "Technically {sect}; treat sect-dependent testimonies as sensitive because the Sun is near the horizon.",
sectSensitiveDay: "Day chart, sensitive",
sectSensitiveNight: "Night chart, sensitive",
sectSensitiveNote: "Technically {sect}; treat sect-dependent formulas and testimonies as sensitive because the time context is uncertain.",
sectDependencyCaution: "Lower-confidence testimonies: benefic and malefic of sect, malefic contrary to sect, Fortune/Spirit, and triplicity of the sect light.",
sectLowConfidenceJudgment: "This reading uses the technical sect calculated by Tyche, but several testimonies depend on a sensitive boundary. Check the benefic/malefic of sect, Fortune/Spirit, and triplicity especially if the birth time is rectified.",
boundaryThreshold: "Applied threshold",
boundaryThresholdSensitive: "{threshold} for sensitive time context: {reasons}",
boundaryThresholdNormal: "{threshold} standard",
boundaryTypeSect: "Sect near horizon",
boundaryTypeAsc: "Ascendant near sign change",
boundaryTypeMc: "MC near sign change",
boundaryTypeIc: "IC near sign change",
boundaryTypeLot: "{lot} near sign/house change",
boundaryTypePlanetBound: "{planet} near bound change",
boundaryChangeSect: "sect",
boundaryChangeSectLight: "sect light",
boundaryChangeBeneficMaleficSect: "benefic/malefic of sect",
boundaryChangeContraryMalefic: "contrary malefic",
boundaryChangeFortuneSpirit: "Fortune/Spirit formulas",
boundaryChangeGeneralJudgment: "general judgment",
boundaryChangeAscLord: "Ascendant lord",
boundaryChangeWholeSignHouses: "whole-sign houses",
boundaryChangeLots: "lots",
boundaryChangeMainFocuses: "main focuses",
boundaryChangeMcHouse: "MC whole-sign house",
boundaryChangeIcHouse: "IC whole-sign house",
boundaryChangeChartProjection: "chart projection/foundation",
boundaryChangeSecondaryFocuses: "secondary focuses",
boundaryChangeLotHouse: "lot house",
boundaryChangeLotLord: "lot lord",
boundaryChangeTopicReading: "topic reading",
boundaryChangeDegreeAdministration: "degree administration",
boundaryChangeOwnMinorDignity: "own minor dignity if applicable",
boundaryChangeBoundReception: "reception by bound",
boundaryActionVerifyRectification: "verify time, coordinates, zone used, and possible rectification",
boundaryActionReviewTimeSource: "review time, source, or rectification",
boundaryActionVerifyZone: "verify time, coordinates, and zone used",
boundaryActionReviewTimeCoordinates: "review time and coordinates",
boundaryActionReviewPlanetaryPrecision: "review birth-time minutes and planetary precision",
boundaryShiftText: "{angle} within {distance} of the {side}; current: {currentSign}, house {currentHouse}; possible with a small variation: {possibleSign}, house {possibleHouse}",
boundarySidePrevious: "previous boundary",
boundarySideNext: "next boundary",
sensitiveJulian: "Julian calendar",
sensitiveAuditPending: "pending natal-data audit",
sensitiveTimeConfidence: "birth time not exact or rounded",
sensitiveManualOffset: "manual or historical UTC offset",
sensitiveNoIana: "no clear IANA zone",
alternateSectLotsTitle: "Alternative lots if sect changes",
alternateSectRolesTitle: "Alternative roles if sect changes",
lotUsedByTyche: "Used by Tyche",
lotIfSectReversed: "If sect reverses",
sectRolesUsedByTyche: "Roles used by Tyche",
sectRolesIfReversed: "Roles if sect reverses",
dayFormulaLabel: "day formula",
nightFormulaLabel: "night formula",
lotAuditPosition: "Position",
lotAuditLord: "Lord",
lotAuditDirectAdministration: "Direct administration",
lotAuditLordRole: "Lord role",
lotAuditFormula: "Formula",
lotAuditTestimonies: "Testimonies",
lotAuditPressures: "Pressures",
lotAuditDegree: "Degree",
lotAuditLordCondition: "Lord condition",
lotAuditLordAngularity: "Lord angularity",
lotAuditLordSolarPhase: "Lord zodiacal solar phase",
lotAuditBeneficTestimony: "Benefic testimony",
lotAuditMaleficPressure: "Malefic pressure",
lotAuditRawPressure: "Raw pressure",
lotAuditRegulation: "Regulation",
lotAuditReading: "Reading",
negotiatedSupport: "negotiated support",
regulatedBeneficFriction: "benefic testimony with regulated friction",
regulatedPressure: "regulated pressure",
solarThresholds: "Solar thresholds",
solarThresholdValues: "Under beams 15° · combustion 8° · in the heart 1°",
moonVoidDefinitions: "Void Moon",
moonVoidDefinitionsValues: "Hellenistic 30° · sign exit · no close application within 12°",
astronomyEngine: "Local Astronomy Engine",
fallbackEngine: "Approximate fallback engine",
ascLordTitle: "Ascendant / Hour-Marker Lord",
ascLordText: "{lord} rules {ascSign} and falls in {lordPosition}, house {house}. As ruler of the Ascendant / Hour-Marker, it links the native's life direction with this house's topics: {topics}. Its angularity is {angularity}.",
dignifiedText: "Essential condition: {condition}.",
mcWholeSignNote: "In Whole Sign Houses, houses are counted from the Ascendant sign. The MC and IC do not open houses 10 and 4: they are sensitive astronomical points. Tyche also shows which house they fall in.",
noMajorDignity: "no major dignity",
dignityMajor: "Major dignity",
dignityTriplicity: "Triplicity support",
dignityMinor: "Own minor dignity",
dignityAdministration: "Degree administration",
weaknesses: "Weaknesses",
none: "none",
moonTitle: "Lunar condition",
moonStatus: "Lunar status",
moonStatusActive: "Active: it perfects a major contact before leaving the sign.",
moonStatusVoid30: "Void by the Hellenistic 30° definition: it perfects no major contact in that span.",
moonStatusVoidSign: "No perfection before leaving the sign, while the Hellenistic 30° check remains separate.",
moonStatusNoClose: "No close application within 12°: the signal is broad rather than punctual.",
moonPhase: "Synodic phase",
moonElongation: "Sun→Moon elongation",
moonLastSeparation: "Last contact",
moonNextApplication: "Next contact",
moonCalculationMethod: "Lunar contact method",
lunarMethodIterative: "iterative search",
lunarMethodFallback: "linear estimate",
moonNoSeparation: "None in the last 30°",
moonNoApplication: "None in the next 30°",
moonBeforeNew: "{degrees} before New Moon",
moonAfterNew: "{degrees} after New Moon",
moonAspects: "Applications and separations",
moonVoc: "Void of course",
moonVoc30: "Void of course, Hellenistic definition",
moonVocSign: "Void of course, until sign exit",
moonNoApplyingWithinOrb: "No close application, 12°",
notVoc: "No under the Hellenistic 30° definition",
yesVoc: "Yes under the Hellenistic 30° definition",
notVocSign: "No, perfects before leaving the sign",
yesVocSign: "Yes, does not perfect before leaving the sign",
yes: "Yes",
no: "No",
tablePlanet: "Planet",
tableLongitude: "Longitude",
tableHouse: "House",
tableCondition: "Essential condition",
tableAngularity: "Angularity",
tablePhase: "Zodiacal solar phase",
tablePlace: "Place/House",
tableSign: "Sign",
tableRuler: "Ruler",
tablePlanets: "Planets",
tableTopics: "Topics",
tableLot: "Lot",
tableLord: "Lot lord",
tableLordHouse: "Lord house",
tableFormula: "Formula",
tableAspect: "Configuration",
tablePair: "Pair",
tableMode: "Mode",
tableOrb: "Orb",
angular: "angular",
succedent: "succedent",
cadent: "cadent",
domicile: "domicile",
detriment: "detriment",
exaltation: "exaltation",
fall: "fall",
triplicityDay: "day triplicity",
triplicityNight: "night triplicity",
triplicityCoop: "cooperating triplicity",
triplicityActive: "active by sect",
triplicityOutOfSect: "out of sect",
triplicityCooperatingRole: "cooperating",
bound: "{planet} bound",
decan: "{planet} decan",
boundLord: "bound lord: {planet}",
decanLord: "decan lord: {planet}",
underBeams: "under the beams",
combust: "combust",
cazimi: "in the heart (cazimi)",
morning: "morning/oriental",
evening: "evening/occidental",
hiddenMorning: "morning under beams",
hiddenEvening: "evening under beams",
newMoon: "New Moon",
crescent: "Crescent",
firstQuarter: "First quarter",
gibbous: "Waxing gibbous",
fullMoon: "Full Moon",
disseminating: "Disseminating",
lastQuarter: "Last quarter",
balsamic: "Final waning / balsamic",
conjunction: "conjunction",
signBased: "by sign",
degreeBased: "by degree",
bothModes: "sign + degree",
copresence: "copresence",
sextile: "sextile",
square: "square",
trine: "trine",
opposition: "opposition",
applying: "applying",
separating: "separating",
exact: "exact",
overcoming: "{planet} overcomes by superior aspect",
noAspects: "No configurations to show with the current settings.",
noLots: "No lots selected.",
lotFormulaNote: "Formula system: Fortune and Spirit reverse by sect; Eros and Necessity use the Fortune/Spirit-based tradition; Courage, Victory, and Nemesis use hermetic planetary formulas.",
fromSun: "from the Sun",
chariotBy: "chariot by {condition}",
chariotMitigationBy: "chariot-like protection by {condition}",
noChariot: "no chariot",
natalDataSource: "Natal data source",
brennanReference: "Interpretive reference",
manualOffsetSource: "manual UTC offset",
historicalOffsetSource: "historical figure data",
lmtOffsetSource: "LMT by birthplace longitude",
topics1: "body, character, vitality, and life direction",
topics2: "resources, money, possessions, and livelihood",
topics3: "siblings, relatives, messages, travel, and ritual",
topics4: "home, roots, parents, secrets, and endings",
topics5: "children, increase, gifts, pleasure, and good fortune",
topics6: "illness, toil, subordinates, enemies, and difficulties",
topics7: "partner, marriage, others, agreements, and confrontation",
topics8: "death, fear, inactivity, and resources of others",
topics9: "travel, foreign lands, religion, philosophy, and astrology",
topics10: "action, craft, reputation, rank, and visibility",
topics11: "friends, alliances, hopes, honors, and acquisition",
topics12: "enemies, loss, confinement, suffering, and forced conditions",
},
};
const GLOSSARY = {
es: {
birthDate: {
title: "Fecha de nacimiento",
body: [
"<p>Fecha civil usada para convertir el nacimiento a tiempo astronómico. En cartas modernas se usa el calendario gregoriano por defecto.</p>",
"<p>Para fechas antiguas conviene distinguir explícitamente entre calendario <strong>juliano</strong> y <strong>gregoriano</strong>, porque una conversión silenciosa cambia la carta.</p>",
],
},
birthTime: {
title: "Hora de nacimiento",
body: [
"<p>Hora civil local del nacimiento. Es imprescindible para calcular Ascendente, casas, MC/IC y secta con precisión.</p>",
"<p>Un error de pocos minutos puede desplazar el Ascendente y cambiar el regente central de la carta.</p>",
],
},
birthPlace: {
title: "Lugar de nacimiento",
body: [
"<p>Ciudad o coordenadas usadas para obtener latitud, longitud y zona horaria. El lugar determina el horizonte local.</p>",
"<p>Sin horizonte local no se puede calcular correctamente el Ascendente ni juzgar si el Sol está sobre o bajo el horizonte.</p>",
],
},
sex: {
title: "Sexo",
body: [
"<p>Dato opcional reservado para técnicas tradicionales que puedan distinguir sexo biológico. La carta base de Tyche no lo usa para calcular posiciones, casas o secta.</p>",
],
},
latitude: {
title: "Latitud",
body: [
"<p>Coordenada norte-sur del nacimiento. Interviene en el cálculo del horizonte, el Ascendente y la altura solar.</p>",
"<p>En latitudes extremas, la geometría del horizonte vuelve los ángulos especialmente sensibles. Revisa cartas críticas con cuidado.</p>",
],
},
longitude: {
title: "Longitud",
body: [
"<p>Coordenada este-oeste del nacimiento. Ajusta el tiempo sidéreo local y, con ello, la orientación exacta de los ángulos.</p>",
],
},
timezone: {
title: "Zona horaria IANA",
body: [
"<p>Nombre técnico de zona horaria con reglas históricas, por ejemplo <strong>Europe/Madrid</strong>. Permite convertir la hora local a UTC.</p>",
"<p>La precisión histórica depende de los datos disponibles en el navegador.</p>",
],
},
utcOffset: {
title: "Diferencia UTC",
body: [
"<p>Desfase manual respecto a UTC usado como respaldo cuando no hay zona IANA fiable.</p>",
"<p>Debe interpretarse como dato técnico de conversión, no como garantía histórica universal.</p>",
],
},
calendar: {
title: "Calendario",
body: [
"<p>Sistema usado para leer la fecha introducida. Tyche usa gregoriano por defecto.</p>",
"<p>En nacimientos antiguos o en países que adoptaron tarde el calendario gregoriano, el calendario debe indicarse de forma explícita.</p>",
"<p>La opción juliana aplica una conversión básica. Para cartas antiguas o premodernas hay que verificar calendario local, zona, LMT y fuente temporal.</p>",
],
},
zodiac: {
title: "Zodíaco",
body: [
"<p>Marco de 12 signos de 30° donde se colocan planetas y puntos. La práctica helenística de esta app usa el zodíaco tropical por defecto.</p>",
],
},
tropical: {
title: "Zodíaco tropical",
body: [
"<p>Divide la eclíptica desde el equinoccio vernal. Aries comienza en 0° tropical.</p>",
"<p>Es el marco predeterminado de Tyche para la lectura helenística estricta.</p>",
],
},
sidereal: {
title: "Zodíaco sideral",
body: [
"<p>Marco zodiacal referido a estrellas fijas mediante un ayanamsha. En Tyche aparece solo como opción aproximada y no como base estricta.</p>",
"<p>La conversión usa una precesión simple; no equivale necesariamente a Lahiri, Fagan/Bradley u otros ayanamshas.</p>",
"<p>Queda fuera del marco tropical usado por defecto para el juicio helenístico base de Tyche.</p>",
],
},
wholeSign: {
title: "Casas por signos enteros",
body: [
"<p>El signo que asciende completo se convierte en casa 1; el signo siguiente completo en casa 2, y así sucesivamente.</p>",
"<p>En este sistema el MC y el IC son puntos astronómicos que pueden caer fuera de las casas 10 y 4.</p>",
],
},
house: {
title: "Casa / lugar",
body: [
"<p>Los lugares asignan temas de vida y fuerza de acción. No equivalen a los signos: Aries no es por sí mismo la casa 1, Tauro no es por sí mismo la casa 2.</p>",
],
},
place: {
title: "Lugar",
body: [
"<p>Nombre tradicional de las casas en astrología helenística. Cada lugar combina temas concretos con una condición de fuerza: angular, sucedente o cadente.</p>",
],
},
aspects: {
title: "Aspectos / configuraciones",
body: [
"<p>Relaciones geométricas entre signos o grados. En modo helenístico estricto se privilegia la configuración por signo.</p>",
"<p>Copresencia, sextil, cuadrado, trígono y oposición son las relaciones principales; los signos sin estas relaciones están en aversión.</p>",
],
},
aspectMode: {
title: "Tabla de configuraciones",