Skip to main content

SQLAlchemy internationalisation

Project description

traduki: SQLAlchemy internationalisation

The traduki package provides internationalisation helper classes for SQLAlchemy-based projects.

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

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.

License

This software is licensed under the MIT license

See License

© 2018 Paylogic International.

Changelog

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.

Files for traduki, version 1.3.1
Filename, size File type Python version Upload date Hashes
Filename, size traduki-1.3.1.tar.gz (6.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page