国际化
traduki的Python项目详细描述
traduki:sqlalchemy国际化
traduki包为基于sqlalchemy的项目提供国际化帮助程序类。
安装
pip install traduki
使用量
traduki用法示例:
fromsqlalchemy.ext.declarativeimportdeclarative_baseBase=declarative_base()importtradukidefget_current_language():"""Current language callback for our project."""returnrequest.localedefget_language_chain():"""Language chain (fallback rule) callback for our project."""return{'*':request.locale}i18n_attributes=traduki.initialize(Base,['en','ru'],get_current_language,get_language_chain)Session=sessionmaker(bind=engine)sess=Session()classMyModel(Base)title_id=i18n_attributes.i18n_column(nullable=False,unique=False)title=i18n_attributes.i18n_relation(title_id)"""Title."""my_object=MyModel()my_object.title={'en':'English title','pt':'Portugese title'}sess.add(my_object)sess.commit()assertsess.refresh(my_object).title.get_dict()=={'en':'English title','pt':'Portugese title'}
接触
如果您有问题、错误报告、建议等,请在 那张GitHub project page。
更改日志
1.2.0
- 不要使用不推荐的attributeextension,而是使用attribute events。
1.1.0
- 使用or运算符查找所有语言列中的匹配项。
1.0.1
- 修正了无法检测到语言时引发异常的问题。
1.0.0
- 首次公开发行