from xpinyin import Pinyin def generate_english_name(chinese_name: str) -> str: """ Generate english name from chinese name. Rule: Surname initial + First name full pinyin. Example: 张三 -> zsan """ if not chinese_name: return "" p = Pinyin() # Assuming first char is surname surname = chinese_name[0] firstname = chinese_name[1:] surname_pinyin = p.get_pinyin(surname, "").lower() firstname_initial = p.get_initials(firstname, "").lower() return f"{surname_pinyin}{firstname_initial}"