Easy AI18n | 更好用的 Python3 i18n 库
13 September 2025 at 18:55
zilingmio:
目前已有 i18n 库的痛点
- Python 自带的
gettext
不支持动态选择语言 (比如 Bot 需要根据用户选择语言) - 其他库需要手动维护翻译字典, 开发效率低
- 都不支持
f-string
语法, 写起来不够优雅, 不够方便
所以, Easy AI18n 诞生了, 解决了以上所有痛点
Easy AI18n 是一个现代化的 Python3 国际化工具库,支持 AI 翻译、多用户场景以及完整的字符串格式化语法,让项目全球化变得更加优雅自然。
https://github.com/z-mio/easy-ai18n
特点
- 自动提取内容生成翻译字典, 提高开发效率
- 支持动态多语言, 适配多用户场景
- 支持所有格式化语法, 代码更优雅
- 支持 AI 翻译, 翻译质量更好
对比
其他 i18n 工具 | EasyAI18n |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
👥 多用户多语言场景(如 Telegram Bot )
通过自定义语言选择器, 在多用户环境中实现动态语言选择:
/i18n.py
:
from pyrogram.types import Message
from easy_ai18n import EasyAI18n, PostLanguageSelector
class MyPostLanguageSelector(PostLanguageSelector):
def __getitem__(self, msg: Message):
lang = msg.from_user.language_code
return super().__getitem__(lang)
i18n = EasyAI18n()
_ = i18n.i18n(post_lang_selector=MyPostLanguageSelector)
if __name__ == "__main__":
i18n.build(target_lang=['en', 'ru'])
/bot.py
:
@bot.on_message()
async def start(__, msg: Message):
await msg.reply(_[msg]("Hello, world!"))