| 123456789101112131415161718192021 |
- 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}"
|