fix(report): keep the English edition when one phrase was untranslated

The English personal report was discarded whenever a Chinese fragment survived the trailing glossary. English sections now render the English fields that were already calculated.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jesse-ux
2026-10-22 02:56:00 +08:00
co-authored by Grok (agent loop) Cursor
parent 9812f31737
commit ba1ffeb35f
18 changed files with 815 additions and 53 deletions
+12
View File
@@ -75,6 +75,16 @@ KARAKA_DOMAINS = {
'Darakaraka': '配偶特质、伴侣关系、婚姻质量',
'Pitrukaraka': '父亲、祖先业力、传统传承',
}
KARAKA_DOMAINS_EN = {
'Atmakaraka': 'soul aim, core self, highest aim',
'Amatyakaraka': 'career direction, main advisor, delegated authority',
'Bhratrikaraka': 'siblings, courage, appetite for risk',
'Matrikaraka': 'mother, home base, emotional security',
'Putrakaraka': 'children, creativity, students, crafted results',
'Gnatikaraka': 'rivals, illness, obstacles, capacity for change',
'Darakaraka': 'spouse traits, partnership, marriage quality',
'Pitrukaraka': 'father, ancestral pattern, inherited tradition',
}
ARUDHA_NAMES = {
1: 'Arudha Lagna (AL)', 2: 'Dhana Pada (A2)', 3: 'Vikrama Pada (A3)',
@@ -119,6 +129,7 @@ def calc_chara_karaka_7(planet_degrees: Dict[str, float]) -> Dict:
'degree_in_sign': round(deg, 4),
'rank': rank,
'domain': KARAKA_DOMAINS.get(karaka, ''),
'domain_en': KARAKA_DOMAINS_EN.get(karaka, ''),
'cn_name': KARAKA_CN.get(karaka, karaka),
}
ak = results.get('Atmakaraka', {})
@@ -160,6 +171,7 @@ def calc_chara_karaka_8(planet_degrees: Dict[str, float]) -> Dict:
'rahu_reverse_applied': pname == 'Rahu',
'rank': rank,
'domain': KARAKA_DOMAINS.get(karaka, ''),
'domain_en': KARAKA_DOMAINS_EN.get(karaka, ''),
'cn_name': KARAKA_CN.get(karaka, karaka),
}
return {'karaka_table_8': results}