SQLAlchemy internationalisation
Project description
traduki: SQLAlchemy internationalisation
The traduki package provides internationalisation helper classes for SQLAlchemy-based projects.
Installation
pip install traduki
Usage
traduki usage example:
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'}
Contact
If you have questions, bug reports, suggestions, etc. please create an issue on the GitHub project page.
Changelog
1.3.2
- Fix a bug where the get_ordered_languages would mutate in place the list of configured languages.
1.3.1
- Fix UnicodeDecodeError when installing this library on python 3 on some configurations.
1.3.0
- Fix python 3 compatibility
- Declare support for python 2.7, 3.5, 3.6, 3.7, 3.8
1.2.0
- Do not use deprecated AttributeExtension, use Attribute Events instead.
1.1.0
- Use an OR operator for LIKE_OPS to find matches in all language columns.
1.0.1
- Fix get_text_from_dict raising an exception when no language can be detected.
1.0.0
- Initial public release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size traduki-1.3.2-py2.py3-none-any.whl (8.1 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size traduki-1.3.2.tar.gz (6.7 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for traduki-1.3.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9ada30a15d1518f67163c6c999251aa1b470f8d53e36fb0c26a62c67ad05b6c |
|
MD5 | 0f3a3b07b4b56b1d70bda56a582727bc |
|
BLAKE2-256 | 778fa8b76d5fc3ffe2e1b01a1b9ae03c0bcc66625129ee4be9d5b36da0b9e232 |