diff --git a/references/yoga_rules.json b/references/yoga_rules.json index ebb18f12..59ecb57f 100644 --- a/references/yoga_rules.json +++ b/references/yoga_rules.json @@ -23,7 +23,8 @@ "type": "same_house", "a": "$a", "b": "$b", - "combo_template": "{a}与{b}同在第{h}宫" + "combo_template": "{a}与{b}同在第{h}宫", + "combo_template_en": "{a} and {b} together in house {h}" } }, "effects": [ @@ -31,7 +32,13 @@ "事业成功", "社会影响力" ], + "effects_en": [ + "Power and status", + "Career success", + "Social influence" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -53,14 +60,21 @@ "role": "lord", "house": 10 }, - "combo_template": "9宫主{a}与10宫主{b}同在第{h}宫" + "combo_template": "9宫主{a}与10宫主{b}同在第{h}宫", + "combo_template_en": "9th lord {a} and 10th lord {b} together in house {h}" }, "effects": [ "事业与命运结合", "社会地位高", "精神事业" ], + "effects_en": [ + "Career joined with fortune", + "High social standing", + "Spiritual vocation" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -80,14 +94,21 @@ "role": "lord", "house": 10 }, - "combo_template": "9宫主{la}与10宫主{lb}互换星座" + "combo_template": "9宫主{la}与10宫主{lb}互换星座", + "combo_template_en": "9th lord {la} and 10th lord {lb} in sign exchange (Parivartana)" }, "effects": [ "事业与命运互换提升", "社会地位高", "贵人运强" ], + "effects_en": [ + "Career and fortune uplift each other", + "High social standing", + "Strong support from patrons" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -110,7 +131,8 @@ "type": "parivartana", "lord_a": "$a", "lord_b": "$b", - "combo_template": "{la}与{lb}互换星座" + "combo_template": "{la}与{lb}互换星座", + "combo_template_en": "{la} and {lb} in sign exchange (Parivartana)" } }, "effects": [ @@ -118,7 +140,13 @@ "社会地位显著", "事业成功" ], + "effects_en": [ + "Power and wealth uplift each other", + "Prominent social standing", + "Career success" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -147,7 +175,8 @@ "type": "dignity", "planet": "Mars", "dignity": "exalted", - "combo_template": "Mars入旺在{sign}" + "combo_template": "Mars入旺在{sign}", + "combo_template_en": "Mars exalted in {sign}" } ] }, @@ -156,7 +185,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-22: Mars in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -185,7 +220,8 @@ "type": "dignity", "planet": "Mars", "dignity": "own", - "combo_template": "Mars入庙在{sign}" + "combo_template": "Mars入庙在{sign}", + "combo_template_en": "Mars in own sign {sign}" } ] }, @@ -194,7 +230,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Ruchaka Yoga", "source_reference": "BVR-22: Mars in own/exaltation in Kendra", @@ -224,7 +266,8 @@ "type": "dignity", "planet": "Mercury", "dignity": "exalted", - "combo_template": "Mercury入旺在{sign}" + "combo_template": "Mercury入旺在{sign}", + "combo_template_en": "Mercury exalted in {sign}" } ] }, @@ -233,7 +276,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-23: Mercury in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -262,7 +311,8 @@ "type": "dignity", "planet": "Mercury", "dignity": "own", - "combo_template": "Mercury入庙在{sign}" + "combo_template": "Mercury入庙在{sign}", + "combo_template_en": "Mercury in own sign {sign}" } ] }, @@ -271,7 +321,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Bhadra Yoga", "source_reference": "BVR-23: Mercury in own/exaltation in Kendra", @@ -301,7 +357,8 @@ "type": "dignity", "planet": "Jupiter", "dignity": "exalted", - "combo_template": "Jupiter入旺在{sign}" + "combo_template": "Jupiter入旺在{sign}", + "combo_template_en": "Jupiter exalted in {sign}" } ] }, @@ -310,7 +367,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-19: Jupiter in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -339,7 +402,8 @@ "type": "dignity", "planet": "Jupiter", "dignity": "own", - "combo_template": "Jupiter入庙在{sign}" + "combo_template": "Jupiter入庙在{sign}", + "combo_template_en": "Jupiter in own sign {sign}" } ] }, @@ -348,7 +412,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Hamsa Yoga", "source_reference": "BVR-19: Jupiter in own/exaltation in Kendra", @@ -378,7 +448,8 @@ "type": "dignity", "planet": "Venus", "dignity": "exalted", - "combo_template": "Venus入旺在{sign}" + "combo_template": "Venus入旺在{sign}", + "combo_template_en": "Venus exalted in {sign}" } ] }, @@ -387,7 +458,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-20: Venus in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -416,7 +493,8 @@ "type": "dignity", "planet": "Venus", "dignity": "own", - "combo_template": "Venus入庙在{sign}" + "combo_template": "Venus入庙在{sign}", + "combo_template_en": "Venus in own sign {sign}" } ] }, @@ -425,7 +503,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Malavya Yoga", "source_reference": "BVR-20: Venus in own/exaltation in Kendra", @@ -455,7 +539,8 @@ "type": "dignity", "planet": "Saturn", "dignity": "exalted", - "combo_template": "Saturn入旺在{sign}" + "combo_template": "Saturn入旺在{sign}", + "combo_template_en": "Saturn exalted in {sign}" } ] }, @@ -464,7 +549,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-21: Saturn in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -493,7 +584,8 @@ "type": "dignity", "planet": "Saturn", "dignity": "own", - "combo_template": "Saturn入庙在{sign}" + "combo_template": "Saturn入庙在{sign}", + "combo_template_en": "Saturn in own sign {sign}" } ] }, @@ -502,7 +594,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Sasa Yoga", "source_reference": "BVR-21: Saturn in own/exaltation in Kendra", @@ -531,7 +629,8 @@ "type": "dignity", "planet": "Jupiter", "dignity": "strong", - "combo_template": "木星有力在{sign}" + "combo_template": "木星有力在{sign}", + "combo_template_en": "Jupiter strong in {sign}" } ] }, @@ -540,7 +639,13 @@ "精神导师", "品德高尚" ], + "effects_en": [ + "Exceptional wisdom", + "Spiritual teacher", + "Noble character" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Hamsa Yoga", "source_reference": "BVR-19: Jupiter in own/exaltation in Kendra", @@ -570,7 +675,8 @@ "type": "dignity", "planet": "Mars", "dignity": "moolatrikona", - "combo_template": "Mars在本宫{sign}" + "combo_template": "Mars在本宫{sign}", + "combo_template_en": "Mars in own sign {sign}" } ] }, @@ -579,7 +685,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-22: Mars in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -608,7 +720,8 @@ "type": "dignity", "planet": "Mercury", "dignity": "moolatrikona", - "combo_template": "Mercury在本宫{sign}" + "combo_template": "Mercury在本宫{sign}", + "combo_template_en": "Mercury in own sign {sign}" } ] }, @@ -617,7 +730,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-23: Mercury in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -646,7 +765,8 @@ "type": "dignity", "planet": "Jupiter", "dignity": "moolatrikona", - "combo_template": "Jupiter在本宫{sign}" + "combo_template": "Jupiter在本宫{sign}", + "combo_template_en": "Jupiter in own sign {sign}" } ] }, @@ -655,7 +775,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-19: Jupiter in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -684,7 +810,8 @@ "type": "dignity", "planet": "Venus", "dignity": "moolatrikona", - "combo_template": "Venus在本宫{sign}" + "combo_template": "Venus在本宫{sign}", + "combo_template_en": "Venus in own sign {sign}" } ] }, @@ -693,7 +820,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-20: Venus in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -722,7 +855,8 @@ "type": "dignity", "planet": "Saturn", "dignity": "moolatrikona", - "combo_template": "Saturn在本宫{sign}" + "combo_template": "Saturn在本宫{sign}", + "combo_template_en": "Saturn in own sign {sign}" } ] }, @@ -731,7 +865,13 @@ "领域领军", "人格魅力" ], + "effects_en": [ + "Outstanding abilities", + "Leader in one's field", + "Personal charisma" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-21: Saturn in own/exaltation in Kendra", "bvr_chapter": "Chapter 3" @@ -753,12 +893,14 @@ "relations": [ "kendra" ], - "combo_template": "木星在月亮的Kendra(第{h}宫)" + "combo_template": "木星在月亮的Kendra(第{h}宫)", + "combo_template_en": "Jupiter in a Kendra from the Moon (house {h})" }, { "type": "custom", "expr": "\n# BVR-1 Gajakesari: Jupiter must be strong or have benefic association\n# Jupiter not debilitated\njup_ok = not ctx.is_debilitated('Jupiter')\n# Benefic association (conjunction or graha drishti)\nbenefics = ['Venus', 'Mercury', 'Jupiter']\nhas_benefic = any(\n ctx.house_of('Jupiter') == ctx.house_of(b) or aspect(b, 'Jupiter')\n for b in benefics if b in ctx.planets and b != 'Jupiter'\n)\n# Jupiter strong on its own\njup_strong = ctx.is_exalted('Jupiter') or ctx.is_own_sign('Jupiter') or ctx.is_moolatrikona('Jupiter')\njup_ok and (has_benefic or jup_strong)\n", - "combo_template": "木星有吉星合/照或不弱陷" + "combo_template": "木星有吉星合/照或不弱陷", + "combo_template_en": "Jupiter conjoined or aspected by benefics, or not debilitated" } ] }, @@ -767,7 +909,13 @@ "财富名声", "道德品质" ], + "effects_en": [ + "Wisdom and learning", + "Wealth and reputation", + "Moral integrity" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-1: Jupiter in Kendra from Moon, with benefic association or strong dignity", "bvr_chapter": "Chapter 1" @@ -783,14 +931,22 @@ "type": "custom", "expr": "\nmatched = []\nfor p, info in ctx.planets.items():\n if DEBILITATION.get(p) == info.get(\"sign\"):\n dl = SIGN_LORDS.get(info.get(\"sign\"))\n if dl and dl in ctx.planets and kendra(house_of(dl)):\n matched.append((p, dl))\nmatched\n", "combo_template": "落陷取消格局", - "strength": "中强" + "combo_template_en": "Cancellation of debilitation (Neecha Bhanga)", + "strength": "中强", + "strength_en": "moderately strong" }, "effects": [ "克服困难", "逆境崛起", "转化能力" ], + "effects_en": [ + "Overcomes difficulties", + "Rises through adversity", + "Power to transform" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-24-26: Debilitated planet with canceling condition", "bvr_chapter": "Chapter 4" @@ -806,13 +962,20 @@ "type": "custom", "expr": "\nmatched = []\nfor p, info in ctx.planets.items():\n if DEBILITATION.get(p) == info.get(\"sign\") and kendra(info.get(\"house\")):\n matched.append(p)\nmatched\n", "combo_template": "落陷行星在角宫", - "strength": "中强" + "combo_template_en": "Debilitated planet in a Kendra", + "strength": "中强", + "strength_en": "moderately strong" }, "effects": [ "逆境中崛起", "转化困境为机遇" ], + "effects_en": [ + "Rises amid adversity", + "Turns hardship into opportunity" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Neechabhanga Raja Yoga", "source_reference": "BVR-24-26: Debilitated planet with canceling condition", @@ -829,14 +992,22 @@ "type": "custom", "expr": "\nimport math\nai = ctx.asc_idx\nwl = set()\nwh = [2, 5, 9, 11]\nfor h in wh:\n sign = SIGNS[(ai + h - 1) % 12]\n wl.add(SIGN_LORDS[sign])\nwc = sum(1 for w in wl if w in ctx.planets and house_of(w) in wh)\nwc >= 2\n", "combo_template": "财富宫主星落入财富宫", - "strength": "中" + "combo_template_en": "Lords of wealth houses placed in wealth houses", + "strength": "中", + "strength_en": "moderate" }, "effects": [ "财富积累", "物质成功", "投资收益" ], + "effects_en": [ + "Wealth accumulation", + "Material success", + "Investment gains" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -852,14 +1023,22 @@ "type": "custom", "expr": "\nai = ctx.asc_idx\nlords = {\n 1: SIGN_LORDS[SIGNS[ai % 12]],\n 2: SIGN_LORDS[SIGNS[(ai + 1) % 12]],\n 11: SIGN_LORDS[SIGNS[(ai + 10) % 12]]\n}\nok = False\nfor wh in [2, 11]:\n cnt = sum(1 for h, lp in lords.items() if lp in ctx.planets and house_of(lp) == wh)\n if cnt >= 2:\n ok = True\n break\nok\n", "combo_template": "财富宫主星聚宫", - "strength": "强" + "combo_template_en": "Lords of wealth houses conjoined", + "strength": "强", + "strength_en": "strong" }, "effects": [ "财运亨通", "投资有利", "收入丰厚" ], + "effects_en": [ + "Flourishing finances", + "Favourable for investment", + "Ample income" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -894,7 +1073,8 @@ "house": 9 }, "dignity": "strong", - "combo_template": "9宫主入旺/入庙在1宫" + "combo_template": "9宫主入旺/入庙在1宫", + "combo_template_en": "9th lord exalted or in own sign in the 1st house" } ] }, @@ -903,7 +1083,13 @@ "生活幸福", "品德高尚" ], + "effects_en": [ + "Abundant wealth", + "Happy life", + "Noble character" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-27: L9 in own/exaltation in Kendra, L1 strong", "bvr_chapter": "Chapter 5" @@ -919,14 +1105,22 @@ "type": "custom", "expr": "\nupachaya_benefics = [p for p in BENEFICS if p in ctx.planets and upachaya(house_of(p))]\nlen(upachaya_benefics) >= 3\n", "combo_template": "吉星在成长宫", - "strength": "中" + "combo_template_en": "Benefics in the Upachaya houses", + "strength": "中", + "strength_en": "moderate" }, "effects": [ "财富丰厚", "生活富足", "物质成功" ], + "effects_en": [ + "Substantial wealth", + "Comfortable, well-provided life", + "Material success" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-9: Benefics in Upachaya houses", "bvr_chapter": "Chapter 2" @@ -941,14 +1135,21 @@ "logic": { "type": "custom", "expr": "\nif 'Sun' not in ctx.planets:\n False\nelse:\n sun_h = house_of('Sun')\n h12 = ((sun_h - 1 + 11) % 12) + 1\n planets_in_h12 = [p for p, info in ctx.planets.items() if info.get('house') == h12]\n h2 = ((sun_h - 1 + 1) % 12) + 1\n planets_in_h2 = [p for p, info in ctx.planets.items() if info.get('house') == h2]\n planets_in_h12 and not planets_in_h2\n", - "combo_template": "行星在太阳第12宫" + "combo_template": "行星在太阳第12宫", + "combo_template_en": "Planet in the 12th from the Sun" }, "effects": [ "口才出众", "善于表达", "受人尊敬" ], + "effects_en": [ + "Outstanding eloquence", + "Expressive", + "Respected by others" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -961,14 +1162,21 @@ "logic": { "type": "custom", "expr": "\nif 'Sun' not in ctx.planets:\n False\nelse:\n sun_h = house_of('Sun')\n h12 = ((sun_h - 1 + 11) % 12) + 1\n planets_in_h12 = [p for p, info in ctx.planets.items() if info.get('house') == h12]\n h2 = ((sun_h - 1 + 1) % 12) + 1\n planets_in_h2 = [p for p, info in ctx.planets.items() if info.get('house') == h2]\n planets_in_h2 and not planets_in_h12\n", - "combo_template": "行星在太阳第2宫" + "combo_template": "行星在太阳第2宫", + "combo_template_en": "Planet in the 2nd from the Sun" }, "effects": [ "财富充裕", "生活舒适", "性情愉快" ], + "effects_en": [ + "Abundant wealth", + "Comfortable living", + "Cheerful temperament" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-16: Planet(s) other than Moon in 2nd from Sun", "bvr_chapter": "Chapter 2" @@ -983,14 +1191,21 @@ "logic": { "type": "custom", "expr": "\nif 'Sun' not in ctx.planets:\n False\nelse:\n sun_h = house_of('Sun')\n h12 = ((sun_h - 1 + 11) % 12) + 1\n planets_in_h12 = [p for p, info in ctx.planets.items() if info.get('house') == h12]\n h2 = ((sun_h - 1 + 1) % 12) + 1\n planets_in_h2 = [p for p, info in ctx.planets.items() if info.get('house') == h2]\n bool(planets_in_h2 and planets_in_h12)\n", - "combo_template": "太阳两侧均有行星" + "combo_template": "太阳两侧均有行星", + "combo_template_en": "Planets on both sides of the Sun" }, "effects": [ "性格坚毅", "口才与财富兼备", "受人爱戴" ], + "effects_en": [ + "Resolute character", + "Both eloquence and wealth", + "Loved by others" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-18: Planets in 2nd and 12th from Moon", "bvr_chapter": "Chapter 2" @@ -1005,14 +1220,21 @@ "logic": { "type": "custom", "expr": "\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n h12 = ((moon_h - 1 + 11) % 12) + 1\n p_in_h12 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h12]\n h2 = ((moon_h - 1 + 1) % 12) + 1\n p_in_h2 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h2]\n p_in_h12 and not p_in_h2\n", - "combo_template": "行星在月亮第12宫" + "combo_template": "行星在月亮第12宫", + "combo_template_en": "Planet in the 12th from the Moon" }, "effects": [ "体格健壮", "名声良好", "品德高尚" ], + "effects_en": [ + "Robust physique", + "Good reputation", + "Noble character" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "Disabled: superseded by bvr_003_anapha_precise. The 'not p_in_h2' restriction causes false negatives in Duradhara cases per BPHS." }, @@ -1026,14 +1248,21 @@ "logic": { "type": "custom", "expr": "\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n h12 = ((moon_h - 1 + 11) % 12) + 1\n p_in_h12 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h12]\n h2 = ((moon_h - 1 + 1) % 12) + 1\n p_in_h2 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h2]\n p_in_h2 and not p_in_h12\n", - "combo_template": "行星在月亮第2宫" + "combo_template": "行星在月亮第2宫", + "combo_template_en": "Planet in the 2nd from the Moon" }, "effects": [ "自力更生", "财富充裕", "受人尊敬" ], + "effects_en": [ + "Self-reliant", + "Abundant wealth", + "Respected by others" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-2: Planet(s) other than Sun in 2nd from Moon", "bvr_chapter": "Chapter 1" @@ -1048,14 +1277,21 @@ "logic": { "type": "custom", "expr": "\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n h12 = ((moon_h - 1 + 11) % 12) + 1\n p_in_h12 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h12]\n h2 = ((moon_h - 1 + 1) % 12) + 1\n p_in_h2 = [p for p, info in ctx.planets.items() if p != 'Moon' and info.get('house') == h2]\n bool(p_in_h2 and p_in_h12)\n", - "combo_template": "月亮两侧均有行星" + "combo_template": "月亮两侧均有行星", + "combo_template_en": "Planets on both sides of the Moon" }, "effects": [ "享受丰富", "善于辞令", "性格坚定" ], + "effects_en": [ + "Rich enjoyments", + "Skilled with words", + "Firm character" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-4: Planets in both 2nd and 12th from Moon", "bvr_chapter": "Chapter 1" @@ -1070,14 +1306,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-5: no planets other than Sun in 1st/2nd/12th from Moon,\n# and no planets other than Moon in quadrants from Lagna.\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n moon_zone = {moon_h, ((moon_h - 1 + 1) % 12) + 1, ((moon_h - 1 + 11) % 12) + 1}\n ky1 = all(p in ['Moon', 'Sun'] for p, info in ctx.planets.items() if info.get('house') in moon_zone)\n ky2 = all(p == 'Moon' for p, info in ctx.planets.items() if info.get('house') in [1, 4, 7, 10])\n ky1 and ky2\n", - "combo_template": "月亮1/2/12宫仅日月,且Lagna角宫仅月亮" + "combo_template": "月亮1/2/12宫仅日月,且Lagna角宫仅月亮", + "combo_template_en": "Only the Sun and Moon in the 1st/2nd/12th from the Moon, and only the Moon in the Kendras from the Lagna" }, "effects": [ "人生艰辛", "需自力更生", "精神挑战" ], + "effects_en": [ + "Hard life", + "Must rely on oneself", + "Mental and spiritual challenges" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "source_reference": "BVR-5: No planets in 1st, 2nd, 12th from Moon", "bvr_chapter": "Chapter 1" @@ -1093,14 +1336,21 @@ "type": "same_house", "a": "Mars", "b": "Moon", - "combo_template": "火星与月亮同在第{h}宫" + "combo_template": "火星与月亮同在第{h}宫", + "combo_template_en": "Mars and Moon together in house {h}" }, "effects": [ "财富积累", "行动力强", "情绪驱动成功" ], + "effects_en": [ + "Wealth accumulation", + "Strong drive to act", + "Success driven by emotion" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1117,14 +1367,21 @@ "relations": [ "2nd_12th" ], - "combo_template": "火星在第{h}宫(从月亮的2/12宫)" + "combo_template": "火星在第{h}宫(从月亮的2/12宫)", + "combo_template_en": "Mars in house {h} (2nd or 12th from the Moon)" }, "effects": [ "财运亨通", "精力充沛", "商业头脑" ], + "effects_en": [ + "Flourishing finances", + "Energetic", + "Business acumen" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "dedup_key": "Chandra-Mangala Yoga" }, @@ -1138,14 +1395,21 @@ "logic": { "type": "custom", "expr": "\nlord_dh = lord(6)\nif lord_dh in ctx.planets:\n lh = house_of(lord_dh)\n lh in [6, 8, 12] and lh != 6\nelse:\n False\n", - "combo_template": "第6宫主星落入凶宫" + "combo_template": "第6宫主星落入凶宫", + "combo_template_en": "6th lord placed in a Dusthana" }, "effects": [ "因祸得福", "逆境崛起", "困境中成长" ], + "effects_en": [ + "Blessing in disguise", + "Rises through adversity", + "Grows through hardship" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -1160,14 +1424,21 @@ "logic": { "type": "custom", "expr": "\nlord_dh = lord(8)\nif lord_dh in ctx.planets:\n lh = house_of(lord_dh)\n lh in [6, 8, 12] and lh != 8\nelse:\n False\n", - "combo_template": "第8宫主星落入凶宫" + "combo_template": "第8宫主星落入凶宫", + "combo_template_en": "8th lord placed in a Dusthana" }, "effects": [ "因祸得福", "逆境崛起", "困境中成长" ], + "effects_en": [ + "Blessing in disguise", + "Rises through adversity", + "Grows through hardship" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -1182,14 +1453,21 @@ "logic": { "type": "custom", "expr": "\nlord_dh = lord(12)\nif lord_dh in ctx.planets:\n lh = house_of(lord_dh)\n lh in [6, 8, 12] and lh != 12\nelse:\n False\n", - "combo_template": "第12宫主星落入凶宫" + "combo_template": "第12宫主星落入凶宫", + "combo_template_en": "12th lord placed in a Dusthana" }, "effects": [ "因祸得福", "逆境崛起", "困境中成长" ], + "effects_en": [ + "Blessing in disguise", + "Rises through adversity", + "Grows through hardship" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -1204,13 +1482,19 @@ "logic": { "type": "custom", "expr": "\npairs = [(6,8), (6,12), (8,12)]\nmatched = []\nfor h1, h2 in pairs:\n l1 = lord(h1)\n l2 = lord(h2)\n if l1 in ctx.planets and l2 in ctx.planets:\n if house_of(l1) == h2 and house_of(l2) == h1:\n matched.append((h1, h2, l1, l2))\nmatched\n", - "combo_template": "凶宫主星互落" + "combo_template": "凶宫主星互落", + "combo_template_en": "Dusthana lords placed in each other's houses" }, "effects": [ "因祸得福", "逆境崛起" ], + "effects_en": [ + "Blessing in disguise", + "Rises through adversity" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Vipreet Raja Yoga", "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", @@ -1226,14 +1510,21 @@ "logic": { "type": "custom", "expr": "\nbenefics_10_11 = [p for p in BENEFICS if p in ctx.planets and house_of(p) in [10, 11] and not debil(p)]\nbool(benefics_10_11)\n", - "combo_template": "吉星在10/11宫" + "combo_template": "吉星在10/11宫", + "combo_template_en": "Benefics in the 10th/11th houses" }, "effects": [ "名声清白", "受人敬仰", "事业有成" ], + "effects_en": [ + "Clean reputation", + "Admired by others", + "Accomplished career" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-13: 10th house/ lord with only benefics", "bvr_chapter": "Chapter 2" @@ -1248,14 +1539,21 @@ "logic": { "type": "custom", "expr": "\nkl = list(dict.fromkeys([lord(h) for h in [1,4,7,10]]))\nkt = [h for h in [1,5,9]]\nkendra_lords_strong = sum(1 for k in kl if k in ctx.planets and (kendra(house_of(k)) or trikona(house_of(k))))\nif kendra_lords_strong < 2:\n False\nelse:\n lord_6 = lord(6)\n lord_8 = lord(8)\n lord_6_ok = lord_6 in ctx.planets and house_of(lord_6) != 1\n lord_8_ok = lord_8 in ctx.planets and house_of(lord_8) != 1\n lord_6_ok or lord_8_ok\n", - "combo_template": "角宫主星有力+凶宫主星不落入1宫" + "combo_template": "角宫主星有力+凶宫主星不落入1宫", + "combo_template_en": "Kendra lords strong and Dusthana lords not in the 1st house" }, "effects": [ "智慧卓越", "富有口才", "品格高尚" ], + "effects_en": [ + "Exceptional wisdom", + "Eloquent", + "Noble character" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-14: Kendra/trikona occupied by benefics only", "bvr_chapter": "Chapter 2" @@ -1270,14 +1568,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-15: L4 and L9 in mutual kendras, and L1 is in a kendra/trine from Lagna.\nl1 = lord(1)\nl4 = lord(4)\nl9 = lord(9)\nif l1 not in ctx.planets or l4 not in ctx.planets or l9 not in ctx.planets:\n False\nelse:\n l1_strong = house_of(l1) in [1, 4, 5, 7, 9, 10]\n mutual_kendra = offset(house_of(l4), house_of(l9)) in [0, 3, 6, 9]\n l1_strong and mutual_kendra\n", - "combo_template": "上升主有力,4宫主与9宫主互为Kendra" + "combo_template": "上升主有力,4宫主与9宫主互为Kendra", + "combo_template_en": "Lagna lord strong; 4th and 9th lords in mutual Kendras" }, "effects": [ "意志坚定", "领导才能", "充满活力" ], + "effects_en": [ + "Strong will", + "Leadership ability", + "Full of vitality" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-15: L4 and L9 in mutual Kendras", "bvr_chapter": "Chapter 2" @@ -1292,14 +1597,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-12: (L1 strong and L5/L6 in mutual kendras) OR\n# (L1 and L10 together in a movable sign and L9 strong). PyJHora strong() uses\n# house_strength >= FRIEND, not generic kendra/trikona strength.\nl1, l5, l6, l9, l10 = [lord(h) for h in [1, 5, 6, 9, 10]]\nif not all(p in ctx.planets for p in [l1, l5, l6, l9, l10]):\n False\nelse:\n l1h, l5h, l6h, l9h, l10h = [house_of(p) for p in [l1, l5, l6, l9, l10]]\n cond1 = strong(l1) and offset(l5h, l6h) in [0, 3, 6, 9] and offset(l6h, l5h) in [0, 3, 6, 9]\n # The second branch requires actual conjunction of two distinct lords; if L1==L10\n # (common for Gemini/Virgo/Sagittarius/Pisces ascendants), PyJHora does not count\n # the shared lord as \"L1 and L10 together\" for Sankha Yoga.\n cond2 = l1 != l10 and strong(l9) and house_of(l1) == house_of(l10) and movable_house(l1h)\n cond1 or cond2\n", - "combo_template": "上升主强且5/6宫主互为Kendra,或1/10宫主合于变动星座且9宫主强" + "combo_template": "上升主强且5/6宫主互为Kendra,或1/10宫主合于变动星座且9宫主强", + "combo_template_en": "Lagna lord strong with 5th/6th lords in mutual Kendras, or 1st/10th lords conjoined in a movable sign with a strong 9th lord" }, "effects": [ "学识渊博", "品德高尚", "物质充裕" ], + "effects_en": [ + "Broad learning", + "Noble character", + "Material abundance" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-12: L1 strong, L5/L6 in mutual Kendras", "bvr_chapter": "Chapter 2", @@ -1315,14 +1627,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-45 Bheri Yoga. 9th lord strong and either 1/2/7/12 occupied,\n# or Jupiter, Venus and Lagna lord are pairwise in mutual kendras.\nl1 = lord(1)\nl9 = lord(9)\nif l1 not in ctx.planets or l9 not in ctx.planets:\n False\nelse:\n ninth_strong = strong(l9, include_neutral=True)\n path_a = all(bool(occupants(h)) for h in [1, 2, 7, 12])\n def mutual_kendra_planets(a, b):\n return a in ctx.planets and b in ctx.planets and offset(house_of(a), house_of(b)) in [0, 3, 6, 9] and offset(house_of(b), house_of(a)) in [0, 3, 6, 9]\n path_b = mutual_kendra_planets('Jupiter', 'Venus') and mutual_kendra_planets('Jupiter', l1) and mutual_kendra_planets('Venus', l1)\n ninth_strong and (path_a or path_b)\n", - "combo_template": "PyJHora aligned Bheri Yoga: 9宫主强且满足占宫/互为角宫条件" + "combo_template": "PyJHora aligned Bheri Yoga: 9宫主强且满足占宫/互为角宫条件", + "combo_template_en": "PyJHora aligned Bheri Yoga: strong 9th lord meeting the occupation / mutual-Kendra conditions" }, "effects": [ "品德高尚", "长寿幸福", "受人敬仰" ], + "effects_en": [ + "Noble character", + "Long and happy life", + "Admired by others" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-11: Multiple strong houses", "bvr_chapter": "Chapter 2" @@ -1337,14 +1656,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-46: planets with strength > FRIEND in both quadrants and trines,\n# and Lagna lord strength > FRIEND. Strength > FRIEND means own/exalted only.\nl1 = lord(1)\nif l1 not in ctx.planets:\n False\nelse:\n strong_kendra = any(p in ctx.planets and house_of(p) in [1, 4, 7, 10] and house_strength(p) is not None and house_strength(p) > 3 for p in PLANET_INDEX)\n strong_trine = any(p in ctx.planets and house_of(p) in [1, 5, 9] and house_strength(p) is not None and house_strength(p) > 3 for p in PLANET_INDEX)\n strong_kendra and strong_trine and house_strength(l1) is not None and house_strength(l1) > 3\n", - "combo_template": "上升主星有力+其他行星有力" + "combo_template": "上升主星有力+其他行星有力", + "combo_template_en": "Strong Lagna lord plus other strong planets" }, "effects": [ "权力权威", "个人魅力", "领导气质" ], + "effects_en": [ + "Power and authority", + "Personal charm", + "Commanding presence" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-10: Planets in exaltation/own in Kendras", "bvr_chapter": "Chapter 2" @@ -1386,7 +1712,13 @@ "婚姻美满", "贵人相助" ], + "effects_en": [ + "Brilliant career", + "Happy marriage", + "Help from patrons" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-7: Benefics in 9th/10th from Lagna/Moon", "bvr_chapter": "Chapter 1" @@ -1401,14 +1733,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/PVR method=2: benefics only in Lagna and 9th; 5th contains\n# both benefic and malefic; 4th and 8th contain only malefics.\ncond1 = only_benefics_in_house(1) and only_benefics_in_house(9)\ncond2 = house_has_benefic(5) and house_has_malefic(5)\ncond3 = only_malefics_in_house(4) and only_malefics_in_house(8)\ncond1 and cond2 and cond3\n", - "combo_template": "Lagna/9宫仅吉星,5宫吉凶同在,4/8宫仅凶星" + "combo_template": "Lagna/9宫仅吉星,5宫吉凶同在,4/8宫仅凶星", + "combo_template_en": "Only benefics in the Lagna/9th, benefics and malefics together in the 5th, only malefics in the 4th/8th" }, "effects": [ "聪慧过人", "直觉敏锐", "灵性成长" ], + "effects_en": [ + "Exceptionally intelligent", + "Keen intuition", + "Spiritual growth" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-53: Malefics in 3rd/6th/11th", "bvr_chapter": "Chapter 9" @@ -1423,14 +1762,21 @@ "logic": { "type": "custom", "expr": "\n# BVR-54 Method 1 v6.0.46: 5/6/7 all occupied by strong benefics OR 1/3/11 all occupied by strong benefics\ndef strong_b(p):\n hs = house_strength(p)\n return hs is not None and hs >= 2\ndef houses_all_strong_benefics(houses):\n for h in houses:\n occ = [p for p in ctx.planets if house_of(p) == h]\n if not occ or not all(p in BENEFICS and strong_b(p) for p in occ):\n return False\n return True\nhouses_all_strong_benefics([5,6,7]) or houses_all_strong_benefics([1,3,11])\n", - "combo_template": "吉星在1宫+5/9宫主在1宫" + "combo_template": "吉星在1宫+5/9宫主在1宫", + "combo_template_en": "Benefics in the 1st plus 5th/9th lords in the 1st" }, "effects": [ "智慧深厚", "耐心坚韧", "精神修养" ], + "effects_en": [ + "Deep wisdom", + "Patient and tenacious", + "Spiritual cultivation" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-54: Benefics in 1st/4th/7th/10th", "bvr_chapter": "Chapter 9" @@ -1445,14 +1791,21 @@ "logic": { "type": "custom", "expr": "\nlord_2 = lord(2)\nif lord_2 not in ctx.planets or house_of(lord_2) != 2:\n False\nelse:\n mal_in_2 = [p for p in MALEFICS if p in ctx.planets and house_of(p) == 2]\n not mal_in_2\n", - "combo_template": "2宫主在2宫且无凶星" + "combo_template": "2宫主在2宫且无凶星", + "combo_template_en": "2nd lord in the 2nd house without malefics" }, "effects": [ "财富充裕", "口才出众", "品格坚定" ], + "effects_en": [ + "Abundant wealth", + "Outstanding eloquence", + "Steadfast character" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-55: Planets in 1st/4th/7th/10th from Moon", "bvr_chapter": "Chapter 9" @@ -1467,14 +1820,21 @@ "logic": { "type": "custom", "expr": "\nchecks = [\n 'Jupiter' in ctx.planets and house_of('Jupiter') == 10,\n 'Moon' in ctx.planets and house_of('Moon') == 1,\n 'Sun' in ctx.planets and house_of('Sun') == 2,\n 'Venus' in ctx.planets and house_of('Venus') == 9,\n]\nsum(checks) >= 3\n", - "combo_template": "木星10/月亮1/太阳2/金星9 中满足3+" + "combo_template": "木星10/月亮1/太阳2/金星9 中满足3+", + "combo_template_en": "At least 3 of: Jupiter in 10th, Moon in 1st, Sun in 2nd, Venus in 9th" }, "effects": [ "才貌双全", "受人爱戴", "幸福美满" ], + "effects_en": [ + "Talented and good-looking", + "Loved by others", + "Happiness and fulfilment" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-56: Strong Lagna with benefic associations", "bvr_chapter": "Chapter 9" @@ -1490,14 +1850,21 @@ "type": "same_house", "a": "Jupiter", "b": "Mars", - "combo_template": "木星与火星同在第{h}宫" + "combo_template": "木星与火星同在第{h}宫", + "combo_template_en": "Jupiter and Mars together in house {h}" }, "effects": [ "智慧与行动力兼备", "正义感强", "领导能力" ], + "effects_en": [ + "Wisdom combined with drive", + "Strong sense of justice", + "Leadership ability" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1511,14 +1878,21 @@ "type": "parivartana", "lord_a": "Jupiter", "lord_b": "Mars", - "combo_template": "木星与火星互换星座" + "combo_template": "木星与火星互换星座", + "combo_template_en": "Jupiter and Mars in sign exchange" }, "effects": [ "智慧与行动力兼备", "正义感强", "领导能力" ], + "effects_en": [ + "Wisdom combined with drive", + "Strong sense of justice", + "Leadership ability" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Guru-Mangala Yoga" }, @@ -1533,14 +1907,21 @@ "type": "same_house", "a": "Mercury", "b": "Sun", - "combo_template": "水星与太阳同在第{h}宫" + "combo_template": "水星与太阳同在第{h}宫", + "combo_template_en": "Mercury and Sun together in house {h}" }, "effects": [ "智力超群", "口才出众", "学识渊博" ], + "effects_en": [ + "Superior intellect", + "Outstanding eloquence", + "Broad learning" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1548,20 +1929,28 @@ "name": "Budha-Shukra Yoga", "name_cn": "水金合相格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "conjunction", "logic": { "type": "same_house", "a": "Mercury", "b": "Venus", - "combo_template": "水星与金星同在第{h}宫" + "combo_template": "水星与金星同在第{h}宫", + "combo_template_en": "Mercury and Venus together in house {h}" }, "effects": [ "艺术才华", "商业头脑", "审美卓越" ], + "effects_en": [ + "Artistic talent", + "Business acumen", + "Refined aesthetic sense" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1569,20 +1958,28 @@ "name": "Surya-Chandra Yoga", "name_cn": "日月合相格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "conjunction", "logic": { "type": "same_house", "a": "Sun", "b": "Moon", - "combo_template": "太阳与月亮同在第{h}宫" + "combo_template": "太阳与月亮同在第{h}宫", + "combo_template_en": "Sun and Moon together in house {h}" }, "effects": [ "精神力量", "领导气质", "意志坚定" ], + "effects_en": [ + "Spiritual strength", + "Commanding presence", + "Strong will" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1596,14 +1993,21 @@ "type": "same_house", "a": "Jupiter", "b": "Venus", - "combo_template": "木星与金星同在第{h}宫" + "combo_template": "木星与金星同在第{h}宫", + "combo_template_en": "Jupiter and Venus together in house {h}" }, "effects": [ "智慧与爱心兼备", "精神富足", "艺术造诣" ], + "effects_en": [ + "Wisdom combined with compassion", + "Spiritually rich", + "Artistic accomplishment" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1611,20 +2015,28 @@ "name": "Shani-Rahu Yoga", "name_cn": "土罗合相格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "conjunction", "logic": { "type": "same_house", "a": "Saturn", "b": "Rahu", - "combo_template": "土星与罗睺同在第{h}宫" + "combo_template": "土星与罗睺同在第{h}宫", + "combo_template_en": "Saturn and Rahu together in house {h}" }, "effects": [ "纪律与变革", "突破传统", "但也可能带来阻碍" ], + "effects_en": [ + "Discipline and change", + "Breaks with convention", + "May also bring obstacles" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1638,14 +2050,21 @@ "type": "same_house", "a": "Mars", "b": "Saturn", - "combo_template": "火星与土星同在第{h}宫" + "combo_template": "火星与土星同在第{h}宫", + "combo_template_en": "Mars and Saturn together in house {h}" }, "effects": [ "行动力与纪律", "也可能产生冲突", "需平衡" ], + "effects_en": [ + "Drive and discipline", + "May also create conflict", + "Needs balance" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1653,20 +2072,28 @@ "name": "Surya-Budha Yoga", "name_cn": "日水紧密合相格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "conjunction", "logic": { "type": "same_house", "a": "Sun", "b": "Mercury", - "combo_template": "太阳与水星同在第{h}宫" + "combo_template": "太阳与水星同在第{h}宫", + "combo_template_en": "Sun and Mercury together in house {h}" }, "effects": [ "智力超群", "沟通能力强", "学习能力佳" ], + "effects_en": [ + "Superior intellect", + "Strong communication skills", + "Good learning ability" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1679,14 +2106,21 @@ "logic": { "type": "custom", "expr": "\ntargets = [1, 4, 7, 10, 5, 9]\nmatched = False\nfor th in targets:\n prev_h = ((th - 2) % 12) + 1\n next_h = (th % 12) + 1\n mal_before = [p for p in MALEFICS if p in ctx.planets and house_of(p) == prev_h]\n mal_after = [p for p in MALEFICS if p in ctx.planets and house_of(p) == next_h]\n if mal_before and mal_after:\n matched = True\n break\nmatched\n", - "combo_template": "某宫被凶星前后夹击" + "combo_template": "某宫被凶星前后夹击", + "combo_template_en": "A house hemmed in by malefics (Papakartari)" }, "effects": [ "领域受限", "需要额外努力", "阻碍与挑战" ], + "effects_en": [ + "Limited in the affected area", + "Requires extra effort", + "Obstacles and challenges" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -1699,14 +2133,21 @@ "logic": { "type": "custom", "expr": "\ntargets = [1, 4, 7, 10, 5, 9]\nmatched = False\nfor th in targets:\n prev_h = ((th - 2) % 12) + 1\n next_h = (th % 12) + 1\n ben_before = [p for p in BENEFICS if p in ctx.planets and house_of(p) == prev_h]\n ben_after = [p for p in BENEFICS if p in ctx.planets and house_of(p) == next_h]\n if ben_before and ben_after:\n matched = True\n break\nmatched\n", - "combo_template": "某宫被吉星前后守护" + "combo_template": "某宫被吉星前后守护", + "combo_template_en": "A house hemmed in by benefics (Shubhakartari)" }, "effects": [ "领域受保护", "顺利发展", "贵人助力" ], + "effects_en": [ + "The affected area is protected", + "Smooth progress", + "Support from patrons" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1719,14 +2160,21 @@ "logic": { "type": "custom", "expr": "\nsaraswati_houses = [2, 4, 7, 9, 10]\nsaraswati_planets = [p for p in ['Jupiter', 'Venus', 'Mercury'] if p in ctx.planets and house_of(p) in saraswati_houses]\nif len(saraswati_planets) >= 3 or (len(saraswati_planets) >= 2 and 'Jupiter' in saraswati_planets):\n jup_dig = dignity('Jupiter') if 'Jupiter' in ctx.planets else ''\n jup_dig in ['EXALTED', 'OWN_SIGN', 'MOOLATRIKONA', 'FRIEND']\nelse:\n False\n", - "combo_template": "木星/金星/水星在吉宫" + "combo_template": "木星/金星/水星在吉宫", + "combo_template_en": "Jupiter/Venus/Mercury in auspicious houses" }, "effects": [ "学问渊博", "艺术才华", "表达卓越" ], + "effects_en": [ + "Deep scholarship", + "Artistic talent", + "Excellent expression" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1739,14 +2187,21 @@ "logic": { "type": "custom", "expr": "\nasc_lord = SIGN_LORDS.get(ctx.ascendant)\nif asc_lord not in ctx.planets:\n False\nelse:\n asc_strong = exalted(asc_lord) or own(asc_lord)\n ben_kt = [p for p in BENEFICS if p in ctx.planets and (kendra(house_of(p)) or trikona(house_of(p)))]\n asc_strong and len(ben_kt) >= 2\n", - "combo_template": "上升主有力+吉星在角宫/三方宫" + "combo_template": "上升主有力+吉星在角宫/三方宫", + "combo_template_en": "Strong Lagna lord plus benefics in Kendras/Trikonas" }, "effects": [ "长寿健康", "受人尊敬", "智慧通达" ], + "effects_en": [ + "Long life and good health", + "Respected by others", + "Clear, far-reaching wisdom" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1759,14 +2214,21 @@ "logic": { "type": "custom", "expr": "\nif 'Jupiter' not in ctx.planets:\n False\nelse:\n jh = house_of('Jupiter')\n if jh not in [2, 5, 9, 11]:\n False\n else:\n lord_11 = lord(11)\n if lord_11 not in ctx.planets:\n False\n else:\n l11h = house_of(lord_11)\n l11h == 11 or kendra(l11h)\n", - "combo_template": "木星在2/5/9/11宫+11宫主有力" + "combo_template": "木星在2/5/9/11宫+11宫主有力", + "combo_template_en": "Jupiter in the 2nd/5th/9th/11th plus a strong 11th lord" }, "effects": [ "权力持久", "事业辉煌", "影响力广泛" ], + "effects_en": [ + "Lasting power", + "Brilliant career", + "Wide influence" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1774,6 +2236,7 @@ "name": "Gurumauli Yoga", "name_cn": "至上师格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "auspicious", "logic": { @@ -1782,14 +2245,21 @@ "houses": [ 9 ], - "combo_template": "木星在9宫" + "combo_template": "木星在9宫", + "combo_template_en": "Jupiter in the 9th house" }, "effects": [ "命运眷顾", "精神导师指引", "福德深厚" ], + "effects_en": [ + "Favoured by fortune", + "Guided by a spiritual teacher", + "Deep store of merit" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -1797,6 +2267,7 @@ "name": "Gurumauli Yoga", "name_cn": "至上师关联格局", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "auspicious", "logic": { @@ -1806,14 +2277,21 @@ "role": "lord", "house": 9 }, - "combo_template": "木星与9宫主同在第{h}宫" + "combo_template": "木星与9宫主同在第{h}宫", + "combo_template_en": "Jupiter and the 9th lord together in house {h}" }, "effects": [ "命运眷顾", "贵人运强", "智慧通达" ], + "effects_en": [ + "Favoured by fortune", + "Strong support from patrons", + "Clear, far-reaching wisdom" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "dedup_key": "Gurumauli Yoga" }, @@ -1832,14 +2310,21 @@ 8, 12 ], - "combo_template": "木星在{h}宫" + "combo_template": "木星在{h}宫", + "combo_template_en": "Jupiter in house {h}" }, "effects": [ "财富不稳", "健康需注意", "精神起伏" ], + "effects_en": [ + "Unstable wealth", + "Health needs attention", + "Mental ups and downs" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -1852,14 +2337,21 @@ "logic": { "type": "custom", "expr": "\nlord_11 = lord(11)\nlord_11 in ctx.planets and house_of(lord_11) in [6, 8, 12]\n", - "combo_template": "11宫主落入凶宫" + "combo_template": "11宫主落入凶宫", + "combo_template_en": "11th lord in a Dusthana" }, "effects": [ "财务困难", "需努力积累", "谨慎理财" ], + "effects_en": [ + "Financial difficulty", + "Wealth must be built through effort", + "Manage money cautiously" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -1872,14 +2364,21 @@ "logic": { "type": "custom", "expr": "\nlord_2 = lord(2)\nlord_2 in ctx.planets and debil(lord_2) and dusthana(house_of(lord_2))\n", - "combo_template": "2宫主落陷在凶宫" + "combo_template": "2宫主落陷在凶宫", + "combo_template_en": "2nd lord debilitated in a Dusthana" }, "effects": [ "财务压力", "家庭纠纷", "需节俭持家" ], + "effects_en": [ + "Financial pressure", + "Family disputes", + "Needs a frugal household" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "dedup_key": "Daridra Yoga" }, @@ -1894,13 +2393,19 @@ "type": "houses_occupied", "planets": "all", "count": 1, - "combo_template": "所有行星在同一宫" + "combo_template": "所有行星在同一宫", + "combo_template_en": "All planets in one house" }, "effects": [ "专注集中", "也可能过于极端" ], + "effects_en": [ + "Focused and concentrated", + "May also become extreme" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1914,13 +2419,19 @@ "type": "houses_occupied", "planets": "all", "count": 2, - "combo_template": "所有行星在两宫" + "combo_template": "所有行星在两宫", + "combo_template_en": "All planets in two houses" }, "effects": [ "双重性格", "生活两极化" ], + "effects_en": [ + "Dual nature", + "Polarised life" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1934,13 +2445,19 @@ "type": "houses_occupied", "planets": "all", "count": 3, - "combo_template": "所有行星在三宫" + "combo_template": "所有行星在三宫", + "combo_template_en": "All planets in three houses" }, "effects": [ "行动力", "但也可能有冲突" ], + "effects_en": [ + "Drive to act", + "May also involve conflict" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1954,13 +2471,19 @@ "type": "houses_occupied", "planets": "all", "count": 4, - "combo_template": "所有行星在四宫" + "combo_template": "所有行星在四宫", + "combo_template_en": "All planets in four houses" }, "effects": [ "稳定", "农业/地产运" ], + "effects_en": [ + "Stability", + "Fortune in agriculture or real estate" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -1974,14 +2497,21 @@ "type": "houses_occupied", "planets": "visible", "count": 7, - "combo_template": "行星分布在七宫" + "combo_template": "行星分布在七宫", + "combo_template_en": "Planets spread over seven houses" }, "effects": [ "艺术才华", "生活丰富", "多才多艺" ], + "effects_en": [ + "Artistic talent", + "Varied, full life", + "Versatile" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2004,7 +2534,13 @@ "有依靠", "根基深厚" ], + "effects_en": [ + "Stable life", + "Has reliable support", + "Deep roots" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2017,13 +2553,19 @@ "logic": { "type": "custom", "expr": "\ndala_count = sum(1 for dh in [6, 8, 12] if lord(dh) in ctx.planets and kendra(house_of(lord(dh))))\ndala_count >= 2\n", - "combo_template": "凶宫主在角宫" + "combo_template": "凶宫主在角宫", + "combo_template_en": "Dusthana lords in Kendras" }, "effects": [ "逆境中崛起", "转化能力" ], + "effects_en": [ + "Rises amid adversity", + "Power to transform" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2036,13 +2578,19 @@ "logic": { "type": "custom", "expr": "\nben_in_kendra = sorted(set(house_of(p) for p in BENEFICS if p in ctx.planets and kendra(house_of(p))))\nmatched = False\nif len(ben_in_kendra) >= 3:\n for i in range(len(ben_in_kendra) - 2):\n if ben_in_kendra[i+1] - ben_in_kendra[i] == 1 and ben_in_kendra[i+2] - ben_in_kendra[i+1] == 1:\n matched = True\n break\nmatched\n", - "combo_template": "吉星在连续角宫" + "combo_template": "吉星在连续角宫", + "combo_template_en": "Benefics in consecutive Kendras" }, "effects": [ "幸运连绵", "福气不断" ], + "effects_en": [ + "Continuous good fortune", + "Unbroken blessings" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2055,14 +2603,21 @@ "logic": { "type": "custom", "expr": "\nodd_signs = ['Aries', 'Gemini', 'Leo', 'Libra', 'Sagittarius', 'Aquarius']\nasc_odd = ctx.ascendant in odd_signs\nsun_odd = 'Sun' in ctx.planets and sign_of('Sun') in odd_signs\nmoon_odd = 'Moon' in ctx.planets and sign_of('Moon') in odd_signs\nasc_odd and sun_odd and moon_odd\n", - "combo_template": "上升/太阳/月亮均在奇数星座" + "combo_template": "上升/太阳/月亮均在奇数星座", + "combo_template_en": "Lagna, Sun and Moon all in odd signs" }, "effects": [ "命运眷顾", "人生顺遂", "贵人运强" ], + "effects_en": [ + "Favoured by fortune", + "Smooth life", + "Strong support from patrons" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2075,14 +2630,21 @@ "logic": { "type": "custom", "expr": "\n# BVR-26 v6.0.46: (1)L1 with Moon (2)Moon's dispositor in kendra/Adhimitra (3)dispositor rasi-aspects Lagna\nl1 = lord_of_house(1)\nif l1 is None or l1 not in ctx.planets or 'Moon' not in ctx.planets: False\nelif house_of(l1) != house_of('Moon'): False\nelse:\n moon_sign = sign_of('Moon')\n moon_disp = SIGN_LORDS.get(moon_sign)\n if moon_disp not in ctx.planets: False\n else:\n disp_h = house_of(moon_disp)\n disp_sign = sign_of(moon_disp)\n disp_sign_lord = SIGN_LORDS.get(disp_sign)\n is_adhimitra = disp_sign_lord and natural_friend(moon_disp, disp_sign_lord)\n if not (kendra(disp_h) or is_adhimitra): False\n else:\n rasi_aspects_house(moon_disp, 1)\n", - "combo_template": "上升主有力+月亮良好+吉星在1宫" + "combo_template": "上升主有力+月亮良好+吉星在1宫", + "combo_template_en": "Strong Lagna lord, well-placed Moon and benefics in the 1st" }, "effects": [ "生活富足", "社会地位高", "受人尊敬" ], + "effects_en": [ + "Comfortable, well-provided life", + "High social standing", + "Respected by others" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-26: L1 with Moon, dispositor in Kendra", "bvr_chapter": "Chapter 5" @@ -2097,14 +2659,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-7: natural benefics occupy 6th/7th/8th from Moon.\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n target_houses = {((moon_h - 1 + off) % 12) + 1 for off in [5, 6, 7]}\n benefics = ['Jupiter', 'Venus'] + (['Mercury'] if 'Mercury' in ctx.planets else [])\n all(p in ctx.planets and house_of(p) in target_houses for p in benefics)\n", - "combo_template": "自然吉星位于月亮起算6/7/8宫" + "combo_template": "自然吉星位于月亮起算6/7/8宫", + "combo_template_en": "Natural benefics in the 6th/7th/8th from the Moon" }, "effects": [ "权威地位", "领导能力", "受人尊敬" ], + "effects_en": [ + "Position of authority", + "Leadership ability", + "Respected by others" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2117,14 +2686,21 @@ "logic": { "type": "custom", "expr": "\nall(len(planets_in(h)) > 0 for h in [1, 4, 7, 10])\n", - "combo_template": "1/4/7/10宫均有行星" + "combo_template": "1/4/7/10宫均有行星", + "combo_template_en": "Planets in all of the 1st/4th/7th/10th houses" }, "effects": [ "生活圆满", "各方面均衡发展", "命运眷顾" ], + "effects_en": [ + "Fulfilled life", + "Balanced development in all areas", + "Favoured by fortune" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2137,14 +2713,21 @@ "logic": { "type": "custom", "expr": "\nasc_lord = SIGN_LORDS.get(ctx.ascendant)\nif asc_lord not in ctx.planets:\n False\nelse:\n asc_ok = kendra(house_of(asc_lord)) or trikona(house_of(asc_lord))\n lord_5 = lord(5)\n lord5_ok = lord_5 in ctx.planets and kendra(house_of(lord_5))\n jup_ok = 'Jupiter' in ctx.planets and (exalted('Jupiter') or own('Jupiter') or house_of('Jupiter') in [1,5,9])\n asc_ok and lord5_ok and jup_ok\n", - "combo_template": "上升主有力+5宫主在角宫+木星有力" + "combo_template": "上升主有力+5宫主在角宫+木星有力", + "combo_template_en": "Strong Lagna lord, 5th lord in a Kendra and strong Jupiter" }, "effects": [ "创造力强", "智慧卓越", "精神修养" ], + "effects_en": [ + "Strong creativity", + "Exceptional wisdom", + "Spiritual cultivation" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2157,14 +2740,21 @@ "logic": { "type": "custom", "expr": "\nasc_lord = SIGN_LORDS.get(ctx.ascendant)\nben_in_259 = [p for p in BENEFICS if p in ctx.planets and house_of(p) in [2, 5, 9]]\nasc_strong = asc_lord in ctx.planets and (exalted(asc_lord) or own(asc_lord))\nlen(ben_in_259) >= 2 and asc_strong\n", - "combo_template": "吉星在2/5/9宫+上升主有力" + "combo_template": "吉星在2/5/9宫+上升主有力", + "combo_template_en": "Benefics in the 2nd/5th/9th plus a strong Lagna lord" }, "effects": [ "艺术才华", "音乐天赋", "审美卓越" ], + "effects_en": [ + "Artistic talent", + "Musical gift", + "Refined aesthetic sense" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2177,14 +2767,21 @@ "logic": { "type": "custom", "expr": "\nif 'Jupiter' not in ctx.planets or house_of('Jupiter') not in [2, 5]:\n False\nelse:\n jh = house_of('Jupiter')\n assoc = [p for p in ['Venus', 'Mercury'] if p in ctx.planets and (house_of(p) == jh or abs(house_of(p) - jh) in [3, 6, 9])]\n bool(assoc)\n", - "combo_template": "木星在2/5宫+被金星/水星关联" + "combo_template": "木星在2/5宫+被金星/水星关联", + "combo_template_en": "Jupiter in the 2nd/5th and connected with Venus/Mercury" }, "effects": [ "艺术才华", "学识渊博", "受人尊敬" ], + "effects_en": [ + "Artistic talent", + "Broad learning", + "Respected by others" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2197,14 +2794,21 @@ "logic": { "type": "custom", "expr": "\nasc_lord = SIGN_LORDS.get(ctx.ascendant)\nasc_strong = asc_lord in ctx.planets and kendra(house_of(asc_lord)) and (exalted(asc_lord) or own(asc_lord))\nmoon_ok = 'Moon' in ctx.planets and house_of('Moon') in [1, 5, 9, 10, 11]\nasc_strong and moon_ok\n", - "combo_template": "上升主有力在角宫+月亮在吉宫" + "combo_template": "上升主有力在角宫+月亮在吉宫", + "combo_template_en": "Strong Lagna lord in a Kendra plus the Moon in an auspicious house" }, "effects": [ "幸运眷顾", "生活幸福", "婚姻美满" ], + "effects_en": [ + "Favoured by luck", + "Happy life", + "Happy marriage" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2217,14 +2821,21 @@ "logic": { "type": "custom", "expr": "\nbenefics_present = [p for p in BENEFICS if p in ctx.planets]\nall_benefics_kt = all(kendra(house_of(p)) or trikona(house_of(p)) for p in benefics_present)\nall_benefics_kt and len(benefics_present) >= 3\n", - "combo_template": "所有吉星在角宫或三方宫" + "combo_template": "所有吉星在角宫或三方宫", + "combo_template_en": "All benefics in Kendras or Trikonas" }, "effects": [ "生活顺遂", "福气满满", "受人爱戴" ], + "effects_en": [ + "Things go smoothly", + "Abundant blessings", + "Loved by others" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2232,6 +2843,7 @@ "name": "Graha Yuddha", "name_cn": "行星战争", "source": "经典", + "source_en": "Classical", "bvr_id": null, "category": "special", "logic": { @@ -2239,13 +2851,19 @@ "a": "all", "b": "all", "max_gap": 1.0, - "combo_template": "行星在同一星座内相距<1°" + "combo_template": "行星在同一星座内相距<1°", + "combo_template_en": "Planets within 1° of each other in the same sign" }, "effects": [ "行星力量竞争", "相关领域有张力" ], + "effects_en": [ + "Planetary strengths compete", + "Tension in the related areas" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -2258,14 +2876,21 @@ "logic": { "type": "custom", "expr": "\nben_in_8912 = [p for p in BENEFICS if p in ctx.planets and house_of(p) in [8, 9, 12]]\nlen(ben_in_8912) >= 2\n", - "combo_template": "吉星在8/9/12宫" + "combo_template": "吉星在8/9/12宫", + "combo_template_en": "Benefics in the 8th/9th/12th houses" }, "effects": [ "精神成长", "灵性提升", "命运眷顾" ], + "effects_en": [ + "Spiritual growth", + "Spiritual elevation", + "Favoured by fortune" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2289,7 +2914,13 @@ "财富积累", "社会地位" ], + "effects_en": [ + "Career success", + "Wealth accumulation", + "Social standing" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2315,7 +2946,13 @@ "家庭幸福", "物质成功" ], + "effects_en": [ + "Power and status", + "Happy family", + "Material success" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2341,7 +2978,13 @@ "命运眷顾", "精神成就" ], + "effects_en": [ + "Reputation for wisdom", + "Favoured by fortune", + "Spiritual attainment" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2367,7 +3010,13 @@ "财富地位", "精神修养" ], + "effects_en": [ + "Happy family", + "Wealth and status", + "Spiritual cultivation" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2392,7 +3041,12 @@ "权力地位", "影响力" ], + "effects_en": [ + "Power and status", + "Influence" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2417,7 +3071,12 @@ "事业成功", "自我实现" ], + "effects_en": [ + "Career success", + "Self-realisation" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2442,7 +3101,12 @@ "极高地位", "名声远扬" ], + "effects_en": [ + "Very high status", + "Far-reaching fame" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2468,7 +3132,13 @@ "命运眷顾", "精神成就" ], + "effects_en": [ + "Exceptional wisdom", + "Favoured by fortune", + "Spiritual attainment" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2494,7 +3164,13 @@ "子女带来财富", "智慧致富" ], + "effects_en": [ + "Investment gains", + "Wealth through children", + "Wealth through intelligence" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2520,7 +3196,13 @@ "子女运好", "投资成功" ], + "effects_en": [ + "Substantial savings", + "Good fortune with children", + "Successful investments" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2546,7 +3228,13 @@ "命运眷顾带来的财富", "物质成功" ], + "effects_en": [ + "Rich ancestral inheritance", + "Wealth through fortune's favour", + "Material success" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2572,7 +3260,13 @@ "盈利丰厚", "经济稳定" ], + "effects_en": [ + "Steady income", + "Handsome profits", + "Financial stability" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2598,7 +3292,13 @@ "道德致富", "慷慨大方" ], + "effects_en": [ + "Growing wealth", + "Wealth earned ethically", + "Generous" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2624,7 +3324,13 @@ "艺术财富", "奢侈品" ], + "effects_en": [ + "Material comforts", + "Wealth through the arts", + "Luxury goods" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2649,7 +3355,12 @@ "权力地位", "王者气质" ], + "effects_en": [ + "Power and status", + "Regal bearing" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -2675,7 +3386,13 @@ "道德高尚", "命运眷顾" ], + "effects_en": [ + "Religious devotion", + "High morals", + "Favoured by fortune" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2698,7 +3415,12 @@ "平衡人生", "中等成就" ], + "effects_en": [ + "Balanced life", + "Moderate achievement" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" @@ -2723,7 +3445,12 @@ "优雅生活", "艺术气质" ], + "effects_en": [ + "Refined lifestyle", + "Artistic temperament" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-13: 10th house/ lord with only benefics", "bvr_chapter": "Chapter 2" @@ -2748,7 +3475,12 @@ "束缚感", "需要努力突破" ], + "effects_en": [ + "Sense of restriction", + "Must work to break through" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -2771,7 +3503,12 @@ "名誉", "社会认可" ], + "effects_en": [ + "Honour", + "Social recognition" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -2794,7 +3531,12 @@ "全面性", "人生丰富" ], + "effects_en": [ + "All-round development", + "Rich life experience" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -2817,7 +3559,12 @@ "分离感", "独立性强" ], + "effects_en": [ + "Sense of separation", + "Strongly independent" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -2840,7 +3587,12 @@ "有依靠", "生活稳定" ], + "effects_en": [ + "Has reliable support", + "Stable life" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -2863,7 +3615,12 @@ "需要依赖他人", "人生有挑战" ], + "effects_en": [ + "Needs to rely on others", + "Life has challenges" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -2887,7 +3644,13 @@ "健康需注意", "需要努力" ], + "effects_en": [ + "Life challenges", + "Health needs attention", + "Requires effort" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -2910,7 +3673,12 @@ "财务困难", "家庭问题" ], + "effects_en": [ + "Financial difficulty", + "Family problems" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -2933,7 +3701,12 @@ "财富波动", "精神压力" ], + "effects_en": [ + "Fluctuating wealth", + "Mental stress" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -2956,7 +3729,12 @@ "自力更生", "精神孤独" ], + "effects_en": [ + "Self-reliant", + "Inner loneliness" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "source_reference": "BVR-5: No planets in 1st, 2nd, 12th from Moon", "bvr_chapter": "Chapter 1" @@ -2981,7 +3759,12 @@ "债务问题", "需要节约" ], + "effects_en": [ + "Debt problems", + "Needs thrift" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -3004,7 +3787,12 @@ "严重财务困难", "需要极度节俭" ], + "effects_en": [ + "Severe financial difficulty", + "Needs extreme thrift" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -3025,7 +3813,12 @@ "智慧与权威", "精神领导力" ], + "effects_en": [ + "Wisdom and authority", + "Spiritual leadership" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3047,7 +3840,13 @@ "审美卓越", "社交能力" ], + "effects_en": [ + "Artistic temperament", + "Refined aesthetic sense", + "Social skills" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3069,7 +3868,13 @@ "精神成长", "好运" ], + "effects_en": [ + "Wisdom combined with emotional depth", + "Spiritual growth", + "Good fortune" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3091,7 +3896,13 @@ "艺术才华", "审美卓越" ], + "effects_en": [ + "Emotionally rich", + "Artistic talent", + "Refined aesthetic sense" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3124,7 +3935,12 @@ "智慧+情感+行动力", "全面成功" ], + "effects_en": [ + "Wisdom, feeling and drive", + "All-round success" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3133,6 +3949,7 @@ "name_cn": "罗木合相格局", "category": "conjunction", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Conj-15", "logic": { "type": "same_house", @@ -3145,7 +3962,12 @@ "精神扩张", "也可能产生幻象" ], + "effects_en": [ + "Expansive mind", + "May also breed illusions" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -3154,6 +3976,7 @@ "name_cn": "计火合相格局", "category": "conjunction", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Conj-16", "logic": { "type": "same_house", @@ -3166,7 +3989,12 @@ "精神与行动力结合", "可能出现突发情况" ], + "effects_en": [ + "Mind joined with drive", + "Sudden events possible" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -3189,7 +4017,12 @@ "子女运好", "子女有成就" ], + "effects_en": [ + "Good fortune with children", + "Accomplished children" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-57-65: Children-giving combinations", "bvr_chapter": "Chapter 10" @@ -3214,7 +4047,12 @@ "子女运佳", "子女智慧" ], + "effects_en": [ + "Good fortune with children", + "Intelligent children" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-57-65: Children-giving combinations", "bvr_chapter": "Chapter 10" @@ -3239,7 +4077,12 @@ "子女有成就", "子女带来名声" ], + "effects_en": [ + "Accomplished children", + "Fame through children" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-57-65: Children-giving combinations", "bvr_chapter": "Chapter 10" @@ -3264,7 +4107,12 @@ "极佳子女运", "子女成就卓越" ], + "effects_en": [ + "Excellent fortune with children", + "Children achieve highly" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-57-65: Children-giving combinations", "bvr_chapter": "Chapter 10" @@ -3289,7 +4137,12 @@ "子女运受阻", "需要注意子女健康" ], + "effects_en": [ + "Obstacles concerning children", + "Watch children's health" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "source_reference": "BVR-57-65: Children-giving combinations", "bvr_chapter": "Chapter 10" @@ -3314,7 +4167,12 @@ "婚姻美满", "配偶有成就" ], + "effects_en": [ + "Happy marriage", + "Accomplished spouse" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-66-74: Marriage-related combinations", "bvr_chapter": "Chapter 11" @@ -3339,7 +4197,12 @@ "婚姻和谐", "配偶互相支持" ], + "effects_en": [ + "Harmonious marriage", + "Spouses support each other" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-66-74: Marriage-related combinations", "bvr_chapter": "Chapter 11" @@ -3364,7 +4227,12 @@ "婚姻幸福", "配偶有魅力" ], + "effects_en": [ + "Happy marriage", + "Attractive spouse" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-66-74: Marriage-related combinations", "bvr_chapter": "Chapter 11" @@ -3389,7 +4257,12 @@ "婚姻挑战", "配偶健康问题" ], + "effects_en": [ + "Marital challenges", + "Spouse's health issues" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "source_reference": "BVR-66-74: Marriage-related combinations", "bvr_chapter": "Chapter 11" @@ -3400,6 +4273,7 @@ "name_cn": "火星障碍(火星在关键宫)", "category": "kalatra", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Kalatra-D2", "logic": { "type": "and", @@ -3414,7 +4288,12 @@ "婚姻延迟", "需要匹配化解" ], + "effects_en": [ + "Delayed marriage", + "Needs careful matching and remedies" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -3437,7 +4316,12 @@ "长寿", "健康良好" ], + "effects_en": [ + "Longevity", + "Good health" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-75-83: Longevity combinations", "bvr_chapter": "Chapter 12" @@ -3462,7 +4346,12 @@ "长寿", "纪律性强" ], + "effects_en": [ + "Longevity", + "Highly disciplined" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-75-83: Longevity combinations", "bvr_chapter": "Chapter 12" @@ -3487,7 +4376,12 @@ "长寿", "生命力强" ], + "effects_en": [ + "Longevity", + "Strong vitality" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-75-83: Longevity combinations", "bvr_chapter": "Chapter 12" @@ -3512,7 +4406,12 @@ "健康需注意", "可能有慢性病" ], + "effects_en": [ + "Health needs attention", + "Possible chronic illness" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "source_reference": "BVR-75-83: Longevity combinations", "bvr_chapter": "Chapter 12" @@ -3537,7 +4436,12 @@ "命运与自我结合", "精神领导力" ], + "effects_en": [ + "Fortune joined with self", + "Spiritual leadership" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3560,7 +4464,12 @@ "事业成功", "领导地位" ], + "effects_en": [ + "Career success", + "Leadership position" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3583,7 +4492,12 @@ "挑战多", "需要韧性" ], + "effects_en": [ + "Many challenges", + "Needs resilience" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -3606,7 +4520,12 @@ "努力成功", "成长型人生" ], + "effects_en": [ + "Success through effort", + "A life of growth" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -3629,7 +4548,12 @@ "命运眷顾", "好运连连" ], + "effects_en": [ + "Favoured by fortune", + "Repeated good fortune" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3652,7 +4576,12 @@ "月亮受保护", "情感稳定" ], + "effects_en": [ + "The Moon is protected", + "Emotional stability" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3675,7 +4604,12 @@ "命宫受保护", "人生顺利" ], + "effects_en": [ + "The Lagna is protected", + "Smooth life" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3698,7 +4632,12 @@ "自我实现", "人生深刻" ], + "effects_en": [ + "Self-realisation", + "A life of depth" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3721,7 +4660,12 @@ "事业与自我结合", "领导力" ], + "effects_en": [ + "Career joined with self", + "Leadership" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -3746,7 +4690,12 @@ "婚姻与命运结合", "配偶带来好运" ], + "effects_en": [ + "Marriage joined with fortune", + "Good fortune through the spouse" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -3771,7 +4720,12 @@ "财富与婚姻结合", "配偶带来财富" ], + "effects_en": [ + "Wealth joined with marriage", + "Wealth through the spouse" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -3796,7 +4750,12 @@ "命运力量在角宫", "社会地位高" ], + "effects_en": [ + "Power of fortune in the Kendras", + "High social standing" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -3821,7 +4780,12 @@ "名声显赫", "精神成就" ], + "effects_en": [ + "Illustrious fame", + "Spiritual attainment" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-11: Multiple strong houses", "bvr_chapter": "Chapter 2" @@ -3846,7 +4810,12 @@ "全面发展", "极高成就" ], + "effects_en": [ + "All-round development", + "Very high achievement" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-10: Planets in exaltation/own in Kendras", "bvr_chapter": "Chapter 2" @@ -3857,6 +4826,7 @@ "name_cn": "五巨星格局", "category": "special", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Pancha-1", "logic": { "type": "and", @@ -3871,7 +4841,12 @@ "五大行星有力", "全面成功" ], + "effects_en": [ + "The five true planets are strong", + "All-round success" + ], "strength": "强", + "strength_en": "strong", "enabled": true }, { @@ -3880,6 +4855,7 @@ "name_cn": "旃陀罗格局(罗睺)", "category": "durbhaga", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Chandala-1", "logic": { "type": "same_house", @@ -3892,7 +4868,12 @@ "可能需要克服歧视", "精神挑战" ], + "effects_en": [ + "May need to overcome prejudice", + "Mental and spiritual challenges" + ], "strength": "弱", + "strength_en": "weak", "enabled": true }, { @@ -3901,6 +4882,7 @@ "name_cn": "旃陀罗格局(计都)", "category": "durbhaga", "source": "经典文献", + "source_en": "Classical texts", "bvr_id": "Chandala-2", "logic": { "type": "same_house", @@ -3913,7 +4895,12 @@ "精神探索", "也可能有隔离感" ], + "effects_en": [ + "Spiritual exploration", + "May also feel isolated" + ], "strength": "中", + "strength_en": "moderate", "enabled": true }, { @@ -3936,7 +4923,12 @@ "因祸得福", "克服挑战" ], + "effects_en": [ + "Blessing in disguise", + "Overcomes challenges" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-29-37: Kendra-Trikona lord combinations", "bvr_chapter": "Chapter 5-6" @@ -3951,14 +4943,20 @@ "enabled": true, "dedup_key": "neechabhanga_raja", "strength": "强", + "strength_en": "strong", "effects": [ "逆境反转", "劫后余生般的成功" ], + "effects_en": [ + "Reversal of adversity", + "Success after a narrow escape" + ], "logic": { "type": "custom", "expr": "any(exalted(lord_of_house(h)) or own(lord_of_house(h)) for h in range(1,13) if lord_of_house(h) and lord_of_house(h) in ctx.planets and any(ctx.is_debilitated(p) for p in ctx.planets if p==lord_of_house(h)) and (ctx.house_of(lord_of_house(h)) in [1,4,7,10] or any(ctx.is_exalted(p) for p in ctx.planets if ctx.house_of(p) and any(ctx.house_of(q)==(ctx.house_of(p)-1)%12+1 for q in ctx.planets if q!=p))))", - "combo_template": "Neechabhanga Raja Yoga(主星旺/庙)" + "combo_template": "Neechabhanga Raja Yoga(主星旺/庙)", + "combo_template_en": "Neechabhanga Raja Yoga (dispositor exalted or in own sign)" }, "source_reference": "BVR-24-26: Debilitated planet with canceling condition", "bvr_chapter": "Chapter 4" @@ -3973,10 +4971,15 @@ "enabled": true, "dedup_key": "neechabhanga_raja", "strength": "强", + "strength_en": "strong", "effects": [ "通过互换获得尊严", "命运转折" ], + "effects_en": [ + "Dignity gained through exchange", + "Turning point of fortune" + ], "logic": { "type": "any_pair", "from": "all", @@ -4007,10 +5010,15 @@ "enabled": true, "dedup_key": "viparita_raja", "strength": "中", + "strength_en": "moderate", "effects": [ "意外成功", "化险为夷" ], + "effects_en": [ + "Unexpected success", + "Turns danger into safety" + ], "logic": { "type": "and", "conditions": [ @@ -4053,10 +5061,15 @@ "enabled": true, "dedup_key": "viparita_raja", "strength": "中", + "strength_en": "moderate", "effects": [ "绝处逢生", "神秘好运" ], + "effects_en": [ + "Rescue from a desperate situation", + "Mysterious good fortune" + ], "logic": { "type": "and", "conditions": [ @@ -4100,10 +5113,15 @@ "accuracy_note": "Disabled: BPHS does not define a Trikona variant for Gajakesari Yoga. Only Kendra-from-Moon is valid per BVR.", "dedup_key": "gajakesari", "strength": "中", + "strength_en": "moderate", "effects": [ "智慧", "名声" ], + "effects_en": [ + "Wisdom", + "Fame" + ], "logic": { "type": "and", "conditions": [ @@ -4128,7 +5146,8 @@ { "type": "custom", "expr": "ctx.is_trikona_from('Jupiter','Moon')", - "combo_template": "木星与月亮成三方宫关系" + "combo_template": "木星与月亮成三方宫关系", + "combo_template_en": "Jupiter and Moon in mutual Trikonas" } ] } @@ -4143,10 +5162,15 @@ "enabled": true, "dedup_key": "dhana_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "持续财富积累", "投资回报" ], + "effects_en": [ + "Continuous wealth accumulation", + "Investment returns" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -4172,10 +5196,15 @@ "enabled": true, "dedup_key": "dhana_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "通过才华/运气致富", "祖先财富" ], + "effects_en": [ + "Wealth through talent or luck", + "Ancestral wealth" + ], "logic": { "type": "or", "conditions": [ @@ -4210,10 +5239,15 @@ "enabled": true, "dedup_key": "dhana_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "巨量财富", "社交网络强大" ], + "effects_en": [ + "Great wealth", + "Strong social network" + ], "logic": { "type": "dignity", "planet": { @@ -4235,10 +5269,15 @@ "enabled": true, "dedup_key": "dhana_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "稳定收入", "理财能力" ], + "effects_en": [ + "Stable income", + "Money-management skill" + ], "logic": { "type": "dignity", "planet": { @@ -4260,10 +5299,15 @@ "enabled": true, "dedup_key": "surya_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "领导力", "自我表达" ], + "effects_en": [ + "Leadership", + "Self-expression" + ], "logic": { "type": "in_houses", "planet": "Sun", @@ -4282,10 +5326,15 @@ "enabled": true, "dedup_key": "surya_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "权威地位", "政府关联" ], + "effects_en": [ + "Position of authority", + "Connection with government" + ], "logic": { "type": "in_houses", "planet": "Sun", @@ -4307,10 +5356,15 @@ "enabled": true, "dedup_key": "surya_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "婚姻显赫", "配偶强势" ], + "effects_en": [ + "Distinguished marriage", + "Strong-willed spouse" + ], "logic": { "type": "in_houses", "planet": "Sun", @@ -4329,10 +5383,15 @@ "enabled": true, "dedup_key": "chandra_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "情感丰富", "母性/关怀气质" ], + "effects_en": [ + "Emotionally rich", + "Nurturing, caring nature" + ], "logic": { "type": "in_houses", "planet": "Moon", @@ -4351,11 +5410,17 @@ "enabled": true, "dedup_key": "chandra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "智慧", "名声", "心理稳定" ], + "effects_en": [ + "Wisdom", + "Fame", + "Psychological stability" + ], "logic": { "type": "in_houses", "planet": "Moon", @@ -4376,10 +5441,15 @@ "enabled": true, "dedup_key": "chandra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "极强情感力量", "大众魅力" ], + "effects_en": [ + "Very strong emotional power", + "Popular appeal" + ], "logic": { "type": "dignity", "planet": "Moon", @@ -4396,10 +5466,15 @@ "enabled": true, "dedup_key": "putra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "杰出子女", "子女成就高" ], + "effects_en": [ + "Outstanding children", + "Highly accomplished children" + ], "logic": { "type": "dignity", "planet": { @@ -4421,10 +5496,15 @@ "enabled": true, "dedup_key": "putra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "子女智慧", "子女有宗教/哲学倾向" ], + "effects_en": [ + "Intelligent children", + "Children inclined to religion or philosophy" + ], "logic": { "type": "same_house", "a": "Jupiter", @@ -4446,10 +5526,15 @@ "enabled": true, "dedup_key": "putra_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "子女受其庇护", "祖先福报影响子女" ], + "effects_en": [ + "Children are protected by the native", + "Ancestral merit benefits the children" + ], "logic": { "type": "lord_in_house", "house": 9, @@ -4473,10 +5558,15 @@ "enabled": true, "dedup_key": "kalatra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "优质婚姻", "配偶杰出" ], + "effects_en": [ + "Good-quality marriage", + "Outstanding spouse" + ], "logic": { "type": "dignity", "planet": { @@ -4498,10 +5588,15 @@ "enabled": true, "dedup_key": "kalatra_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "婚姻稳定", "配偶有社会地位" ], + "effects_en": [ + "Stable marriage", + "Spouse of social standing" + ], "logic": { "type": "lord_in_house", "house": 7, @@ -4525,10 +5620,15 @@ "enabled": true, "dedup_key": "kalatra_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "婚姻幸福", "配偶有魅力" ], + "effects_en": [ + "Happy marriage", + "Attractive spouse" + ], "logic": { "type": "in_houses", "planet": "Venus", @@ -4552,10 +5652,15 @@ "enabled": true, "dedup_key": "mangal_dosha", "strength": "弱", + "strength_en": "weak", "effects": [ "婚姻延迟", "配偶关系紧张" ], + "effects_en": [ + "Delayed marriage", + "Strained relationship with spouse" + ], "logic": { "type": "in_houses", "planet": "Mars", @@ -4578,10 +5683,15 @@ "enabled": true, "dedup_key": "ayur_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "长寿", "慢病恢复力强" ], + "effects_en": [ + "Longevity", + "Good recovery from chronic illness" + ], "logic": { "type": "and", "conditions": [ @@ -4612,10 +5722,15 @@ "enabled": true, "dedup_key": "ayur_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "延寿", "智慧长寿" ], + "effects_en": [ + "Extended lifespan", + "Wisdom and longevity" + ], "logic": { "type": "in_houses", "planet": "Jupiter", @@ -4636,10 +5751,15 @@ "enabled": true, "dedup_key": "ayur_yoga", "strength": "中", + "strength_en": "moderate", "effects": [ "寿命稳定", "疾病抵抗力" ], + "effects_en": [ + "Stable longevity", + "Resistance to disease" + ], "logic": { "type": "lord_in_house", "house": 8, @@ -4662,11 +5782,17 @@ "category": "vidya", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "卓越学习能力", "学术成就", "语言表达力强" ], + "effects_en": [ + "Excellent learning ability", + "Academic achievement", + "Strong verbal expression" + ], "logic": { "type": "same_house", "a": "Jupiter", @@ -4682,10 +5808,15 @@ "category": "vidya", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "天赋才华", "创造力" ], + "effects_en": [ + "Innate talent", + "Creativity" + ], "logic": { "type": "dignity", "planet": { @@ -4704,10 +5835,15 @@ "category": "vidya", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "天才级智力", "超强记忆力" ], + "effects_en": [ + "Genius-level intellect", + "Exceptional memory" + ], "logic": { "type": "dignity", "planet": "Mercury", @@ -4723,10 +5859,15 @@ "category": "vidya", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "高等教育", "哲学洞察" ], + "effects_en": [ + "Higher education", + "Philosophical insight" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -4749,11 +5890,17 @@ "category": "shakti", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "政治权力", "社会地位", "命运之主与事业之主合一" ], + "effects_en": [ + "Political power", + "Social standing", + "Lords of fortune and career united" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -4776,10 +5923,15 @@ "category": "shakti", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "事业巅峰", "权威地位" ], + "effects_en": [ + "Career peak", + "Position of authority" + ], "logic": { "type": "dignity", "planet": { @@ -4798,10 +5950,15 @@ "category": "shakti", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "政府高层职位", "王者气质" ], + "effects_en": [ + "High government office", + "Regal bearing" + ], "logic": { "type": "same_house", "a": "Sun", @@ -4820,11 +5977,17 @@ "category": "karma", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "事业成功", "人脉资源强", "收入与社会地位同步提升" ], + "effects_en": [ + "Career success", + "Strong network of contacts", + "Income and status rise together" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -4847,10 +6010,15 @@ "category": "karma", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "慢而稳的事业成功", "专业化" ], + "effects_en": [ + "Slow but steady career success", + "Specialisation" + ], "logic": { "type": "same_house", "a": "Saturn", @@ -4869,10 +6037,15 @@ "category": "karma", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "军事/体育/工程领域成功", "行动力强" ], + "effects_en": [ + "Success in military, sports or engineering", + "Strong drive to act" + ], "logic": { "type": "same_house", "a": "Mars", @@ -4891,10 +6064,15 @@ "category": "ari", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "战胜对手", "竞争意识强" ], + "effects_en": [ + "Defeats rivals", + "Strongly competitive" + ], "logic": { "type": "dignity", "planet": { @@ -4913,10 +6091,15 @@ "category": "ari", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "敌人变朋友", "竞争中获利" ], + "effects_en": [ + "Enemies become friends", + "Gains through competition" + ], "logic": { "type": "lord_in_house", "house": 6, @@ -4934,10 +6117,15 @@ "category": "asha", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "愿望实现", "社交网络强大" ], + "effects_en": [ + "Desires fulfilled", + "Strong social network" + ], "logic": { "type": "dignity", "planet": { @@ -4956,10 +6144,15 @@ "category": "asha", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "愿望通过智慧实现", "子女/学生助力" ], + "effects_en": [ + "Desires fulfilled through intelligence", + "Help from children or students" + ], "logic": { "type": "in_houses", "planet": "Jupiter", @@ -4977,10 +6170,15 @@ "category": "asha", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "愿望通过地位实现", "社会影响力" ], + "effects_en": [ + "Desires fulfilled through status", + "Social influence" + ], "logic": { "type": "lord_in_house", "house": 11, @@ -5001,10 +6199,15 @@ "category": "moksha", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "灵性解脱倾向", "隐居/出世" ], + "effects_en": [ + "Inclination towards liberation", + "Seclusion or renunciation" + ], "logic": { "type": "dignity", "planet": { @@ -5023,10 +6226,15 @@ "category": "moksha", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "灵性觉醒", "前世解脱能量" ], + "effects_en": [ + "Spiritual awakening", + "Past-life momentum towards liberation" + ], "logic": { "type": "in_houses", "planet": "Ketu", @@ -5044,10 +6252,15 @@ "category": "moksha", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "终极解脱", "灵性智慧" ], + "effects_en": [ + "Final liberation (Moksha)", + "Spiritual wisdom" + ], "logic": { "type": "or", "conditions": [ @@ -5099,10 +6312,15 @@ "category": "aryama", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "强大贵人运", "祖先庇佑" ], + "effects_en": [ + "Powerful patronage", + "Ancestral blessings" + ], "logic": { "type": "dignity", "planet": { @@ -5121,10 +6339,15 @@ "category": "aryama", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "宗教/灵性贵人", "导师助力" ], + "effects_en": [ + "Religious or spiritual patrons", + "Help from a mentor" + ], "logic": { "type": "in_houses", "planet": "Jupiter", @@ -5142,10 +6365,15 @@ "category": "aryama", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "贵人带来社会地位", "命运助力明显" ], + "effects_en": [ + "Status through patrons", + "Marked help from fortune" + ], "logic": { "type": "lord_in_house", "house": 9, @@ -5166,11 +6394,17 @@ "category": "guru", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "卓越导师", "学生众多", "智慧传播" ], + "effects_en": [ + "Excellent teacher", + "Many students", + "Spreads wisdom" + ], "logic": { "type": "same_house", "a": "Jupiter", @@ -5189,11 +6423,17 @@ "category": "guru", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "教育成就", "母亲是导师", "房产与教育相关" ], + "effects_en": [ + "Educational achievement", + "Mother as teacher", + "Property linked with education" + ], "logic": { "type": "in_houses", "planet": "Jupiter", @@ -5211,10 +6451,15 @@ "category": "guru", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "灵性导师", "宗教权威" ], + "effects_en": [ + "Spiritual guide", + "Religious authority" + ], "logic": { "type": "in_houses", "planet": "Jupiter", @@ -5232,14 +6477,20 @@ "category": "nabhasa", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "全方位成功", "四通八达" ], + "effects_en": [ + "Success on all fronts", + "Well connected in every direction" + ], "logic": { "type": "custom", "expr": "len(set(ctx.house_of(p) for p in ctx.planets if ctx.house_of(p) and ctx.house_of(p) in [1,4,7,10]))>=3", - "combo_template": "行星集中在角宫(Chakra 轮盘)" + "combo_template": "行星集中在角宫(Chakra 轮盘)", + "combo_template_en": "Planets concentrated in the Kendras (Chakra)" } }, { @@ -5251,14 +6502,20 @@ "category": "nabhasa", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "快速成功", "移动/旅行相关" ], + "effects_en": [ + "Quick success", + "Related to movement and travel" + ], "logic": { "type": "custom", "expr": "# PyJHora/BVR-83 Vihaga/Vihanga: ALL classical planets (Sun-Saturn) occupy only 4th and 10th houses from Lagna.\nhouses = {ctx.house_of(p) for p in [\"Sun\",\"Moon\",\"Mars\",\"Mercury\",\"Jupiter\",\"Venus\",\"Saturn\"]}\nallowed = {4, 10}\nhouses.issubset(allowed) and len(houses) >= 1\n", - "combo_template": "行星集中在三方宫(Vihaga 飞鸟)" + "combo_template": "行星集中在三方宫(Vihaga 飞鸟)", + "combo_template_en": "Planets concentrated in the Trikonas (Vihaga)" }, "accuracy_note": "v6.0.48: fixed from wrong Sringaataka-like pattern (3+ in 1,5,9) to correct BVR-83 Vihaga (ALL planets in 4th+10th only)" }, @@ -5271,14 +6528,20 @@ "category": "nabhasa", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "农业/土地相关成功", "稳定财富" ], + "effects_en": [ + "Success in agriculture or land", + "Stable wealth" + ], "logic": { "type": "custom", "expr": "len(set(ctx.house_of(p) for p in ctx.planets if ctx.house_of(p) and ctx.house_of(p) in [2,6,10]))>=3", - "combo_template": "行星集中在特定宫位(Hala 犁)" + "combo_template": "行星集中在特定宫位(Hala 犁)", + "combo_template_en": "Planets concentrated in specific houses (Hala)" } }, { @@ -5290,14 +6553,20 @@ "category": "nabhasa", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "坚不可摧的成功", "强大意志力" ], + "effects_en": [ + "Unshakeable success", + "Powerful willpower" + ], "logic": { "type": "custom", "expr": "len(set(ctx.house_of(p) for p in ctx.planets if ctx.house_of(p) and ctx.house_of(p) in [4,8,12]))>=3", - "combo_template": "行星集中在特定宫位(Vajra 金刚)" + "combo_template": "行星集中在特定宫位(Vajra 金刚)", + "combo_template_en": "Planets concentrated in specific houses (Vajra)" } }, { @@ -5309,14 +6578,20 @@ "category": "nabhasa", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "稳定祭祀/灵性地位", "受敬重" ], + "effects_en": [ + "Stable ritual or spiritual position", + "Held in esteem" + ], "logic": { "type": "custom", "expr": "len(set(ctx.house_of(p) for p in ctx.planets if ctx.house_of(p) and ctx.house_of(p) in [3,7,11]))>=3", - "combo_template": "行星集中在特定宫位(Yupa 拴马柱)" + "combo_template": "行星集中在特定宫位(Yupa 拴马柱)", + "combo_template_en": "Planets concentrated in specific houses (Yupa)" } }, { @@ -5328,11 +6603,17 @@ "category": "auspicious", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "极高智慧", "创造力", "宗教权威" ], + "effects_en": [ + "Very high wisdom", + "Creativity", + "Religious authority" + ], "logic": { "type": "and", "conditions": [ @@ -5367,11 +6648,17 @@ "enabled": false, "accuracy_note": "Disabled: current logic (10th lord strong in Kendra) does NOT match BPHS definition. BPHS requires 9th and 10th lords in 2nd house in D1 plus specific D9 conditions. Needs rewrite.", "strength": "强", + "strength_en": "strong", "effects": [ "全方位保护", "繁荣", "持久成功" ], + "effects_en": [ + "All-round protection", + "Prosperity", + "Lasting success" + ], "logic": { "type": "and", "conditions": [ @@ -5405,11 +6692,17 @@ "category": "auspicious", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "解脱智慧", "超越生死", "灵性洞察" ], + "effects_en": [ + "Wisdom of liberation", + "Transcends life and death", + "Spiritual insight" + ], "logic": { "type": "and", "conditions": [ @@ -5441,10 +6734,15 @@ "enabled": false, "accuracy_note": "Disabled: duplicate of chandra_mangala_same (BVR-6). Same logic: same_house(Mars, Moon).", "strength": "中", + "strength_en": "moderate", "effects": [ "情感驱动的行动力", "房地产投资直觉" ], + "effects_en": [ + "Emotionally driven action", + "Instinct for real-estate investment" + ], "logic": { "type": "same_house", "a": "Moon", @@ -5460,10 +6758,15 @@ "category": "conjunction", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "情感智慧", "教育/育儿天赋" ], + "effects_en": [ + "Emotional intelligence", + "Gift for teaching or parenting" + ], "logic": { "type": "same_house", "a": "Jupiter", @@ -5479,10 +6782,15 @@ "category": "conjunction", "enabled": true, "strength": "中", + "strength_en": "moderate", "effects": [ "艺术创造力", "浪漫魅力" ], + "effects_en": [ + "Artistic creativity", + "Romantic charm" + ], "logic": { "type": "same_house", "a": "Venus", @@ -5498,10 +6806,15 @@ "category": "conjunction", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "智慧沟通", "教育/出版天赋" ], + "effects_en": [ + "Intelligent communication", + "Gift for education or publishing" + ], "logic": { "type": "same_house", "a": "Mercury", @@ -5517,10 +6830,15 @@ "category": "conjunction", "enabled": true, "strength": "弱", + "strength_en": "weak", "effects": [ "灵性矛盾", "非传统思想" ], + "effects_en": [ + "Spiritual contradictions", + "Unconventional thinking" + ], "logic": { "type": "same_house", "a": "Jupiter", @@ -5536,10 +6854,15 @@ "category": "durbhaga", "enabled": true, "strength": "弱", + "strength_en": "weak", "effects": [ "财务不稳定", "储蓄困难" ], + "effects_en": [ + "Financial instability", + "Difficulty saving" + ], "logic": { "type": "lord_in_house", "house": 2, @@ -5559,10 +6882,15 @@ "category": "durbhaga", "enabled": true, "strength": "弱", + "strength_en": "weak", "effects": [ "收入不稳定", "人脉关系淡薄" ], + "effects_en": [ + "Unstable income", + "Thin social connections" + ], "logic": { "type": "lord_in_house", "house": 11, @@ -5582,10 +6910,15 @@ "category": "durbhaga", "enabled": true, "strength": "弱", + "strength_en": "weak", "effects": [ "健康挑战", "慢性病倾向" ], + "effects_en": [ + "Health challenges", + "Tendency to chronic illness" + ], "logic": { "type": "and", "conditions": [ @@ -5613,14 +6946,20 @@ "category": "varga", "enabled": true, "strength": "强", + "strength_en": "strong", "effects": [ "星盘力量翻倍", "命运高度一致" ], + "effects_en": [ + "Chart strength doubled", + "Strongly aligned fortune" + ], "logic": { "type": "custom", "expr": "ctx.is_own_sign(ctx.lord_of_house(1)) or ctx.is_exalted(ctx.lord_of_house(1))", - "combo_template": "命主在本命盘强(分盘瑜伽近似判断)" + "combo_template": "命主在本命盘强(分盘瑜伽近似判断)", + "combo_template_en": "Lagna lord strong in the natal chart (approximate divisional-chart yoga test)" } }, { @@ -5633,10 +6972,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "政治权力", "地产/母性资源" ], + "effects_en": [ + "Political power", + "Property and maternal resources" + ], "logic": { "type": "and", "conditions": [ @@ -5675,10 +7019,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "政治才华", "事业通过智慧实现" ], + "effects_en": [ + "Political talent", + "Career achieved through intelligence" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -5704,10 +7053,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "政治地产事业", "母亲助力事业" ], + "effects_en": [ + "Career in politics or real estate", + "Mother helps the career" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -5733,10 +7087,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "命运与人脉合一", "贵人带来收入" ], + "effects_en": [ + "Fortune joined with network", + "Income through patrons" + ], "logic": { "type": "lords_relation", "lord_a": { @@ -5762,10 +7121,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "祖先庇佑", "宗教政治地位" ], + "effects_en": [ + "Ancestral blessings", + "Religious or political standing" + ], "logic": { "type": "lord_in_house", "house": 1, @@ -5786,10 +7150,15 @@ "enabled": true, "dedup_key": "raja_yoga", "strength": "强", + "strength_en": "strong", "effects": [ "才华变事业", "创造力变现" ], + "effects_en": [ + "Talent becomes career", + "Creativity turned into income" + ], "logic": { "type": "lord_in_house", "house": 5, @@ -5831,7 +7200,12 @@ "行星集中于角宫", "形成安座格局" ], + "effects_en": [ + "Planets concentrated in the Kendras", + "Forms a seated (stable) pattern" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -5865,7 +7239,12 @@ "行星集中于火象宫位", "形成花瓣格局" ], + "effects_en": [ + "Planets concentrated in fire signs", + "Forms a petal pattern" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -5900,7 +7279,12 @@ "行星集中于固定宫", "形成花环格局" ], + "effects_en": [ + "Planets concentrated in fixed signs", + "Forms a garland pattern" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -5935,7 +7319,12 @@ "行星集中于变动宫", "形成蛇形格局" ], + "effects_en": [ + "Planets concentrated in dual signs", + "Forms a serpent pattern" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -5976,7 +7365,14 @@ "艺术天赋", "物质享受" ], + "effects_en": [ + "Wealth", + "Beauty", + "Artistic gift", + "Material comforts" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6018,7 +7414,14 @@ "社会地位", "受人尊敬" ], + "effects_en": [ + "Wisdom", + "Wealth", + "Social standing", + "Respected by others" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6073,7 +7476,14 @@ "影响力", "社会地位" ], + "effects_en": [ + "High position", + "Wealth", + "Influence", + "Social standing" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6110,7 +7520,13 @@ "商业成功", "物质丰裕" ], + "effects_en": [ + "Wealth accumulation", + "Business success", + "Material plenty" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6135,7 +7551,13 @@ "收入稳定", "家庭资产" ], + "effects_en": [ + "Wealth", + "Stable income", + "Family assets" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6178,7 +7600,13 @@ "婚姻幸福", "家庭和睦" ], + "effects_en": [ + "Virtuous spouse", + "Happy marriage", + "Family harmony" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6203,7 +7631,13 @@ "配偶支持", "家庭和谐" ], + "effects_en": [ + "Happy marriage", + "Supportive spouse", + "Harmonious family" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6243,7 +7677,13 @@ "子女有出息", "后代繁荣" ], + "effects_en": [ + "Thriving descendants", + "Children do well", + "Prosperous descendants" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6283,7 +7723,13 @@ "多子多福", "后代昌盛" ], + "effects_en": [ + "Strong bond with children", + "Many children, many blessings", + "Flourishing lineage" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6322,7 +7768,13 @@ "后代有成就", "家族延续" ], + "effects_en": [ + "Virtuous children", + "Accomplished descendants", + "Continuation of the family line" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6362,7 +7814,13 @@ "精力充沛", "长寿" ], + "effects_en": [ + "Good physical health", + "Energetic", + "Longevity" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6400,7 +7858,13 @@ "少病少灾", "活力充沛" ], + "effects_en": [ + "Good physical health", + "Few illnesses or mishaps", + "Full of vitality" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6469,7 +7933,14 @@ "辩才无碍", "智慧超群" ], + "effects_en": [ + "Broad learning", + "Artistic talent", + "Fluent in debate", + "Outstanding wisdom" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6498,7 +7969,14 @@ "沟通能力", "学术成就" ], + "effects_en": [ + "Wisdom", + "Learning", + "Communication skills", + "Academic achievement" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6539,7 +8017,13 @@ "知识渊博", "教育成功" ], + "effects_en": [ + "Academic success", + "Broad knowledge", + "Educational success" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6586,7 +8070,14 @@ "智慧", "财富" ], + "effects_en": [ + "High position", + "Respected by others", + "Wisdom", + "Wealth" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6630,7 +8121,13 @@ "战胜对手", "名声显赫" ], + "effects_en": [ + "Career success", + "Defeats rivals", + "Illustrious fame" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6677,7 +8174,14 @@ "社会地位", "受人敬仰" ], + "effects_en": [ + "Power", + "Leadership", + "Social standing", + "Admired by others" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6722,7 +8226,14 @@ "智慧", "慈悲" ], + "effects_en": [ + "Spiritual strength", + "Inner peace", + "Wisdom", + "Compassion" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6767,7 +8278,14 @@ "精神修行", "内在力量" ], + "effects_en": [ + "Willpower", + "Austerity", + "Spiritual practice", + "Inner strength" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6812,7 +8330,14 @@ "学识", "精神导师" ], + "effects_en": [ + "Creativity", + "Wisdom", + "Learning", + "Spiritual teacher" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6854,7 +8379,14 @@ "智慧", "长寿" ], + "effects_en": [ + "High position", + "Respected by others", + "Wisdom", + "Longevity" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6896,7 +8428,14 @@ "社会地位", "领导力" ], + "effects_en": [ + "Power", + "Protection", + "Social standing", + "Leadership" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6933,7 +8472,14 @@ "家庭导向", "安全感" ], + "effects_en": [ + "Stability", + "Conservative", + "Family-oriented", + "Sense of security" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -6971,7 +8517,14 @@ "海外", "不稳定" ], + "effects_en": [ + "Travel", + "Change", + "Foreign lands", + "Instability" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7008,7 +8561,14 @@ "积累", "务实" ], + "effects_en": [ + "Industrious", + "Thrifty", + "Accumulation", + "Practical" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7046,7 +8606,14 @@ "家庭", "传统" ], + "effects_en": [ + "Wealth", + "Stability", + "Family", + "Tradition" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7083,7 +8650,14 @@ "社交", "多才多艺" ], + "effects_en": [ + "Freedom", + "Travel", + "Social life", + "Versatile" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7128,7 +8702,14 @@ "财务波动", "家庭问题" ], + "effects_en": [ + "Instability", + "Ups and downs", + "Financial fluctuation", + "Family problems" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7174,7 +8755,14 @@ "孤独", "精神痛苦" ], + "effects_en": [ + "Severe", + "Critical", + "Loneliness", + "Mental suffering" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7211,7 +8799,14 @@ "传统", "精神追求" ], + "effects_en": [ + "Religion", + "Ritual worship", + "Tradition", + "Spiritual pursuit" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7255,7 +8850,13 @@ "缺乏洞察力", "判断失误" ], + "effects_en": [ + "Vision problems", + "Lack of insight", + "Errors of judgement" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7299,7 +8900,13 @@ "寿命挑战", "精神压力" ], + "effects_en": [ + "Hidden health risks", + "Challenges to longevity", + "Mental stress" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7325,7 +8932,14 @@ "情感孤立", "社交困难" ], + "effects_en": [ + "Loneliness", + "Lack of support", + "Emotional isolation", + "Social difficulties" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7369,7 +8983,13 @@ "人际关系差", "名声受损" ], + "effects_en": [ + "Malicious speech", + "Poor relationships", + "Damaged reputation" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7414,7 +9034,14 @@ "阴谋", "信任危机" ], + "effects_en": [ + "Fraud", + "Dishonesty", + "Intrigue", + "Crisis of trust" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7457,7 +9084,14 @@ "智慧", "解脱" ], + "effects_en": [ + "Spiritual strength", + "Inner peace", + "Wisdom", + "Liberation" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7504,7 +9138,14 @@ "维持", "和谐" ], + "effects_en": [ + "Protection", + "Compassion", + "Preservation", + "Harmony" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7558,7 +9199,14 @@ "宇宙和谐", "终极智慧" ], + "effects_en": [ + "Spiritual fulfilment", + "Trinity", + "Cosmic harmony", + "Ultimate wisdom" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7597,7 +9245,13 @@ "兄弟姐妹有成就", "家族兴旺" ], + "effects_en": [ + "Harmony among siblings", + "Accomplished siblings", + "Thriving family" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7641,7 +9295,13 @@ "独子", "后代有限" ], + "effects_en": [ + "Few children", + "An only son", + "Limited progeny" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7684,7 +9344,14 @@ "竞争力", "行动力" ], + "effects_en": [ + "Courage", + "Military ability", + "Competitiveness", + "Drive to act" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7725,7 +9392,14 @@ "领导才能", "勇气" ], + "effects_en": [ + "Career success", + "Competitiveness", + "Leadership ability", + "Courage" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7764,7 +9438,14 @@ "责任感", "社会地位" ], + "effects_en": [ + "Career achievement", + "Hard work", + "Sense of responsibility", + "Social standing" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7801,7 +9482,14 @@ "变动", "不安定" ], + "effects_en": [ + "Frequent travel", + "Foreign lands", + "Change", + "Unsettled" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7845,7 +9533,13 @@ "交通便利", "物质享受" ], + "effects_en": [ + "Owns vehicles", + "Ease of transport", + "Material comforts" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7889,7 +9583,13 @@ "慢性疾病", "意外事故" ], + "effects_en": [ + "Health problems", + "Chronic disease", + "Accidents" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7931,7 +9631,13 @@ "免疫力低", "身体虚弱" ], + "effects_en": [ + "Wasting illness", + "Low immunity", + "Physical weakness" + ], "strength": "弱", + "strength_en": "weak", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7956,7 +9662,13 @@ "双重影响", "复杂性格" ], + "effects_en": [ + "Planets flank the Moon", + "Twofold influence", + "Complex personality" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -7982,7 +9694,14 @@ "积极", "行动力" ], + "effects_en": [ + "Planets behind the Sun", + "Outgoing", + "Proactive", + "Drive to act" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8008,7 +9727,14 @@ "反思", "保守" ], + "effects_en": [ + "Planets ahead of the Sun", + "Introverted", + "Reflective", + "Conservative" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8036,7 +9762,13 @@ "专业能力", "学术成就" ], + "effects_en": [ + "Highly skilled", + "Professional competence", + "Academic achievement" + ], "strength": "强", + "strength_en": "strong", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8062,7 +9794,14 @@ "资源丰富", "稳定" ], + "effects_en": [ + "Planets on both sides of the Moon", + "Support system", + "Resourceful", + "Stability" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8088,7 +9827,14 @@ "独立", "进取" ], + "effects_en": [ + "Planets behind the Moon", + "Self-reliant", + "Independent", + "Enterprising" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8114,7 +9860,14 @@ "贵人运", "支持" ], + "effects_en": [ + "Planets ahead of the Moon", + "Helped by others", + "Patronage", + "Support" + ], "strength": "中", + "strength_en": "moderate", "enabled": false, "accuracy_note": "v6.0.31 quarantine: legacy approximate op-schema rule; disabled until replaced by a high-confidence bvr_* rule." }, @@ -8135,16 +9888,24 @@ "exclude": [ "Moon" ], - "combo_template": "{planets}在太阳的第2宫" + "combo_template": "{planets}在太阳的第2宫", + "combo_template_en": "{planets} in the 2nd from the Sun" }, "effects": [ "太阳后方有行星支持", "表达力与行动力增强", "自我驱动力较强" ], + "effects_en": [ + "Planets behind the Sun give support", + "Stronger expression and drive", + "Fairly strong self-motivation" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "vesi_precise" }, { @@ -8164,16 +9925,24 @@ "exclude": [ "Moon" ], - "combo_template": "{planets}在太阳的第12宫" + "combo_template": "{planets}在太阳的第12宫", + "combo_template_en": "{planets} in the 12th from the Sun" }, "effects": [ "太阳前方有行星铺垫", "内在准备力强", "重视计划与隐性资源" ], + "effects_en": [ + "Planets ahead of the Sun prepare the way", + "Strong inner preparation", + "Values planning and hidden resources" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "vosi_precise", "source_reference": "BVR-17: Planet(s) other than Moon in 12th from Sun", "bvr_chapter": "Chapter 2" @@ -8198,7 +9967,8 @@ "exclude": [ "Moon" ], - "combo_template": "{planets}在太阳的第2宫" + "combo_template": "{planets}在太阳的第2宫", + "combo_template_en": "{planets} in the 2nd from the Sun" }, { "type": "has_planet_in_house_from", @@ -8210,7 +9980,8 @@ "exclude": [ "Moon" ], - "combo_template": "{planets}在太阳的第12宫" + "combo_template": "{planets}在太阳的第12宫", + "combo_template_en": "{planets} in the 12th from the Sun" } ] }, @@ -8219,9 +9990,16 @@ "自我表达较完整", "行动前后资源较足" ], + "effects_en": [ + "Planets on both sides of the Sun give support", + "Fairly complete self-expression", + "Adequate resources around each undertaking" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "ubhayachara_precise" }, { @@ -8234,16 +10012,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-2 Sunapha: target 2nd from Moon has at least one planet and Sun is absent.\nmoon_h = house_of('Moon')\nif moon_h is None:\n False\nelse:\n target = ((moon_h - 1 + 1) % 12) + 1\n ps = occupants(target)\n bool(ps) and 'Sun' not in ps\n", - "combo_template": "{planets}在月亮的第2宫" + "combo_template": "{planets}在月亮的第2宫", + "combo_template_en": "{planets} in the 2nd from the Moon" }, "effects": [ "自力更生", "资源积累能力", "心智有后续支撑" ], + "effects_en": [ + "Self-reliant", + "Ability to accumulate resources", + "The mind has follow-through" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "sunapha_precise", "source_reference": "BVR-2: Planet(s) other than Sun in 2nd from Moon", "bvr_chapter": "Chapter 1" @@ -8258,16 +10044,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-3 Anapha: target 12th from Moon has at least one planet and Sun is absent.\nmoon_h = house_of('Moon')\nif moon_h is None:\n False\nelse:\n target = ((moon_h - 1 + 11) % 12) + 1\n ps = occupants(target)\n bool(ps) and 'Sun' not in ps\n", - "combo_template": "{planets}在月亮的第12宫" + "combo_template": "{planets}在月亮的第12宫", + "combo_template_en": "{planets} in the 12th from the Moon" }, "effects": [ "心智有背景支持", "贵人或隐性资源", "独处中成长" ], + "effects_en": [ + "The mind has background support", + "Patrons or hidden resources", + "Grows in solitude" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "anapha_precise", "source_reference": "BVR-3: Planet(s) other than Moon in 12th from Moon", "bvr_chapter": "Chapter 1" @@ -8289,9 +10083,16 @@ "心智稳定性增强", "资源与适应力较强" ], + "effects_en": [ + "Support on both sides of the Moon", + "Greater mental stability", + "Good resources and adaptability" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "duradhara_precise" }, { @@ -8326,9 +10127,16 @@ "名誉与舒适度提高", "人缘与社会支持强" ], + "effects_en": [ + "Benefics occupy three Kendras", + "Greater honour and comfort", + "Well liked, strong social support" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "maalaa" }, { @@ -8362,9 +10170,15 @@ "同 Maalaa Yoga:吉星角宫支撑", "生活质量与声誉提升" ], + "effects_en": [ + "Same as Maalaa Yoga: benefics support the Kendras", + "Better quality of life and reputation" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "maalaa" }, { @@ -8399,9 +10213,16 @@ "压力与竞争显著", "人生推进常伴随阻力" ], + "effects_en": [ + "Malefics occupy three Kendras", + "Marked pressure and competition", + "Progress often meets resistance" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "sarpa_dala" }, { @@ -8432,16 +10253,24 @@ 10 ] ], - "combo_template": "七曜只占据相邻角宫组合:{houses}" + "combo_template": "七曜只占据相邻角宫组合:{houses}", + "combo_template_en": "Seven planets occupy only adjacent Kendras: {houses}" }, "effects": [ "行星集中于两个相邻角宫", "人生方向集中", "行动与稳定主题强" ], + "effects_en": [ + "Planets concentrated in two adjacent Kendras", + "Focused life direction", + "Strong themes of action and stability" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_082_sakata_aakriti", @@ -8457,16 +10286,24 @@ 1, 7 ], - "combo_template": "七曜只占据1/7宫轴线" + "combo_template": "七曜只占据1/7宫轴线", + "combo_template_en": "Seven planets occupy only the 1/7 axis" }, "effects": [ "行星集中在1/7轴线", "自我与关系主题强烈", "人生起伏感较明显" ], + "effects_en": [ + "Planets concentrated on the 1/7 axis", + "Strong themes of self and relationships", + "Noticeable ups and downs in life" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "sakata_aakriti" }, { @@ -8483,16 +10320,24 @@ 4, 10 ], - "combo_template": "七曜只占据4/10宫轴线" + "combo_template": "七曜只占据4/10宫轴线", + "combo_template_en": "Seven planets occupy only the 4/10 axis" }, "effects": [ "家庭与事业轴线突出", "迁移/职业方向强", "生活重心两极化" ], + "effects_en": [ + "Prominent home–career axis", + "Strong themes of relocation and vocation", + "Life's focus is polarised" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "vihanga" }, { @@ -8532,9 +10377,16 @@ "外在人际较顺、内外责任压力强", "刚柔并存" ], + "effects_en": [ + "Benefics in 1/7, malefics in 4/10", + "Smooth dealings with others, heavy duties at home and work", + "Firmness and gentleness together" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "vajra_precise" }, { @@ -8574,9 +10426,16 @@ "竞争中获得支撑", "内在资源与事业支持较好" ], + "effects_en": [ + "Malefics in 1/7, benefics in 4/10", + "Finds support amid competition", + "Good inner resources and career support" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "yava_precise" }, { @@ -8594,16 +10453,24 @@ 5, 9 ], - "combo_template": "七曜只占据1/5/9三方宫" + "combo_template": "七曜只占据1/5/9三方宫", + "combo_template_en": "Seven planets occupy only the 1/5/9 Trikonas" }, "effects": [ "行星集中三方宫", "才华、信念与命运主题强", "创造力与精神性较强" ], + "effects_en": [ + "Planets concentrated in the Trikonas", + "Strong themes of talent, faith and fortune", + "Fairly strong creativity and spirituality" + ], "strength": "强", + "strength_en": "strong", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_087_hala", @@ -8632,15 +10499,22 @@ 12 ] ], - "combo_template": "七曜只占据互为三方但非1/5/9的组合:{houses}" + "combo_template": "七曜只占据互为三方但非1/5/9的组合:{houses}", + "combo_template_en": "Seven planets occupy only mutual trines other than 1/5/9: {houses}" }, "effects": [ "行星集中于互为三方的实务轴", "劳动、组织与现实推进主题强" ], + "effects_en": [ + "Planets concentrated on a practical trine axis", + "Strong themes of work, organisation and practical progress" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_088_kamala", @@ -8658,16 +10532,24 @@ 7, 10 ], - "combo_template": "七曜全部落入角宫" + "combo_template": "七曜全部落入角宫", + "combo_template_en": "All seven planets in Kendras" }, "effects": [ "七曜均在角宫", "人生显化力强", "外在事件密集且影响明显" ], + "effects_en": [ + "All seven planets in Kendras", + "Strong power to manifest in life", + "Dense outer events with visible impact" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "source_reference": "BVR-13: 10th house/ lord with only benefics", "bvr_chapter": "Chapter 2" }, @@ -8695,16 +10577,24 @@ 12 ] ], - "combo_template": "七曜全部落入Panapara或Apoklima宫:{houses}" + "combo_template": "七曜全部落入Panapara或Apoklima宫:{houses}", + "combo_template_en": "All seven planets in Panapara or Apoklima houses: {houses}" }, "effects": [ "行星集中于续宫或果宫", "资源积累/适应环境主题强", "人生节奏较非线性" ], + "effects_en": [ + "Planets concentrated in Panapara or Apoklima houses", + "Strong themes of accumulation and adaptation", + "Fairly non-linear life rhythm" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_071_yoopa_precise", @@ -8722,15 +10612,22 @@ 3, 4 ], - "combo_template": "七曜全部落入1-4宫" + "combo_template": "七曜全部落入1-4宫", + "combo_template_en": "All seven planets in houses 1–4" }, "effects": [ "行星集中于生命早期与基础宫位", "重视家庭、学习与根基" ], + "effects_en": [ + "Planets concentrated in the early, foundational houses", + "Values family, learning and roots" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "yoopa_precise" }, { @@ -8749,15 +10646,22 @@ 6, 7 ], - "combo_template": "七曜全部落入4-7宫" + "combo_template": "七曜全部落入4-7宫", + "combo_template_en": "All seven planets in houses 4–7" }, "effects": [ "家庭、创造、工作与关系轴线突出", "人生重心偏向互动与服务" ], + "effects_en": [ + "Home, creativity, work and relationship houses prominent", + "Life centres on interaction and service" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_072_ishu", @@ -8775,15 +10679,22 @@ 6, 7 ], - "combo_template": "七曜全部落入4-7宫" + "combo_template": "七曜全部落入4-7宫", + "combo_template_en": "All seven planets in houses 4–7" }, "effects": [ "同 Sara Yoga:行动目标集中", "关系和现实事务牵引强" ], + "effects_en": [ + "Same as Sara Yoga: focused aims of action", + "Strong pull from relationships and practical affairs" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "sara_ishu" }, { @@ -8802,15 +10713,22 @@ 9, 10 ], - "combo_template": "七曜全部落入7-10宫" + "combo_template": "七曜全部落入7-10宫", + "combo_template_en": "All seven planets in houses 7–10" }, "effects": [ "关系、转化、信念与事业宫位集中", "社会行动力强" ], + "effects_en": [ + "Relationship, transformation, faith and career houses concentrated", + "Strong social drive" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_074_danda", @@ -8828,15 +10746,22 @@ 12, 1 ], - "combo_template": "七曜全部落入10-12与1宫" + "combo_template": "七曜全部落入10-12与1宫", + "combo_template_en": "All seven planets in houses 10–12 and 1" }, "effects": [ "事业、社群、隐性消耗与自我主题集中", "责任感与压力并存" ], + "effects_en": [ + "Career, community, hidden expense and self themes concentrated", + "Responsibility alongside pressure" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_075_naukaa_precise", @@ -8848,15 +10773,22 @@ "logic": { "type": "custom", "expr": "all(house_of(p) in [1,2,3,4,5,6,7] for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn']) and all(len([p for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn'] if house_of(p)==h])>0 for h in [1,2,3,4,5,6,7])", - "combo_template": "七曜分别占据从命宫起连续七宫" + "combo_template": "七曜分别占据从命宫起连续七宫", + "combo_template_en": "Seven planets occupy seven consecutive houses from the Lagna" }, "effects": [ "七曜覆盖命宫起连续七宫", "人生像船行水面:移动、适应、串联能力强" ], + "effects_en": [ + "Seven planets fill seven consecutive houses from the Lagna", + "Life like a boat on water: mobile, adaptable, good at connecting" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "naukaa_precise" }, { @@ -8869,15 +10801,22 @@ "logic": { "type": "custom", "expr": "all(house_of(p) in [4,5,6,7,8,9,10] for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn']) and all(len([p for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn'] if house_of(p)==h])>0 for h in [4,5,6,7,8,9,10])", - "combo_template": "七曜分别占据从4宫起连续七宫" + "combo_template": "七曜分别占据从4宫起连续七宫", + "combo_template_en": "Seven planets occupy seven consecutive houses from the 4th" }, "effects": [ "七曜覆盖4宫起连续七宫", "防御、结构、家族与社会位置主题强" ], + "effects_en": [ + "Seven planets fill seven consecutive houses from the 4th", + "Strong themes of defence, structure, family and social position" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "koota_precise" }, { @@ -8890,15 +10829,22 @@ "logic": { "type": "custom", "expr": "all(house_of(p) in [7,8,9,10,11,12,1] for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn']) and all(len([p for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn'] if house_of(p)==h])>0 for h in [7,8,9,10,11,12,1])", - "combo_template": "七曜分别占据从7宫起连续七宫" + "combo_template": "七曜分别占据从7宫起连续七宫", + "combo_template_en": "Seven planets occupy seven consecutive houses from the 7th" }, "effects": [ "七曜覆盖7宫起连续七宫", "关系、公众、远方与事业主题强" ], + "effects_en": [ + "Seven planets fill seven consecutive houses from the 7th", + "Strong themes of relationships, the public, distant places and career" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "chatra_precise" }, { @@ -8911,15 +10857,22 @@ "logic": { "type": "custom", "expr": "all(house_of(p) in [10,11,12,1,2,3,4] for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn']) and all(len([p for p in ['Sun','Moon','Mars','Mercury','Jupiter','Venus','Saturn'] if house_of(p)==h])>0 for h in [10,11,12,1,2,3,4])", - "combo_template": "七曜分别占据从10宫起连续七宫" + "combo_template": "七曜分别占据从10宫起连续七宫", + "combo_template_en": "Seven planets occupy seven consecutive houses from the 10th" }, "effects": [ "七曜覆盖10宫起连续七宫", "事业拉弓、目标推进与公众行动力强" ], + "effects_en": [ + "Seven planets fill seven consecutive houses from the 10th", + "Career drawn like a bow: strong goal pursuit and public action" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "chaapa_precise" }, { @@ -8932,15 +10885,22 @@ "logic": { "type": "custom", "expr": "all(house_of(lord(h)) in [9,10,11] for h in [9,10,11] if lord(h) in planets_list())", - "combo_template": "9/10/11宫主形成幸运与事业收益链" + "combo_template": "9/10/11宫主形成幸运与事业收益链", + "combo_template_en": "9th/10th/11th lords form a chain of fortune, career and gains" }, "effects": [ "幸运、事业与收益宫主形成连续支撑", "贵人、事业与收入联动" ], + "effects_en": [ + "Lords of fortune, career and gains support one another", + "Patrons, career and income linked" + ], "strength": "强", + "strength_en": "strong", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_dhana_malika", @@ -8952,15 +10912,22 @@ "logic": { "type": "custom", "expr": "all(house_of(lord(h)) in [2,5,9,11] for h in [2,5,9,11] if lord(h) in planets_list())", - "combo_template": "2/5/9/11宫主形成财富链" + "combo_template": "2/5/9/11宫主形成财富链", + "combo_template_en": "2nd/5th/9th/11th lords form a wealth chain" }, "effects": [ "财富宫、才华宫、幸运宫、收益宫主互相支撑", "财富积累力增强" ], + "effects_en": [ + "Lords of the 2nd, 5th, 9th and 11th support one another", + "Greater capacity to accumulate wealth" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" }, @@ -8974,15 +10941,22 @@ "logic": { "type": "custom", "expr": "all(house_of(lord(h)) in [1,2,3,4] for h in [1,2,3,4] if lord(h) in planets_list())", - "combo_template": "1-4宫主形成命宫基础链" + "combo_template": "1-4宫主形成命宫基础链", + "combo_template_en": "Lords of houses 1–4 form a foundation chain" }, "effects": [ "自我、财富、努力、根基彼此支撑", "基础发展稳定" ], + "effects_en": [ + "Self, wealth, effort and roots support one another", + "Stable foundations" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine." }, { "id": "bvr_karma_malika_precise", @@ -8994,15 +10968,22 @@ "logic": { "type": "custom", "expr": "all(house_of(lord(h)) in [10,11,12,1] for h in [10,11,12,1] if lord(h) in planets_list())", - "combo_template": "10/11/12/1宫主形成事业闭环" + "combo_template": "10/11/12/1宫主形成事业闭环", + "combo_template_en": "10th/11th/12th/1st lords form a closed career loop" }, "effects": [ "事业、收益、远方/隐性成本与自我形成闭环", "职业使命感强" ], + "effects_en": [ + "Career, gains, distant places or hidden costs, and self form a closed loop", + "Strong sense of vocation" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman,且可由当前 Yoga 引擎结构化条件表达。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman and expressible as structured conditions in the current yoga engine.", "dedup_key": "karma_malika_precise" }, { @@ -9015,16 +10996,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-13 Amala Yoga: any natural benefic in 10th from Lagna or Moon.\n# Source parity: PyJHora natural benefics are Jupiter, Venus, plus Mercury only if alone or with Jupiter/Venus.\nmoon_h = house_of('Moon')\nmoon_10 = ((moon_h - 1 + 9) % 12) + 1 if moon_h else None\nany(house_of(b) in [10, moon_10] for b in pyjhora_natural_benefics())\n", - "combo_template": "第10宫只有吉星" + "combo_template": "第10宫只有吉星", + "combo_template_en": "Only benefics in the 10th house" }, "effects": [ "品德高尚", "名声良好", "事业顺利" ], + "effects_en": [ + "Noble character", + "Good reputation", + "Smooth career" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman.", "source_reference": "BVR-13: 10th house/ lord with only benefics", "bvr_chapter": "Chapter 2" }, @@ -9038,16 +11027,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-108: Lagna lord, Jupiter, OR Venus should occupy a quadrant.\nasc_lord = lord(1)\nany(p in ctx.planets and kendra(house_of(p)) for p in [asc_lord, 'Jupiter', 'Venus'])\n", - "combo_template": "上升主、木星或金星位于Kendra" + "combo_template": "上升主、木星或金星位于Kendra", + "combo_template_en": "Lagna lord, Jupiter or Venus in a Kendra" }, "effects": [ "身体健康", "精力充沛", "长寿" ], + "effects_en": [ + "Good physical health", + "Energetic", + "Longevity" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_rogagrastha_precise", @@ -9059,16 +11056,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora BVR-11: (a) Lagna lord in Lagna joined by dusthana lord;\n# (b) Lagna lord has house strength <= neutral. PyJHora's quad/trine lord\n# conjunction check includes the Lagna lord itself, so weak LL alone satisfies condition_b.\nasc_lord = lord(1)\ndusthana_lords = [lord(h) for h in [6, 8, 12]]\nif asc_lord not in ctx.planets:\n False\nelse:\n condition_a = house_of(asc_lord) == 1 and any(dl in ctx.planets and same_house(asc_lord, dl) for dl in dusthana_lords)\n condition_b = weak(asc_lord)\n condition_a or condition_b\n", - "combo_template": "上升主在Lagna合凶宫主,或弱上升主合角/三方主" + "combo_template": "上升主在Lagna合凶宫主,或弱上升主合角/三方主", + "combo_template_en": "Lagna lord in the Lagna with a Dusthana lord, or a weak Lagna lord with Kendra/Trikona lords" }, "effects": [ "疾病", "健康需注意", "体质较弱" ], + "effects_en": [ + "Illness", + "Health needs attention", + "Weaker constitution" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_eka_puthra_precise", @@ -9088,15 +11093,22 @@ 5, 9 ], - "combo_template": "5宫主在Kendra或Trikona" + "combo_template": "5宫主在Kendra或Trikona", + "combo_template_en": "5th lord in a Kendra or Trikona" }, "effects": [ "独生子女", "子女少但优秀" ], + "effects_en": [ + "An only child", + "Few but excellent children" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_satkalatra_precise", @@ -9108,15 +11120,22 @@ "logic": { "type": "custom", "expr": "# BVR-66-74 Satkalatra Yoga: 7th lord or Venus joined or aspected by Jupiter or Mercury\n# Fix: use any() pattern instead of for-loop + trailing False (which overwrites True)\nlord_7 = lord(7)\ncandidates = []\nif lord_7 in planets:\n candidates.append(lord_7)\nif 'Venus' in planets:\n candidates.append('Venus')\nany(\n benefic in planets and (same_house(c, benefic) or aspect(c, benefic))\n for c in candidates\n for benefic in ['Jupiter', 'Mercury']\n)", - "combo_template": "7宫主或金星与木星/水星合相或互照" + "combo_template": "7宫主或金星与木星/水星合相或互照", + "combo_template_en": "7th lord or Venus conjoined with or mutually aspecting Jupiter/Mercury" }, "effects": [ "配偶品德高尚", "婚姻和谐" ], + "effects_en": [ + "Spouse of noble character", + "Harmonious marriage" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman.", "source_reference": "BVR-66-74: Marriage-related combinations", "bvr_chapter": "Chapter 11" }, @@ -9130,16 +11149,24 @@ "logic": { "type": "custom", "expr": "\n# Malefics (Saturn, Rahu, Ketu) in 2nd house\nmalefics = {'Saturn', 'Rahu', 'Ketu'}\nplanets_in_2 = [p for p, info in ctx.planets.items() if info.get('house') == 2]\nany(p in malefics for p in planets_in_2)\n", - "combo_template": "凶星在第2宫" + "combo_template": "凶星在第2宫", + "combo_template_en": "Malefic in the 2nd house" }, "effects": [ "言辞刻薄", "不讨喜", "人际关系差" ], + "effects_en": [ + "Sharp-tongued", + "Hard to like", + "Poor relationships" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_dharidhra_11_precise", @@ -9151,14 +11178,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-144..152 D1-safe Dharidhra variants (v6.0.47).\nl1, l2, l5, l6, l7, l8, l11, l12 = [lord(h) for h in [1, 2, 5, 6, 7, 8, 11, 12]]\ndusthana = [6, 8, 12]\ndusthana_lords = [l6, l8, l12]\nmarakas = [l2, l7]\n\ndef in_chart(p):\n return p in ctx.planets\n\ndef maraka_links_to(p):\n return in_chart(p) and any(in_chart(m) and (same_house(p, m) or aspect(m, p)) for m in marakas)\n\n# v6.1.3: Restored method1 (L2/L11 in dusthana with unfriendly navamsa).\n# PyJHora checks: L2 or L11 in 6/8/12 AND their navamsa is unfriendly.\nmethod1 = False\nif ctx.d9.get('ascendant'):\n for p in [l2, l11]:\n if in_chart(p) and house_of(p) in dusthana and is_unfriendly_navamsa(p) and any(aspect(m, p) for m in MALEFICS if m in ctx.planets and m != p):\n method1 = True\n break\n\n# v144: L1<->L12 exchange, L7 conjoined/aspects L1 or L12\nv144_exchange = in_chart(l1) and in_chart(l12) and house_of(l1) == 12 and house_of(l12) == 1\nv144_on_l1 = in_chart(l7) and (same_house(l1, l7) or aspect(l7, l1))\nv144_on_l12 = in_chart(l7) and (same_house(l12, l7) or aspect(l7, l12))\nv144 = v144_exchange and (v144_on_l1 or v144_on_l12)\n\n# v147: L1 in 8th, conjoined/aspected by maraka (one-way)\nv147 = in_chart(l1) and house_of(l1) == 8 and maraka_links_to(l1)\n\n# v148: L1 in dusthana with malefic, conjoined/aspected by maraka\nv148_malefic = any(m in ctx.planets and m != l1 and same_house(l1, m) for m in MALEFICS)\nv148 = in_chart(l1) and house_of(l1) in dusthana and v148_malefic and maraka_links_to(l1)\n\n# v149: L1 associated with trik lord (trik lord aspects L1), L1 aspected by malefic\nv149_assoc = any(in_chart(tl) and (same_house(l1, tl) or aspect(tl, l1)) for tl in dusthana_lords)\nv149_malefic = any(m in ctx.planets and m != l1 and aspect(m, l1) for m in MALEFICS)\nv149 = v149_assoc and v149_malefic\n\n# v150: L5 joins trik lord, no benefic influence\nv150_join = any(in_chart(tl) and same_house(l5, tl) for tl in dusthana_lords)\nv150_no_benefic = not any(b in ctx.planets and (same_house(l5, b) or aspect(b, l5)) for b in BENEFICS)\nv150 = in_chart(l5) and v150_join and v150_no_benefic\n\n# v151: L5 in 6th or 10th, aspected by lords of 2/6/7/8/12\nv151_pos = in_chart(l5) and house_of(l5) in [6, 10]\nv151_aspected = any(in_chart(tl) and (aspect(tl, l5)) for tl in [l2, l6, l7, l8, l12])\nv151 = v151_pos and v151_aspected\n\n# v152: natural malefic (not L9/L10) in Lagna, conjoined/aspected by maraka\nl9 = lord(9)\nl10 = lord(10)\nv152 = any(in_chart(m) and house_of(m) == 1 and m not in [l9, l10] and maraka_links_to(m) for m in MALEFICS)\n\nmethod1 or v144 or v147 or v148 or v149 or v150 or v151 or v152\n", - "combo_template": "Dharidhra:财帛/收益主落凶宫或Lagna/Maraka/Dusthana组合" + "combo_template": "Dharidhra:财帛/收益主落凶宫或Lagna/Maraka/Dusthana组合", + "combo_template_en": "Daridra: 2nd/11th lord in a Dusthana, or a Lagna/Maraka/Dusthana combination" }, "effects": [ "财务困难", "收入不稳定", "需节俭" ], + "effects_en": [ + "Financial difficulty", + "Unstable income", + "Needs thrift" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "accuracy_note": "v6.1.3: restored method1 with D9 unfriendly navamsa check" }, @@ -9172,16 +11206,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-117 Sada Sanchara: Lagna lord OR the dispositor of Lagna lord is in a movable sign.\nl1 = lord(1)\nif l1 not in ctx.planets:\n False\nelse:\n l1_h = house_of(l1)\n l1_dispositor = lord(l1_h) if l1_h else None\n sign_of(l1) in MOVABLE_SIGNS or (l1_dispositor in ctx.planets and sign_of(l1_dispositor) in MOVABLE_SIGNS)\n", - "combo_template": "上升主或月亮在变动星座" + "combo_template": "上升主或月亮在变动星座", + "combo_template_en": "Lagna lord or Moon in a movable sign" }, "effects": [ "经常旅行", "漂泊", "不安于室" ], + "effects_en": [ + "Travels often", + "Wandering life", + "Restless at home" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_sumukha_precise", @@ -9193,16 +11235,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-166 Sumukha Yoga method 1.\n# L2 in a kendra and aspected by PyJHora natural benefics, OR natural benefics join the 2nd house.\nl2 = lord(2)\nif l2 not in ctx.planets:\n False\nelse:\n benefics = pyjhora_natural_benefics()\n cond_1a = kendra(house_of(l2)) and any(b in pyjhora_aspected_planets_of_raasi(house_of(l2)) for b in benefics)\n cond_1b = any(house_of(b) == 2 for b in benefics)\n cond_1a or cond_1b\n", - "combo_template": "吉星在第2宫" + "combo_template": "吉星在第2宫", + "combo_template_en": "Benefic in the 2nd house" }, "effects": [ "面容和善", "言语温和", "受人喜爱" ], + "effects_en": [ + "Kindly face", + "Gentle speech", + "Well liked" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_swaveeryaddhana_precise", @@ -9214,16 +11264,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-132 D1/D9-safe portions: 2nd lord in Kendra/Trine from Lagna lord;\n# or 2nd lord as benefic in exaltation / joined with an exalted planet;\n# or Navamsa-dispositor chain strength >= friend and related to 2nd lord.\nasc_lord = lord(1)\nlord_2 = lord(2)\nif asc_lord not in ctx.planets or lord_2 not in ctx.planets:\n False\nelse:\n l1h = house_of(asc_lord)\n l2h = house_of(lord_2)\n rel_good = offset(l1h, l2h) in [0, 3, 4, 6, 8, 9]\n lord2_benefic = lord_2 in BENEFICS\n with_exalted = any(p != lord_2 and same_house(p, lord_2) and exalted(p) for p in ctx.planets)\n nav_lord = navamsa_dispositor(asc_lord)\n final_disp = SIGN_LORDS.get(sign_of(nav_lord)) if nav_lord in ctx.planets else None\n chain_good = bool(final_disp in ctx.planets and house_strength(final_disp) is not None and house_strength(final_disp) >= 3 and (offset(l2h, house_of(final_disp)) in [0, 3, 4, 6, 8, 9] or house_strength(final_disp) >= 4))\n rel_good or (lord2_benefic and (exalted(lord_2) or with_exalted)) or chain_good\n", - "combo_template": "2宫主与上升主成Kendra/Trine关系或2宫主吉且强" + "combo_template": "2宫主与上升主成Kendra/Trine关系或2宫主吉且强", + "combo_template_en": "2nd lord in Kendra/Trine relation to the Lagna lord, or 2nd lord benefic and strong" }, "effects": [ "自力更生致富", "独立创业", "财富自主" ], + "effects_en": [ + "Self-made wealth", + "Independent enterprise", + "Financial independence" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "中置信:Swaveeryaddhana的'最强行星'条件简化处理。", + "accuracy_note_en": "Medium confidence: the 'strongest planet' condition of Swaveeryaddhana is simplified.", "source_reference": "BVR-38-46: Wealth-giving combinations", "bvr_chapter": "Chapter 7" }, @@ -9237,14 +11295,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-177 source-parity: 3rd lord, Mars, or 3rd house joined/aspected by PyJHora natural benefics.\n# NOTE: PyJHora house.aspected_planets_of_the_planet(chart, p) returns planets aspected BY p.\nlord_3 = lord(3)\nbenefics = pyjhora_natural_benefics()\ndef benefic_link_to_planet(p):\n return p in ctx.planets and strong(p) and any(\n b != p and (same_house(b, p) or aspect(p, b))\n for b in benefics\n )\nhouse_joined = any(house_of(b) == 3 for b in benefics)\nhouse_aspected = any(b in pyjhora_aspected_planets_of_raasi(3) for b in benefics)\nbenefic_link_to_planet(lord_3) or benefic_link_to_planet('Mars') or house_joined or house_aspected\n", - "combo_template": "3宫主、火星或3宫按PyJHora源码受吉星连接" + "combo_template": "3宫主、火星或3宫按PyJHora源码受吉星连接", + "combo_template_en": "3rd lord, Mars or the 3rd house connected with benefics (per PyJHora source)" }, "effects": [ "兄弟和睦", "兄弟助力", "手足情深" ], + "effects_en": [ + "Harmony among siblings", + "Help from siblings", + "Close bond with siblings" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "v6.0.42 source-parity: uses PyJHora natural benefics and preserves house.aspected_planets_of_the_planet() direction semantics." }, @@ -9258,14 +11323,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora BVR-195: 4th lord associated with malefics or inimical/debilitated.\n# PyJHora uses house_strength <= _ENEMY (1) for 'inimical', not <= _NEUTRAL (2).\nlord_4 = lord(4)\nif lord_4 not in ctx.planets:\n False\nelse:\n malefic_assoc = any(m in ctx.planets and associated(lord_4, m) for m in MALEFICS if m != lord_4)\n inimical_or_debil = debil(lord_4) or (house_strength(lord_4) is not None and house_strength(lord_4) <= 1) or is_shashtiamsa_evil(lord_4)\n malefic_assoc or inimical_or_debil\n", - "combo_template": "4宫主受凶星关联或处于弱/不利状态" + "combo_template": "4宫主受凶星关联或处于弱/不利状态", + "combo_template_en": "4th lord associated with malefics or weak/afflicted" }, "effects": [ "被亲属遗弃", "缺乏家庭支持", "家庭关系疏远" ], + "effects_en": [ + "Abandoned by relatives", + "Lacks family support", + "Distant family relations" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, "accuracy_note": "v6.1.3: added D60 evil shashtiamsa check" }, @@ -9279,16 +11351,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR 198-199. Yoga 198 uses natural malefics and rasi drishti on Moon's rasi.\nif 'Moon' not in ctx.planets:\n False\nelse:\n moon_h = house_of('Moon')\n prev_h = ((moon_h - 2) % 12) + 1 if moon_h else None\n next_h = (moon_h % 12) + 1 if moon_h else None\n hemmed = bool(prev_h and next_h and house_has_malefic(prev_h) and house_has_malefic(next_h))\n associated = any(same_house('Moon', p) for p in MALEFICS if p in ctx.planets)\n aspected = any(rasi_aspects_house(p, moon_h) for p in MALEFICS if p in ctx.planets)\n y198 = hemmed or associated or aspected\n l4 = lord(4)\n nav_lord = navamsa_dispositor(l4) if l4 else None\n final_planet = navamsa_dispositor(nav_lord) if nav_lord else None\n y199 = final_planet in ctx.planets and house_of(final_planet) in [6, 8, 12]\n y198 or y199\n", - "combo_template": "月亮受凶星夹制/合相/相位,或4宫主Navamsa链最终落6/8/12" + "combo_template": "月亮受凶星夹制/合相/相位,或4宫主Navamsa链最终落6/8/12", + "combo_template_en": "Moon hemmed, conjoined or aspected by malefics, or the 4th lord's Navamsa chain ending in the 6th/8th/12th" }, "effects": [ "母亲健康不佳", "与母亲缘薄", "母亲早逝" ], + "effects_en": [ + "Mother's health is poor", + "Weak bond with mother", + "Early loss of mother" + ], "strength": "弱", + "strength_en": "weak", "enabled": true, - "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。" + "accuracy_note": "高置信:定义来自 PyJHora/B.V. Raman。", + "accuracy_note_en": "High confidence: definition from PyJHora / B.V. Raman." }, { "id": "bvr_nishkapata_precise", @@ -9300,14 +11380,21 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR 205-206 Nishkapata Yoga.\nnatural_benefics = {'Jupiter', 'Venus'}\nbenefic_signs = {'Taurus', 'Gemini', 'Cancer', 'Virgo', 'Libra', 'Sagittarius', 'Pisces'}\nplanets_in_4 = occupants(4)\nhas_benefic = any(p in natural_benefics for p in planets_in_4)\nhas_strong_planet = any(exalted(p) or own(p) or moola(p) for p in planets_in_4)\n# BVR-205/PyJHora also treats a planet in a friendly sign in the 4th as qualifying.\nhas_friendly_planet = any(p in ctx.planets and p in planets_in_4 and house_strength(p) is not None and house_strength(p) >= 3 for p in planets_in_4)\nfourth_benefic_sign = house_sign(4) in benefic_signs\ny205 = has_benefic or has_strong_planet or has_friendly_planet or fourth_benefic_sign\nl1 = lord(1)\ny206 = False\nif l1 in ctx.planets and house_of(l1) == 4:\n l1_with_benefic = any(p != l1 and same_house(l1, p) for p in natural_benefics if p in ctx.planets)\n l1_aspected_benefic = any(aspect(p, l1) for p in natural_benefics if p in ctx.planets and p != l1)\n y206 = l1_with_benefic or l1_aspected_benefic\ny205 or y206 or vaiseshikamsa_score(lord(1)) >= 16\n", - "combo_template": "第4宫有天然吉星/强星/吉性星座,或上升主入4宫且受吉星影响" + "combo_template": "第4宫有天然吉星/强星/吉性星座,或上升主入4宫且受吉星影响", + "combo_template_en": "Natural benefic, strong planet or benefic sign in the 4th, or the Lagna lord in the 4th influenced by benefics" }, "effects": [ "心地善良", "真诚待人", "家庭和谐" ], + "effects_en": [ + "Kind-hearted", + "Sincere with others", + "Harmonious family" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "accuracy_note": "v6.1.8: BVR-205 restored friendly-sign planet in 4th check; keeps Vaiseshikamsa scoring for lagna lord" }, @@ -9321,16 +11408,24 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR 220-221 Bahu Puthra Yoga.\n# 220: Rahu in 5th and Rahu is not in Saturn navamsa.\ny220 = house_of('Rahu') == 5 and d9_sign_of('Rahu') not in {'Capricorn', 'Aquarius'}\n# 221: lord of the Navamsa occupied by the 7th lord is in 1st/2nd/5th in Rasi.\nl7 = lord(7)\ny221 = False\nif l7 in ctx.planets:\n disp = navamsa_dispositor(l7)\n y221 = disp in ctx.planets and house_of(disp) in [1, 2, 5]\ny220 or y221\n", - "combo_template": "Rahu在5且非土星Navamsa,或7宫主关联行星的Navamsa主落1/2/5" + "combo_template": "Rahu在5且非土星Navamsa,或7宫主关联行星的Navamsa主落1/2/5", + "combo_template_en": "Rahu in the 5th not in a Saturn Navamsa, or the Navamsa lord of planets linked to the 7th lord in the 1st/2nd/5th" }, "effects": [ "子女众多", "子孙兴旺", "后代有成就" ], + "effects_en": [ + "Many children", + "Thriving descendants", + "Accomplished descendants" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, - "accuracy_note": "中置信:Bahu Puthra原始定义涉及Navamsa,此处简化为5宫主条件。" + "accuracy_note": "中置信:Bahu Puthra原始定义涉及Navamsa,此处简化为5宫主条件。", + "accuracy_note_en": "Medium confidence: the original Bahu Puthra definition involves the Navamsa; simplified here to a 5th-lord condition." }, { "id": "bvr_amsaavatara_yoga", @@ -9367,6 +11462,9 @@ "effects": [ "Divine nature, great yogic powers, spiritual liberation" ], + "effects_en": [ + "Divine nature, great yogic powers, spiritual liberation" + ], "strength": "very_rare", "enabled": true, "draft": false, @@ -9407,6 +11505,9 @@ "effects": [ "Childlessness, lack of progeny" ], + "effects_en": [ + "Childlessness, lack of progeny" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9461,6 +11562,9 @@ "effects": [ "Physical deficiency or disability in limbs" ], + "effects_en": [ + "Physical deficiency or disability in limbs" + ], "strength": "rare", "enabled": true, "draft": false, @@ -9480,6 +11584,9 @@ "effects": [ "Generous, feeds others, charitable, abundance of food" ], + "effects_en": [ + "Generous, feeds others, charitable, abundance of food" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9499,6 +11606,9 @@ "effects": [ "Generous nature, charitable" ], + "effects_en": [ + "Generous nature, charitable" + ], "strength": "moderate", "enabled": false, "draft": false, @@ -9509,6 +11619,7 @@ "name": "Apakeerthi Yoga", "name_cn": "TBD", "source": "待查", + "source_en": "Source pending", "bvr_id": null, "category": "special", "logic": { @@ -9519,7 +11630,11 @@ "effects": [ "待补充" ], + "effects_en": [ + "Not yet documented" + ], "strength": "待评估", + "strength_en": "pending assessment", "enabled": true, "draft": false, "evidence_note": "From PyJhora function: apakeerthi_yoga()" @@ -9544,6 +11659,9 @@ "effects": [ "Commanding appearance, leadership, wealth" ], + "effects_en": [ + "Commanding appearance, leadership, wealth" + ], "strength": "rare", "enabled": true, "draft": false, @@ -9580,6 +11698,9 @@ "effects": [ "Untruthful, deceptive, cunning nature" ], + "effects_en": [ + "Untruthful, deceptive, cunning nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9615,6 +11736,9 @@ "effects": [ "Inauspicious life, difficulties, physical/mental troubles" ], + "effects_en": [ + "Inauspicious life, difficulties, physical/mental troubles" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9630,11 +11754,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-189..190 Ayatna Griha Prapta Yoga source-parity.\nl1 = lord(1)\nl7 = lord(7)\nl4 = lord(4)\nl9 = lord(9)\nbenefics = pyjhora_natural_benefics()\ncond189 = False\nif l1 in ctx.planets and l7 in ctx.planets:\n lords_in_lagna_or_4th = (house_of(l1) == house_of(l7) == 1) or (house_of(l1) == house_of(l7) == 4)\n benefic_aspects_either = any(aspect(b, l1) or aspect(b, l7) for b in benefics)\n cond189 = lords_in_lagna_or_4th and benefic_aspects_either\ncond190 = l4 in ctx.planets and l9 in ctx.planets and kendra(house_of(l9)) and (strong(l4) or moola(l4))\ncond189 or cond190\n", - "combo_template": "BVR-189/190 按PyJHora源码口径" + "combo_template": "BVR-189/190 按PyJHora源码口径", + "combo_template_en": "BVR-189/190 per the PyJHora source" }, "effects": [ "Gains property without effort, inherits house" ], + "effects_en": [ + "Gains property without effort, inherits house" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9663,6 +11791,9 @@ "effects": [ "Gains wealth without much effort, inherited wealth" ], + "effects_en": [ + "Gains wealth without much effort, inherited wealth" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9683,6 +11814,9 @@ "effects": [ "Association with many women" ], + "effects_en": [ + "Association with many women" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9728,6 +11862,9 @@ "effects": [ "Accumulates great wealth from multiple sources" ], + "effects_en": [ + "Accumulates great wealth from multiple sources" + ], "strength": "strong", "enabled": true, "draft": false, @@ -9748,6 +11885,9 @@ "effects": [ "Respected and honored by relatives" ], + "effects_en": [ + "Respected and honored by relatives" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9773,6 +11913,9 @@ "effects": [ "Great fortune, luck, divine grace" ], + "effects_en": [ + "Great fortune, luck, divine grace" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9798,6 +11941,9 @@ "effects": [ "Learned, eloquent, wealthy from knowledge" ], + "effects_en": [ + "Learned, eloquent, wealthy from knowledge" + ], "strength": "rare", "enabled": true, "draft": false, @@ -9847,6 +11993,9 @@ "effects": [ "Affluent, brave, learned, skilled in arithmetic and music" ], + "effects_en": [ + "Affluent, brave, learned, skilled in arithmetic and music" + ], "strength": "rare", "enabled": true, "draft": false, @@ -9862,11 +12011,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-240 Bhaga Chumbana Yoga.\n# A: 7th lord in 4th and Venus in 4th. B: Lagna lord debilitated in D1 or Navamsa.\nl7 = lord(7)\nl1 = lord(1)\nif l7 not in ctx.planets or l1 not in ctx.planets:\n False\nelse:\n path_a = house_of(l7) == 4 and house_of('Venus') == 4\n path_b = debil(l1) or d9_sign_of(l1) == DEBILITATION.get(l1)\n path_a or path_b\n", - "combo_template": "7宫主与金星在4宫,或上升主D1/D9落陷" + "combo_template": "7宫主与金星在4宫,或上升主D1/D9落陷", + "combo_template_en": "7th lord with Venus in the 4th, or the Lagna lord debilitated in D1/D9" }, "effects": [ "Excessive sensuality, libidinous nature" ], + "effects_en": [ + "Excessive sensuality, libidinous nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9902,6 +12055,9 @@ "effects": [ "Infidelity in marriage, spouse's questionable conduct" ], + "effects_en": [ + "Infidelity in marriage, spouse's questionable conduct" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9921,6 +12077,9 @@ "effects": [ "Enjoyment of food, pleasure in dining, hospitality" ], + "effects_en": [ + "Enjoyment of food, pleasure in dining, hospitality" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -9940,6 +12099,9 @@ "effects": [ "Curse affecting siblings" ], + "effects_en": [ + "Curse affecting siblings" + ], "strength": "rare", "enabled": false, "draft": false, @@ -9959,6 +12121,9 @@ "effects": [ "Wealth through siblings" ], + "effects_en": [ + "Wealth through siblings" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10020,6 +12185,9 @@ "effects": [ "Dull intellect, slow learning, mental challenges" ], + "effects_en": [ + "Dull intellect, slow learning, mental challenges" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10055,6 +12223,9 @@ "effects": [ "Mature intelligence, wise beyond years, good judgment" ], + "effects_en": [ + "Mature intelligence, wise beyond years, good judgment" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10084,6 +12255,9 @@ "effects": [ "Sharp intellect, good communication skills, government service" ], + "effects_en": [ + "Sharp intellect, good communication skills, government service" + ], "strength": "common", "enabled": true, "draft": false, @@ -10131,6 +12305,9 @@ "effects": [ "Great fame, honored by kings, eloquent" ], + "effects_en": [ + "Great fame, honored by kings, eloquent" + ], "strength": "strong", "enabled": true, "draft": false, @@ -10173,6 +12350,9 @@ "effects": [ "Becomes a ruler or head of state" ], + "effects_en": [ + "Becomes a ruler or head of state" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10208,6 +12388,9 @@ "effects": [ "Fierce, victorious, destroys enemies" ], + "effects_en": [ + "Fierce, victorious, destroys enemies" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10245,6 +12428,9 @@ "effects": [ "Archer's nature, royal status, determined" ], + "effects_en": [ + "Archer's nature, royal status, determined" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10280,6 +12466,9 @@ "effects": [ "Leader, wealthy, charitable" ], + "effects_en": [ + "Leader, wealthy, charitable" + ], "strength": "occasional", "enabled": true, "draft": false, @@ -10295,12 +12484,17 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-92 Dama/Damni Yoga: seven classical planets occupy exactly six signs.\nclassical = ['Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn']\nlen(set(sign_of(p) for p in classical if p in ctx.planets)) == 6\n", - "combo_template": "七曜分布在六个星座" + "combo_template": "七曜分布在六个星座", + "combo_template_en": "Seven planets spread over six signs" }, "effects": [ "待补充" ], + "effects_en": [ + "Not yet documented" + ], "strength": "待评估", + "strength_en": "pending assessment", "enabled": true, "draft": false, "evidence_note": "From PyJhora function: dama_yoga()" @@ -10362,6 +12556,9 @@ "effects": [ "Adoption of a child, childless by own birth" ], + "effects_en": [ + "Adoption of a child, childless by own birth" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10401,6 +12598,9 @@ "effects": [ "Stout/heavy body, obesity tendency" ], + "effects_en": [ + "Stout/heavy body, obesity tendency" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10444,6 +12644,9 @@ "effects": [ "King among kings, extraordinary wealth and power" ], + "effects_en": [ + "King among kings, extraordinary wealth and power" + ], "strength": "very_rare", "enabled": true, "draft": false, @@ -10486,6 +12689,9 @@ "effects": [ "Charitable, respected spiritual leader, generous" ], + "effects_en": [ + "Charitable, respected spiritual leader, generous" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10517,6 +12723,9 @@ "effects": [ "Obstacles to career, difficulties in profession" ], + "effects_en": [ + "Obstacles to career, difficulties in profession" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10536,6 +12745,9 @@ "effects": [ "Unnatural or violent death, danger from accidents" ], + "effects_en": [ + "Unnatural or violent death, danger from accidents" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10571,6 +12783,9 @@ "effects": [ "Unnatural death, violent end" ], + "effects_en": [ + "Unnatural death, violent end" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10590,6 +12805,9 @@ "effects": [ "Twelve siblings, large family" ], + "effects_en": [ + "Twelve siblings, large family" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10631,6 +12849,9 @@ "effects": [ "Only one sister, or loss of sisters" ], + "effects_en": [ + "Only one sister, or loss of sisters" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10669,6 +12890,9 @@ "effects": [ "Wealthy, prosperous, respected like a king" ], + "effects_en": [ + "Wealthy, prosperous, respected like a king" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10704,6 +12928,9 @@ "effects": [ "Ear problems, hearing issues, tinnitus" ], + "effects_en": [ + "Ear problems, hearing issues, tinnitus" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10752,6 +12979,9 @@ "effects": [ "Gifted in music, dance, arts; charming personality" ], + "effects_en": [ + "Gifted in music, dance, arts; charming personality" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10787,6 +13017,9 @@ "effects": [ "Long-lived, powerful, commands fear and respect" ], + "effects_en": [ + "Long-lived, powerful, commands fear and respect" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10813,6 +13046,9 @@ "effects": [ "Royal honors, wealth, fame, virtuous" ], + "effects_en": [ + "Royal honors, wealth, fame, virtuous" + ], "strength": "rare", "enabled": true, "draft": false, @@ -10861,6 +13097,9 @@ "effects": [ "Loss or destruction of property/house" ], + "effects_en": [ + "Loss or destruction of property/house" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10880,6 +13119,9 @@ "effects": [ "Loss or destruction of property/house" ], + "effects_en": [ + "Loss or destruction of property/house" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10905,6 +13147,9 @@ "effects": [ "Secret/hidden diseases, diseases of private parts" ], + "effects_en": [ + "Secret/hidden diseases, diseases of private parts" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10931,6 +13176,9 @@ "effects": [ "Overcomes enemies, good health, happiness" ], + "effects_en": [ + "Overcomes enemies, good health, happiness" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10969,6 +13217,9 @@ "effects": [ "Dull speech, stammering, incoherent communication" ], + "effects_en": [ + "Dull speech, stammering, incoherent communication" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -10988,6 +13239,9 @@ "effects": [ "Father died before birth, ancestral curse" ], + "effects_en": [ + "Father died before birth, ancestral curse" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11013,6 +13267,9 @@ "effects": [ "Extra-marital relations, illicit love affairs" ], + "effects_en": [ + "Extra-marital relations, illicit love affairs" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11048,6 +13305,9 @@ "effects": [ "Children from illicit relations" ], + "effects_en": [ + "Children from illicit relations" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11067,6 +13327,9 @@ "effects": [ "Children at a specific time, delayed but certain progeny" ], + "effects_en": [ + "Children at a specific time, delayed but certain progeny" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11077,16 +13340,21 @@ "name": "Kaalanirdesat Puthranaasa Yoga", "name_cn": "定时无子瑜伽", "source": "待查", + "source_en": "Source pending", "bvr_id": null, "category": "putra", "logic": { "type": "custom", "expr": "\n# PyJHora 229/230. Variant 229: Rahu in 5th, L5 joined malefic, Jupiter debilitated.\n# Variant 230: natural malefics occupy or PyJHora-style rasi-aspect both 5th from Lagna and 5th from Jupiter.\nl5 = lord(5)\nif l5 not in ctx.planets or 'Jupiter' not in ctx.planets:\n False\nelse:\n cond229 = house_of('Rahu') == 5 and debil('Jupiter') and any(m in ctx.planets and same_house(l5, m) for m in MALEFICS)\n j5 = ((house_of('Jupiter') - 1 + 4) % 12) + 1\n mal_lagna5 = any(m in ctx.planets and (house_of(m) == 5 or pyjhora_planets_aspecting_raasi(m, 5)) for m in MALEFICS)\n mal_jupiter5 = any(m in ctx.planets and (house_of(m) == j5 or pyjhora_planets_aspecting_raasi(m, j5)) for m in MALEFICS)\n cond229 or (mal_lagna5 and mal_jupiter5)\n", - "combo_template": "Rahu/L5/木星或凶星影响Lagna与木星起算第5宫" + "combo_template": "Rahu/L5/木星或凶星影响Lagna与木星起算第5宫", + "combo_template_en": "Rahu, the 5th lord, Jupiter or malefics afflict the 5th from the Lagna and from Jupiter" }, "effects": [ "Loss of progeny at predetermined periods" ], + "effects_en": [ + "Loss of progeny at predetermined periods" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11121,6 +13389,9 @@ "effects": [ "Skilled in fine arts, music, dance; cultured and wealthy" ], + "effects_en": [ + "Skilled in fine arts, music, dance; cultured and wealthy" + ], "strength": "strong", "enabled": true, "draft": false, @@ -11146,6 +13417,9 @@ "effects": [ "Fulfills all desires, great king, supreme wealth" ], + "effects_en": [ + "Fulfills all desires, great king, supreme wealth" + ], "strength": "very_rare", "enabled": true, "draft": false, @@ -11185,6 +13459,9 @@ "effects": [ "Danger of amputation, loss of hand/arm" ], + "effects_en": [ + "Danger of amputation, loss of hand/arm" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11220,6 +13497,9 @@ "effects": [ "Lives by agriculture, helpful, amasses wealth" ], + "effects_en": [ + "Lives by agriculture, helpful, amasses wealth" + ], "strength": "occasional", "enabled": true, "draft": false, @@ -11245,6 +13525,9 @@ "effects": [ "Baldness or hair loss" ], + "effects_en": [ + "Baldness or hair loss" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11290,6 +13573,9 @@ "effects": [ "Lean/thin body, frail constitution" ], + "effects_en": [ + "Lean/thin body, frail constitution" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11325,6 +13611,9 @@ "effects": [ "Skin diseases, leprosy, dermatitis" ], + "effects_en": [ + "Skin diseases, leprosy, dermatitis" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11351,6 +13640,9 @@ "effects": [ "Wealth from multiple sources, gains and profits" ], + "effects_en": [ + "Wealth from multiple sources, gains and profits" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11388,6 +13680,9 @@ "effects": [ "Beautiful, charming, wealthy, passionate, luxurious life" ], + "effects_en": [ + "Beautiful, charming, wealthy, passionate, luxurious life" + ], "strength": "strong", "enabled": true, "draft": false, @@ -11407,6 +13702,9 @@ "effects": [ "Ancestral curse from maternal line" ], + "effects_en": [ + "Ancestral curse from maternal line" + ], "strength": "rare", "enabled": false, "draft": false, @@ -11456,6 +13754,9 @@ "effects": [ "Fame, wealth, spiritual knowledge, commanding" ], + "effects_en": [ + "Fame, wealth, spiritual knowledge, commanding" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11471,11 +13772,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR 291-294 plus BVR variations.\njm = 'Jupiter' in ctx.planets and 'Mars' in ctx.planets and house_of('Jupiter') == 1 and house_of('Mars') == 7\nsm = 'Saturn' in ctx.planets and 'Mars' in ctx.planets and house_of('Saturn') == 1 and house_of('Mars') in [5, 7, 9]\nsaturn_waning = 'Saturn' in ctx.planets and house_of('Saturn') == 12 and is_waning_moon()\nmoon_mercury = False\nif 'Moon' in ctx.planets and 'Mercury' in ctx.planets:\n mm1 = kendra(house_of('Moon')) and kendra(house_of('Mercury'))\n # PyJHora 294: Moon/Mercury aspected by OR conjoined with any other planet\n mm2 = any(p != 'Moon' and (same_house(p, 'Moon') or aspect(p, 'Moon')) for p in ctx.planets)\n mm3 = any(p != 'Mercury' and (same_house(p, 'Mercury') or aspect(p, 'Mercury')) for p in ctx.planets)\n moon_mercury = mm1 and mm2 and mm3\nl6 = lord(6)\nvariation_1 = house_of('Rahu') == 6 and aspect('Ketu', 'Rahu')\nvariation_2 = l6 in ctx.planets and 'Mars' in ctx.planets and house_of(l6) == house_of('Mars')\nvariation_3 = 'Mercury' in ctx.planets and same_house('Mercury', 'Mars') and same_house('Mercury', 'Sun')\nd9_l6 = d9_lord_of_house(6)\nvariation_4 = d9_house_of('Mercury') == 6 and d9_house_of('Rahu') == 6 and d9_l6 in ctx.planets and same_house(d9_l6, 'Mars')\njm or sm or saturn_waning or moon_mercury or variation_1 or variation_2 or variation_3 or variation_4\n", - "combo_template": "木火1/7、土升火5/7/9、土12宫逢亏月,或BVR精神扰动变体" + "combo_template": "木火1/7、土升火5/7/9、土12宫逢亏月,或BVR精神扰动变体", + "combo_template_en": "Jupiter and Mars in 1/7, Saturn in the Lagna with Mars in 5/7/9, Saturn in the 12th with a waning Moon, or a BVR mental-affliction variant" }, "effects": [ "Mental disturbance, confusion, erratic behavior" ], + "effects_en": [ + "Mental disturbance, confusion, erratic behavior" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11496,6 +13801,9 @@ "effects": [ "Mental confusion, delusions, erratic thoughts" ], + "effects_en": [ + "Mental confusion, delusions, erratic thoughts" + ], "strength": "moderate", "enabled": false, "draft": false, @@ -11531,6 +13839,9 @@ "effects": [ "Enmity with mother, difficulties through mother" ], + "effects_en": [ + "Enmity with mother, difficulties through mother" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11550,6 +13861,9 @@ "effects": [ "Difficult relationship with mother" ], + "effects_en": [ + "Difficult relationship with mother" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11565,11 +13879,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora Matru Sneha: same L1/L4, mutual temporary or natural friendship, or both aspected by PyJHora natural benefics.\nl1 = lord(1)\nl4 = lord(4)\nif l1 not in ctx.planets or l4 not in ctx.planets:\n False\nelse:\n same_lord = l1 == l4\n temp_friends = temporal_friend(l1, l4) and temporal_friend(l4, l1)\n nat_friends = natural_friend(l1, l4)\n benefics = pyjhora_natural_benefics()\n both_benefic_aspected = any(aspect(b, l1) for b in benefics) and any(aspect(b, l4) for b in benefics)\n same_lord or temp_friends or nat_friends or both_benefic_aspected\n", - "combo_template": "1宫主与4宫主同主、友好或同受吉星照拂" + "combo_template": "1宫主与4宫主同主、友好或同受吉星照拂", + "combo_template_en": "1st and 4th lords identical, friendly, or both aspected by benefics" }, "effects": [ "Deep love and affection with mother" ], + "effects_en": [ + "Deep love and affection with mother" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11621,6 +13939,9 @@ "effects": [ "Mother lives long, mother's health is good" ], + "effects_en": [ + "Mother lives long, mother's health is good" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11659,6 +13980,9 @@ "effects": [ "Speech impediment, silence, deep contemplation" ], + "effects_en": [ + "Speech impediment, silence, deep contemplation" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11696,6 +14020,9 @@ "effects": [ "Firmness, resolve, stubborn nature, lasting wealth" ], + "effects_en": [ + "Firmness, resolve, stubborn nature, lasting wealth" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11733,6 +14060,9 @@ "effects": [ "Dual nature, adaptability, trade skills" ], + "effects_en": [ + "Dual nature, adaptability, trade skills" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11752,6 +14082,9 @@ "effects": [ "Success in endeavors, safe passage through difficulties, leadership" ], + "effects_en": [ + "Success in endeavors, safe passage through difficulties, leadership" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11787,6 +14120,9 @@ "effects": [ "Eye troubles, blindness, vision problems" ], + "effects_en": [ + "Eye troubles, blindness, vision problems" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11827,6 +14163,9 @@ "effects": [ "Harsh, cruel, cutting speech; lack of empathy" ], + "effects_en": [ + "Harsh, cruel, cutting speech; lack of empathy" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11862,6 +14201,9 @@ "effects": [ "Many friends, talkative, skilled in various arts" ], + "effects_en": [ + "Many friends, talkative, skilled in various arts" + ], "strength": "occasional", "enabled": true, "draft": false, @@ -11881,6 +14223,9 @@ "effects": [ "Depends on others for food, eats at others' homes" ], + "effects_en": [ + "Depends on others for food, eats at others' homes" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11900,6 +14245,9 @@ "effects": [ "Ridiculed by others, mocked, subject to derision" ], + "effects_en": [ + "Ridiculed by others, mocked, subject to derision" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -11925,6 +14273,9 @@ "effects": [ "Becomes a king or equal, great wealth and fame" ], + "effects_en": [ + "Becomes a king or equal, great wealth and fame" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11960,6 +14311,9 @@ "effects": [ "Haunted by spirits, irrational behavior, mental affliction" ], + "effects_en": [ + "Haunted by spirits, irrational behavior, mental affliction" + ], "strength": "rare", "enabled": true, "draft": false, @@ -11979,6 +14333,9 @@ "effects": [ "Ancestral curse from paternal line" ], + "effects_en": [ + "Ancestral curse from paternal line" + ], "strength": "rare", "enabled": false, "draft": false, @@ -12016,6 +14373,9 @@ "effects": [ "Pitta diseases, fevers, inflammatory conditions" ], + "effects_en": [ + "Pitta diseases, fevers, inflammatory conditions" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12068,6 +14428,9 @@ "effects": [ "Curse of departed souls, difficulties in progeny" ], + "effects_en": [ + "Curse of departed souls, difficulties in progeny" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12109,6 +14472,9 @@ "effects": [ "Deprived of family and children" ], + "effects_en": [ + "Deprived of family and children" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12134,6 +14500,9 @@ "effects": [ "Rise followed by fall from power, broken ambitions" ], + "effects_en": [ + "Rise followed by fall from power, broken ambitions" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12159,6 +14528,9 @@ "effects": [ "Fall from power/status, political downfall" ], + "effects_en": [ + "Fall from power/status, political downfall" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12190,6 +14562,9 @@ "effects": [ "Royal characteristics, wealth, leadership, honor" ], + "effects_en": [ + "Royal characteristics, wealth, leadership, honor" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12225,6 +14600,9 @@ "effects": [ "Restlessness, frequent travel, nomadic nature" ], + "effects_en": [ + "Restlessness, frequent travel, nomadic nature" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12244,6 +14622,9 @@ "effects": [ "Dangers, obstacles, hidden enemies, sudden changes" ], + "effects_en": [ + "Dangers, obstacles, hidden enemies, sudden changes" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12284,6 +14665,9 @@ "effects": [ "Hardworking, respected, gains through effort" ], + "effects_en": [ + "Hardworking, respected, gains through effort" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12328,6 +14712,9 @@ "effects": [ "Learned, gifted in scholarship and fine arts" ], + "effects_en": [ + "Learned, gifted in scholarship and fine arts" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12370,6 +14757,9 @@ "effects": [ "Prosperous, wealthy, respectable" ], + "effects_en": [ + "Prosperous, wealthy, respectable" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12389,6 +14779,9 @@ "effects": [ "Seven siblings, moderate family size" ], + "effects_en": [ + "Seven siblings, moderate family size" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12415,6 +14808,9 @@ "effects": [ "Long life, prosperity, fearless" ], + "effects_en": [ + "Long life, prosperity, fearless" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12456,6 +14852,9 @@ "effects": [ "Great scholar, eloquent, masters all arts and sciences" ], + "effects_en": [ + "Great scholar, eloquent, masters all arts and sciences" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12491,6 +14890,9 @@ "effects": [ "Danger from snakes or poison, toxic situations" ], + "effects_en": [ + "Danger from snakes or poison, toxic situations" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12510,6 +14912,9 @@ "effects": [ "Danger from snakes, karmic snake curse" ], + "effects_en": [ + "Danger from snakes, karmic snake curse" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12545,6 +14950,9 @@ "effects": [ "Love of scriptures, devotion, pious nature" ], + "effects_en": [ + "Love of scriptures, devotion, pious nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12564,6 +14972,9 @@ "effects": [ "Enemies, litigation, obstacles, struggles" ], + "effects_en": [ + "Enemies, litigation, obstacles, struggles" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12599,6 +15010,9 @@ "effects": [ "Danger to head/neck, accidents affecting head" ], + "effects_en": [ + "Danger to head/neck, accidents affecting head" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12618,6 +15032,9 @@ "effects": [ "Loss of siblings, difficulties with siblings" ], + "effects_en": [ + "Loss of siblings, difficulties with siblings" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12653,6 +15070,9 @@ "effects": [ "Fierce, bold, prone to disputes and arguments" ], + "effects_en": [ + "Fierce, bold, prone to disputes and arguments" + ], "strength": "occasional", "enabled": true, "draft": false, @@ -12672,6 +15092,9 @@ "effects": [ "Subsists on ritual offerings, devotional nature" ], + "effects_en": [ + "Subsists on ritual offerings, devotional nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12711,6 +15134,9 @@ "effects": [ "Great wealth, high status, blessed by Vishnu" ], + "effects_en": [ + "Great wealth, high status, blessed by Vishnu" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12746,6 +15172,9 @@ "effects": [ "Auspicious life, good health, happiness, prosperity" ], + "effects_en": [ + "Auspicious life, good health, happiness, prosperity" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12765,6 +15194,9 @@ "effects": [ "Happiness, comfort, material pleasures, good family life" ], + "effects_en": [ + "Happiness, comfort, material pleasures, good family life" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12800,6 +15232,9 @@ "effects": [ "Blessed with noble children" ], + "effects_en": [ + "Blessed with noble children" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12848,6 +15283,9 @@ "effects": [ "White patches on skin, vitiligo" ], + "effects_en": [ + "White patches on skin, vitiligo" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12867,6 +15305,9 @@ "effects": [ "Sharp intellect, penetrating mind, quick understanding" ], + "effects_en": [ + "Sharp intellect, penetrating mind, quick understanding" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12887,6 +15328,9 @@ "effects": [ "Knowledge of past/present/future, intuitive wisdom" ], + "effects_en": [ + "Knowledge of past/present/future, intuitive wisdom" + ], "strength": "rare", "enabled": true, "draft": false, @@ -12917,6 +15361,9 @@ "effects": [ "Adventurous, fiery nature, achieves goals through boldness" ], + "effects_en": [ + "Adventurous, fiery nature, achieves goals through boldness" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12932,11 +15379,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-187 Utthama Griha Yoga source-parity.\nl4 = lord(4)\nif l4 not in ctx.planets:\n False\nelse:\n benefics = pyjhora_natural_benefics()\n h4 = house_of(l4)\n fourth_lord_in_kendra_trikona = h4 in [1, 4, 5, 7, 9, 10]\n fourth_lord_joins_benefic = any(house_of(nb) == h4 for nb in benefics)\n fourth_lord_aspected_by_benefic = any(nb != l4 and aspect(nb, l4) for nb in benefics)\n fourth_lord_in_kendra_trikona and fourth_lord_joins_benefic and fourth_lord_aspected_by_benefic\n", - "combo_template": "4宫主入角/三方且与PyJHora吉星同宫并受吉星相位" + "combo_template": "4宫主入角/三方且与PyJHora吉星同宫并受吉星相位", + "combo_template_en": "4th lord in a Kendra/Trikona, conjoined with PyJHora benefics and aspected by benefics" }, "effects": [ "Excellent house/property, comfortable living" ], + "effects_en": [ + "Excellent house/property, comfortable living" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -12984,6 +15435,9 @@ "effects": [ "Vata diseases, rheumatism, nerve disorders" ], + "effects_en": [ + "Vata diseases, rheumatism, nerve disorders" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13003,6 +15457,9 @@ "effects": [ "Speech impediment, stammering, difficulty expressing" ], + "effects_en": [ + "Speech impediment, stammering, difficulty expressing" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13038,6 +15495,9 @@ "effects": [ "Talented in music or fine arts, travels extensively" ], + "effects_en": [ + "Talented in music or fine arts, travels extensively" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13073,6 +15533,9 @@ "effects": [ "End of family lineage, no male heirs" ], + "effects_en": [ + "End of family lineage, no male heirs" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13098,6 +15561,9 @@ "effects": [ "Fear of deception, theft; deceptive nature" ], + "effects_en": [ + "Fear of deception, theft; deceptive nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13135,6 +15601,9 @@ "effects": [ "Wealthy, respected, generous" ], + "effects_en": [ + "Wealthy, respected, generous" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13166,6 +15635,9 @@ "effects": [ "Wonderful and varied palaces/dwellings, luxury homes" ], + "effects_en": [ + "Wonderful and varied palaces/dwellings, luxury homes" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13207,6 +15679,9 @@ "effects": [ "Commands electricity/technology, sudden wealth, powerful" ], + "effects_en": [ + "Commands electricity/technology, sudden wealth, powerful" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13233,6 +15708,9 @@ "effects": [ "Virtuous, charitable, happy, liberated nature" ], + "effects_en": [ + "Virtuous, charitable, happy, liberated nature" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13252,6 +15730,9 @@ "effects": [ "Danger from poison, toxic environments" ], + "effects_en": [ + "Danger from poison, toxic environments" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13287,6 +15768,9 @@ "effects": [ "Wounds, injuries, scars on body" ], + "effects_en": [ + "Wounds, injuries, scars on body" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13306,6 +15790,9 @@ "effects": [ "Loss, expenditure, waste, spiritual inclination" ], + "effects_en": [ + "Loss, expenditure, waste, spiritual inclination" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13341,6 +15828,9 @@ "effects": [ "Death in battle or through weapons/violence" ], + "effects_en": [ + "Death in battle or through weapons/violence" + ], "strength": "rare", "enabled": true, "draft": false, @@ -13360,6 +15850,9 @@ "effects": [ "Strong after battle" ], + "effects_en": [ + "Strong after battle" + ], "strength": "rare", "enabled": false, "draft": false, @@ -13379,6 +15872,9 @@ "effects": [ "Resolute before battle" ], + "effects_en": [ + "Resolute before battle" + ], "strength": "rare", "enabled": false, "draft": false, @@ -13389,16 +15885,21 @@ "name": "Yukthi Samanwithavagmi Yoga", "name_cn": "善辩瑜伽", "source": "待查", + "source_en": "Source pending", "bvr_id": null, "category": "special", "logic": { "type": "custom", "expr": "\n# PyJHora/BVR-154: 2nd lord joins a benefic in kendra/trikona,\n# or 2nd lord is exalted and combined with Jupiter.\nlord_2 = lord(2)\nif lord_2 not in ctx.planets:\n False\nelse:\n h2 = house_of(lord_2)\n cond_a = (kendra(h2) or trikona(h2)) and any(b != lord_2 and b in ctx.planets and same_house(lord_2, b) for b in BENEFICS)\n cond_b = exalted(lord_2) and 'Jupiter' in ctx.planets and same_house(lord_2, 'Jupiter')\n cond_a or cond_b\n", - "combo_template": "2宫主在Kendra/Trikona合吉星,或2宫主擢升合木星" + "combo_template": "2宫主在Kendra/Trikona合吉星,或2宫主擢升合木星", + "combo_template_en": "2nd lord in a Kendra/Trikona with benefics, or the 2nd lord exalted with Jupiter" }, "effects": [ "Eloquent, skilled in debate, good communicator" ], + "effects_en": [ + "Eloquent, skilled in debate, good communicator" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13414,11 +15915,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora: Jupiter and Mars are together or in the 7th from each other.\n'Jupiter' in ctx.planets and 'Mars' in ctx.planets and offset(house_of('Jupiter'), house_of('Mars')) in [0, 6]\n", - "combo_template": "木星与火星同宫或互为7宫" + "combo_template": "木星与火星同宫或互为7宫", + "combo_template_en": "Jupiter and Mars conjoined or in mutual 7th" }, "effects": [ "Courage, wisdom, leadership, military success" ], + "effects_en": [ + "Courage, wisdom, leadership, military success" + ], "strength": "moderate", "enabled": true, "evidence_note": "From PyJhora: guru_mangala_yoga()" @@ -13457,6 +15962,9 @@ "effects": [ "Complete childlessness, no progeny" ], + "effects_en": [ + "Complete childlessness, no progeny" + ], "strength": "strong", "enabled": true, "evidence_note": "From PyJhora: aputhra_yoga()" @@ -13485,6 +15993,9 @@ "effects": [ "Wealth through property, emotional intensity, business acumen" ], + "effects_en": [ + "Wealth through property, emotional intensity, business acumen" + ], "strength": "moderate", "enabled": false, "evidence_note": "From PyJhora: chandra_mangala_yoga() - distinct from chandra_mangala_same", @@ -13500,14 +16011,21 @@ "logic": { "type": "custom", "expr": "l5 = lord(5); l11 = lord(11); (house_of(l5) == 11) and (house_of(l11) == 5) and (house_of('Moon') == 5)", - "combo_template": "5宫主{lord5}在11宫,11宫主{lord11}在5宫,月亮在第5宫" + "combo_template": "5宫主{lord5}在11宫,11宫主{lord11}在5宫,月亮在第5宫", + "combo_template_en": "5th lord {lord5} in the 11th, 11th lord {lord11} in the 5th, Moon in the 5th" }, "effects": [ "权力", "财富", "声望" ], + "effects_en": [ + "Power", + "Wealth", + "Prestige" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-64: Exchange between 5th and 11th lords, Moon in 5th" }, @@ -13521,14 +16039,21 @@ "logic": { "type": "custom", "expr": "h9_lord = lord(9); h9_lord_h = house_of(h9_lord); jup_h = house_of('Jupiter'); sat_h = house_of('Saturn'); target_for_jup = ((h9_lord_h - 1 + 8) % 12) + 1; h9_from_jup = ((jup_h - 1 + 8) % 12) + 1; benefics = {'Jupiter', 'Venus', 'Mercury', 'Moon'}; planets_in_h9_jup = [p for p, info in ctx.planets.items() if info.get('house') == h9_from_jup]; (sat_h == 10) and (jup_h == target_for_jup) and any(p in benefics for p in planets_in_h9_jup)", - "combo_template": "土星在第10宫,木星在9宫主的第9宫,木星的第9宫有吉星" + "combo_template": "土星在第10宫,木星在9宫主的第9宫,木星的第9宫有吉星", + "combo_template_en": "Saturn in the 10th, Jupiter in the 9th from the 9th lord, benefic in the 9th from Jupiter" }, "effects": [ "财富", "权力", "长寿" ], + "effects_en": [ + "Wealth", + "Power", + "Longevity" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-56: Saturn in 10th, Jupiter 9th from 9th lord, benefic 9th from Jupiter" }, @@ -13542,14 +16067,21 @@ "logic": { "type": "custom", "expr": "exalted(lord(10)) and debil(lord(6))", - "combo_template": "10宫主{lord10}庙旺,6宫主{lord6}落陷" + "combo_template": "10宫主{lord10}庙旺,6宫主{lord6}落陷", + "combo_template_en": "10th lord {lord10} exalted or in own sign, 6th lord {lord6} debilitated" }, "effects": [ "胜利", "克服困难", "权力" ], + "effects_en": [ + "Victory", + "Overcomes difficulties", + "Power" + ], "strength": "强", + "strength_en": "strong", "enabled": true, "source_reference": "BVR-58: 10th lord in deep exaltation, 6th lord debilitated" }, @@ -13563,14 +16095,21 @@ "logic": { "type": "custom", "expr": "start = 5; target = set(((start - 1 + i) % 12) + 1 for i in range(7)); classical = ['Sun', 'Moon', 'Mars', 'Mercury', 'Jupiter', 'Venus', 'Saturn']; occupied = set(); ok = True;\nfor p in classical:\n h = house_of(p)\n if h in target:\n occupied.add(h)\n else:\n ok = False; break\nok and len(occupied) == 7", - "combo_template": "从第5宫开始的连续7个宫位各有古典行星" + "combo_template": "从第5宫开始的连续7个宫位各有古典行星", + "combo_template_en": "Each of seven consecutive houses from the 5th holds a classical planet" }, "effects": [ "多子", "后代繁荣", "家族延续" ], + "effects_en": [ + "Many children", + "Prosperous descendants", + "Continuation of the family line" + ], "strength": "中", + "strength_en": "moderate", "enabled": true, "source_reference": "BVR-36: Malika Yoga starting from 5th house" }, @@ -13584,11 +16123,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora kaahala_yoga: 4th lord and Jupiter in mutual quadrants.\n# Note: PyJHora calls is_planet_strong(lagna_lord, asc_house, include_neutral=True);\n# for a Lagna lord in its own ascendant sign this is always >= neutral, so the\n# effective D1 comparison condition is the mutual-kendra relationship.\nl4 = lord(4)\nif l4 not in ctx.planets or 'Jupiter' not in ctx.planets:\n False\nelse:\n offset(house_of(l4), house_of('Jupiter')) in [0, 3, 6, 9]\n", - "combo_template": "4宫主与木星互为Kendra,且上升主有力" + "combo_template": "4宫主与木星互为Kendra,且上升主有力", + "combo_template_en": "4th lord and Jupiter in mutual Kendras, with a strong Lagna lord" }, "effects": [ "Courage, initiative, status and practical drive" ], + "effects_en": [ + "Courage, initiative, status and practical drive" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13604,11 +16147,15 @@ "logic": { "type": "custom", "expr": "\n# PyJHora/BVR 202-204 Kapata Yoga; house aspects use rasi drishti, planet aspects use graha drishti.\nl4 = lord(4)\nl10 = lord(10)\nmaandi_h = maandi_house()\nif l4 not in ctx.planets or l10 not in ctx.planets:\n False\nelse:\n malefic_in_4 = any(house_of(m) == 4 for m in MALEFICS if m in ctx.planets)\n l4_h = house_of(l4)\n l4_joined_malefic = any(same_house(l4, m) for m in MALEFICS if m in ctx.planets)\n l4_aspected_malefic = any(aspect(l4, m) for m in MALEFICS if m in ctx.planets)\n prev_h = ((l4_h - 2) % 12) + 1 if l4_h else None\n next_h = (l4_h % 12) + 1 if l4_h else None\n l4_hemmed = bool(prev_h and next_h and house_has_malefic(prev_h) and house_has_malefic(next_h))\n yoga202 = malefic_in_4 and (l4_joined_malefic or l4_aspected_malefic or l4_hemmed)\n yoga203 = all(house_of(p) == 4 for p in ['Saturn', 'Mars', 'Rahu']) and l10 in MALEFICS and any(aspect(l10, m) for m in MALEFICS if m in ctx.planets)\n yoga204 = bool(maandi_h and house_of('Saturn') == maandi_h == house_of('Rahu') == l4_h and any(aspect(l4, m) for m in MALEFICS if m in ctx.planets))\n yoga202 or yoga203 or yoga204\n", - "combo_template": "4宫/4宫主受凶星、Rahu、Maandi/Mandi 等严重影响" + "combo_template": "4宫/4宫主受凶星、Rahu、Maandi/Mandi 等严重影响", + "combo_template_en": "The 4th house or its lord severely afflicted by malefics, Rahu, Maandi/Mandi, etc." }, "effects": [ "Deception, distrust, household/family complications" ], + "effects_en": [ + "Deception, distrust, household/family complications" + ], "strength": "moderate", "enabled": true, "draft": false, @@ -13627,14 +16174,21 @@ "logic": { "type": "custom", "expr": "# PyJHora durmukha Method 1 (rasi only):\n# Malefics occupy 2nd house AND 2nd lord is debilitated or conjunct malefics\nh2_occ = occupants(2)\nl2 = lord(2)\nif not h2_occ or l2 not in planets:\n False\nelse:\n has_malefic_in_2 = any(p in Malefics for p in h2_occ)\n l2_debilitated = debil(l2)\n l2_with_malefic = any(p in Malefics and same_house(l2, p) for p in planets if p != l2)\n has_malefic_in_2 and (l2_debilitated or l2_with_malefic)", - "combo_template": "2宫有凶星且2宫主落陷或与凶星同宫" + "combo_template": "2宫有凶星且2宫主落陷或与凶星同宫", + "combo_template_en": "Malefic in the 2nd and the 2nd lord debilitated or with malefics" }, "effects": [ "言语刻薄、口出恶言", "人际冲突" ], + "effects_en": [ + "Harsh, abusive speech", + "Interpersonal conflict" + ], "strength": "中", + "strength_en": "moderate", "accuracy_note": "来源PyJHora durmukha Method 1(仅用Rasi)。", + "accuracy_note_en": "Source: PyJHora durmukha Method 1 (Rasi only).", "source_reference": "BVR-170: Malefics in 2nd + 2nd lord weak" }, { @@ -13657,7 +16211,8 @@ "a": "Moon", "b": "Saturn", "max_gap": 10.0, - "combo_template": "{a}与{b}在{sign}内相距{gap:.2f}°(Punarphoo观察,≤10°)" + "combo_template": "{a}与{b}在{sign}内相距{gap:.2f}°(Punarphoo观察,≤10°)", + "combo_template_en": "{a} and {b} {gap:.2f}° apart in {sign} (Punarphoo observation, ≤10°)" } ] }, @@ -13666,7 +16221,13 @@ "承诺掂量", "不等于法律婚姻" ], + "effects_en": [ + "Observation: romantic feelings activated", + "Weighing commitments", + "Not the same as legal marriage" + ], "strength": "观察", + "strength_en": "observational", "enabled": true, "source_reference": "Observation-only. Natal Moon-Saturn orb <=10. Punarphoo return is not marriage. Holdout not passed.", "bvr_chapter": "" diff --git a/scripts/reader_dasha_applicability.py b/scripts/reader_dasha_applicability.py index f9f2eefd..23a1dcb0 100644 --- a/scripts/reader_dasha_applicability.py +++ b/scripts/reader_dasha_applicability.py @@ -1,4 +1,8 @@ -"""Reader-only applicability notes; never changes dasha calculations or periods.""" +"""Reader-only applicability notes; never changes dasha calculations or periods. + +``language="en"`` renders the same table from the same packet with the static +English wording below; the default ``"zh"`` output is unchanged. +""" BOUNDARY = "第二时间轴,仅供交叉核对,不单独生成应期" MISSING = "缺少本次计算的结构化适用性证据,无法确认各辅助时间轴是否适用;不补算、不补写日期。" @@ -16,12 +20,62 @@ REASON_LABELS = { } -def _reader_reason(value): - if value in REASON_LABELS: - return REASON_LABELS[value] +REASON_LABELS_EN = { + "patyayini_dasha_missing": "This calculation did not provide the Patyayini annual periods, so they cannot be used for timing checks yet.", + "The Shodashottari hora-plus-paksha applicability gate is not met.": "The Hora and lunar-fortnight (Paksha) condition for this dasha is not met.", + "This profile requires Navamsa Lagna in Taurus or Libra.": "This dasha requires the Navamsa Lagna in Taurus or Libra; not met here.", + "Dwisaptatisama requires Lagna lord in the 1st or 7th house.": "This dasha requires the Lagna lord in the 1st or 7th house; not met here.", + "Panchottari requires a Cancer Ascendant that is also Cancer in Dwadasamsa.": "This dasha requires a Cancer Lagna in both the birth chart and the Dwadasamsa; not met here.", + "Satabdika requires a vargottama Ascendant (same Rasi and Navamsa sign).": "This dasha requires a Vargottama Lagna (same sign in Rasi and Navamsa); not met here.", + "Chaturshitisama requires the 10th lord to occupy the 10th house.": "This dasha requires the 10th lord in the 10th house; not met here.", + "Shastihayani requires Sun in the Lagna sign.": "This dasha requires the Sun in the Lagna sign; not met here.", +} + +_TEXT = { + "zh": { + "boundary": BOUNDARY, + "missing": MISSING, + "ashtottari": "月宿与月相组合未满足该大运的适用条件,不绕过判定。", + "unknown_reason": "计算返回了限制原因,但暂无可核对的详细说明;不据此补写适用条件或日期。", + "heading": "## 辅助时间轴适用性(参数敏感)", + "table_head": ["| 大运族 | 是否适用 / 原因 | 使用边界 |", "| --- | --- | --- |"], + "not_applicable": "本次不适用,不绕过原适用条件,不补写日期。", + "unavailable": "本次不可用:本地计算尚未提供可用周期,不能据此判断时间。", + "has_periods": "本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。", + "unverified": "本次适用性尚未核实,缺少可核对周期,不补写日期。", + "applicable_true": " 原适用性判定:适用。", + "reasons_prefix": " 原因:", + "reasons_joiner": ";", + }, + "en": { + "boundary": "Secondary timeline for cross-checking only; does not set event timing on its own", + "missing": "This calculation carries no structured applicability evidence, so it cannot confirm whether each auxiliary timeline applies; no periods or dates are filled in.", + "ashtottari": "The Moon's nakshatra and lunar phase do not meet this dasha's applicability condition; the rule is not bypassed.", + "unknown_reason": "The calculation returned a restriction without a checkable explanation; no condition or date is inferred from it.", + "heading": "## Auxiliary Dasha Applicability (reference only)", + "table_head": ["| Dasha system | Applicable? / Reason | Use |", "| --- | --- | --- |"], + "not_applicable": "Not applicable for this chart; the original condition is not bypassed and no dates are filled in.", + "unavailable": "Unavailable: the local calculation has not produced usable periods, so it cannot be used for timing.", + "has_periods": "Periods were returned and can be used for cross-checking; this does not mean multi-engine verification is complete.", + "unverified": "Applicability not yet verified and no checkable periods are available; no dates are filled in.", + "applicable_true": " Original applicability verdict: applicable.", + "reasons_prefix": " Reason: ", + "reasons_joiner": "; ", + }, +} + + +def _language(value): + return "en" if value == "en" else "zh" + + +def _reader_reason(value, language="zh"): + labels = REASON_LABELS_EN if language == "en" else REASON_LABELS + if value in labels: + return labels[value] if value.startswith("Moon Nakshatra '") and "does not qualify for Ashtottari Dasha under " in value: - return "月宿与月相组合未满足该大运的适用条件,不绕过判定。" - return "计算返回了限制原因,但暂无可核对的详细说明;不据此补写适用条件或日期。" + return _TEXT[language]["ashtottari"] + return _TEXT[language]["unknown_reason"] def _has_periods(key, raw, source): @@ -29,23 +83,28 @@ def _has_periods(key, raw, source): return any(isinstance(data.get(field), (list, dict)) and bool(data[field]) for data in (raw, source) for field in fields) -def _cell(value): - return str(value).replace("|", "/").replace("\r", " ").replace("\n", " ").replace("<", "<").replace(">", ">") +def _cell(value, language="zh"): + text = str(value).replace("\r", " ").replace("\n", " ") + if language == "en": + return text.replace("|", "/").replace("<", "‹").replace(">", "›") + return text.replace("|", "/").replace("<", "<").replace(">", ">") -def render_dasha_applicability(packet): +def render_dasha_applicability(packet, language="zh"): + language = _language(language) + text = _TEXT[language] timing = packet.get("worksheets", {}).get("timing_and_predictive_systems", {}) master = timing.get("dasha_master_pack", {}) families = master.get("families", {}) - lines = ["", "## 辅助时间轴适用性(参数敏感)", ""] + lines = ["", text["heading"], ""] if not isinstance(families, dict) or not families: - return "\n".join(lines + [MISSING, ""]) + return "\n".join(lines + [text["missing"], ""]) families = dict(families) annual = timing.get("annual_tajika_pack", {}) for key, value in annual.items(): if key.endswith("_dasha"): families.setdefault(key.removesuffix("_dasha"), value) - lines += ["| 大运族 | 是否适用 / 原因 | 使用边界 |", "| --- | --- | --- |"] + lines += text["table_head"] for key in sorted(families): if key == "vimshottari": continue @@ -56,18 +115,18 @@ def render_dasha_applicability(packet): status = raw.get("status", raw.get("execution_status")) applicable = source.get("applicable", raw.get("applicable")) if applicable is False or status == "not_applicable": - reason = "本次不适用,不绕过原适用条件,不补写日期。" + reason = text["not_applicable"] elif status in {"blocked", "missing_in_local", "unavailable"}: - reason = "本次不可用:本地计算尚未提供可用周期,不能据此判断时间。" + reason = text["unavailable"] elif _has_periods(key, raw, source): - reason = "本次已返回周期,可作交叉核对;这不代表已完成多引擎验证。" + reason = text["has_periods"] else: - reason = "本次适用性尚未核实,缺少可核对周期,不补写日期。" + reason = text["unverified"] if applicable is True: - reason += " 原适用性判定:适用。" - reasons = list(dict.fromkeys(_reader_reason(str(value)) for value in (raw.get("reason"), source.get("reason")) if value)) + reason += text["applicable_true"] + reasons = list(dict.fromkeys(_reader_reason(str(value), language) for value in (raw.get("reason"), source.get("reason")) if value)) if reasons: - reason += " 原因:" + ";".join(reasons) + reason += text["reasons_prefix"] + text["reasons_joiner"].join(reasons) name = "Kala Chakra" if key == "kala_chakra" else key.replace("_", "-").title() - lines.append(f"| {_cell(name)} | {_cell(reason)} | {BOUNDARY} |") + lines.append(f"| {_cell(name, language)} | {_cell(reason, language)} | {text['boundary']} |") return "\n".join(lines) + "\n" diff --git a/tests/test_report_english_dictionary.py b/tests/test_report_english_dictionary.py new file mode 100644 index 00000000..4d8591aa --- /dev/null +++ b/tests/test_report_english_dictionary.py @@ -0,0 +1,110 @@ +"""Static English dictionary for the English report edition. + +The zh wording stays authoritative and unchanged; every Han-bearing rule string +in references/yoga_rules.json carries an ``_en`` sibling, and the auxiliary +dasha applicability table renders in English from the same packet. +""" + +from __future__ import annotations + +import hashlib +import itertools +import json +import re +from pathlib import Path + +from scripts.reader_dasha_applicability import REASON_LABELS, render_dasha_applicability + +ROOT = Path(__file__).resolve().parents[1] +RULES = json.loads((ROOT / "references" / "yoga_rules.json").read_text(encoding="utf-8"))["rules"] +HAN = re.compile(r"[㐀-鿿豈-﫿]") +PLACEHOLDER = re.compile(r"\{[^{}]*\}") +# Keys whose Han value is paired by an existing English key rather than a `_en` sibling. +PAIRED = {"name_cn": "name"} + + +def _walk(node, path=()): + if isinstance(node, dict): + yield path, node + for key, value in node.items(): + yield from _walk(value, path + (key,)) + elif isinstance(node, list): + for index, value in enumerate(node): + yield from _walk(value, path + (index,)) + + +def test_every_rule_has_parallel_english_effects(): + for rule in RULES: + effects = rule.get("effects") + if effects is None: + continue + english = rule.get("effects_en") + assert isinstance(english, list) and len(english) == len(effects), rule["id"] + for zh, en in zip(effects, english): + assert isinstance(en, str) and en.strip(), (rule["id"], zh) + assert not HAN.search(en), (rule["id"], en) + if not HAN.search(zh): + assert en == zh, (rule["id"], zh, en) + + +def test_every_han_string_has_an_english_sibling(): + for rule in RULES: + for path, node in _walk(rule): + for key, value in node.items(): + if not isinstance(value, str) or not HAN.search(value) or key.endswith("_en"): + continue + sibling = PAIRED.get(key, f"{key}_en") + english = node.get(sibling) + assert isinstance(english, str) and english.strip(), (rule["id"], path, key) + assert not HAN.search(english), (rule["id"], path, sibling, english) + + +def test_english_templates_keep_the_same_placeholders(): + checked = 0 + for rule in RULES: + for path, node in _walk(rule): + zh = node.get("combo_template") + if isinstance(zh, str): + assert sorted(PLACEHOLDER.findall(node.get("combo_template_en", zh))) == sorted(PLACEHOLDER.findall(zh)), (rule["id"], path) + checked += 1 + assert checked >= 150 + + +def _applicability_packets(): + reasons = [None, *REASON_LABELS, "Moon Nakshatra 'X' does not qualify for Ashtottari Dasha under Y", "odd | pipe"] + statuses = [None, "not_applicable", "blocked", "missing_in_local", "unavailable", "ok"] + packets = [{}, {"worksheets": {}}, {"worksheets": {"timing_and_predictive_systems": {"dasha_master_pack": {"families": {}}}}}] + for index, (status, reason, applicable) in enumerate(itertools.product(statuses, reasons, [None, True, False])): + families = { + "vimshottari": {}, + "narayana": {"status": status, "reason": reason, "mahadasha_sequence": [1] if index % 2 else []}, + "ashtottari": {"status": status, "reason": reason, "applicable": applicable}, + "kala_chakra": {"periods": [1]}, + } + packets.append({"worksheets": {"timing_and_predictive_systems": { + "dasha_master_pack": {"families": families}, + "ashtottari_dasha": {"applicable": applicable, "reason": reason}, + "annual_tajika_pack": {"mudda_dasha": {"status": status}}, + }}}) + return packets + + +# sha256 of the zh output for every synthetic packet, taken from the module +# before the English path was added: zh must stay byte-identical. +ZH_APPLICABILITY_SHA256 = "b3194019f11f476f75327a7e76c94099eff7d50c5301d215c43cb45c000d278d" + + +def test_dasha_applicability_zh_is_unchanged(): + packets = _applicability_packets() + rendered = "\x00".join(render_dasha_applicability(packet) for packet in packets) + assert hashlib.sha256(rendered.encode("utf-8")).hexdigest() == ZH_APPLICABILITY_SHA256 + assert all(render_dasha_applicability(packet, language="zh") == render_dasha_applicability(packet) for packet in packets) + + +def test_dasha_applicability_en_has_no_han_and_same_rows(): + for packet in _applicability_packets(): + zh = render_dasha_applicability(packet) + en = render_dasha_applicability(packet, language="en") + assert not HAN.search(en), en + assert zh.count("\n") == en.count("\n") + assert zh.count("|") == en.count("|")