跳转到主要内容

SQLAlchemy 国际化

项目描述

traduki: SQLAlchemy 国际化

traduki 包为基于 SQLAlchemy 的项目提供国际化辅助类。

https://api.travis-ci.org/paylogic/traduki.png https://img.shields.io/pypi/v/traduki.svg https://coveralls.io/repos/paylogic/traduki/badge.png?branch=master

安装

pip install traduki

使用

traduki 使用示例

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

import traduki

def get_current_language():
    """Current language callback for our project."""
    return request.locale

def get_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()

class MyModel(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()

assert sess.refresh(my_object).title.get_dict() == {'en': 'English title', 'pt': 'Portugese title'}

联系

如果您有任何问题、错误报告、建议等,请在 GitHub 项目页面 上创建一个问题。

许可

本软件根据 MIT 许可证 许可。

查看 许可证

© 2018 Paylogic International.

变更日志

1.3.2

  • 修复了 get_ordered_languages 会就地修改配置语言列表的bug。

1.3.1

  • 修复了在某些配置下在python 3上安装此库时出现的 UnicodeDecodeError。

1.3.0

  • 修复了python 3兼容性

  • 声明支持python 2.7、3.5、3.6、3.7、3.8

1.2.0

  • 不要使用已废弃的AttributeExtension,请使用属性事件。

1.1.0

  • 使用OR运算符进行LIKE_OPS,以在所有语言列中查找匹配项。

1.0.1

  • 修复当无法检测到语言时,get_text_from_dict引发异常的问题。

1.0.0

  • 首次公开发布

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

traduki-1.3.2.tar.gz (6.7 kB 查看哈希值)

上传时间

构建分布

traduki-1.3.2-py2.py3-none-any.whl (8.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由支持