th
feat: 四层schema追加(meta/strength/timing/evidence) — /analyze-ziwei-v4
98fa8d0
Raw History Blame Contribute Delete
2.74 kB
"""
紫微斗数术语双语对照表 —— 单一真相源。
跟astrologybazi-api的terms.py同一个思路:AI报告/evidence块引用命理术语时统一从这里查,
避免同一颗星这次译一个名字下次译另一个名字。
"""
STAR_TERMS = {
"紫微": "Zi Wei (Emperor Star)", "天机": "Tian Ji (Advisor Star)",
"太阳": "Tai Yang (Sun Star)", "武曲": "Wu Qu (Military Star)",
"天同": "Tian Tong (Harmony Star)", "廉贞": "Lian Zhen (Chastity Star)",
"天府": "Tian Fu (Treasury Star)", "太阴": "Tai Yin (Moon Star)",
"贪狼": "Tan Lang (Greedy Wolf Star)", "巨门": "Ju Men (Giant Gate Star)",
"天相": "Tian Xiang (Minister Star)", "天梁": "Tian Liang (Beam Star)",
"七杀": "Qi Sha (Seven Killings Star)", "破军": "Po Jun (Army Breaker Star)",
"左辅": "Zuo Fu (Left Assistant)", "右弼": "You Bi (Right Assistant)",
"文昌": "Wen Chang (Literary Star)", "文曲": "Wen Qu (Artistic Star)",
"天魁": "Tian Kui (Noble Star, Yang)", "天钺": "Tian Yue (Noble Star, Yin)",
}
PALACE_TERMS = {
"命宫": "Life Palace (Ming Gong)", "兄弟": "Siblings Palace (Xiong Di)",
"夫妻": "Spouse Palace (Fu Qi)", "子女": "Children Palace (Zi Nu)",
"财帛": "Wealth Palace (Cai Bo)", "疾厄": "Health Palace (Ji E)",
"迁移": "Travel Palace (Qian Yi)", "仆役": "Friends Palace (Pu Yi)",
"官禄": "Career Palace (Guan Lu)", "田宅": "Property Palace (Tian Zhai)",
"福德": "Fortune Palace (Fu De)", "父母": "Parents Palace (Fu Mu)",
}
BRIGHTNESS_TERMS = {
"庙": "temple-bright, strongest (Miao)",
"旺": "prosperous, strong (Wang)",
"得": "gaining, above average (De)",
"利": "favorable, average-plus (Li)",
"平": "level, average (Ping)",
"不": "weak, below average (Bu)",
"陷": "trapped, weakest (Xian)",
}
MUTAGEN_TERMS = {
"禄": "Transformation of Wealth (Hua Lu)",
"权": "Transformation of Power (Hua Quan)",
"科": "Transformation of Fame (Hua Ke)",
"忌": "Transformation of Obstruction (Hua Ji)",
}
def star_term(name: str) -> str:
return f"{name} ({STAR_TERMS[name]})" if name in STAR_TERMS else name
def palace_term(name: str) -> str:
return f"{name} ({PALACE_TERMS[name]})" if name in PALACE_TERMS else name
def brightness_term(level: str) -> str:
return f"{level} ({BRIGHTNESS_TERMS[level]})" if level in BRIGHTNESS_TERMS else level
def mutagen_term(mutagen: str) -> str:
return f"Hua {mutagen} ({MUTAGEN_TERMS[mutagen]})" if mutagen in MUTAGEN_TERMS else mutagen
def star_with_brightness(name: str, brightness: str) -> str:
if brightness:
return f"{star_term(name)} [{brightness_term(brightness)}]"
return star_term(name)