Skip to main content

Django module for multi languages management

Project description

django-text-manager - no more problems with texts for bots, websites, etc.

v0.1.1 - Basic functionality with api

v0.1.5 - Fixes of some bugs, new variable TEXT_MANAGER_DEFAULT_API_LANGUAGE in settings

Documentation

settings.py

INSTALLED_APPS = [
    ...
    "textmanager",
    ...
]

TEXT_MANAGER_EXTRA_LANGUAGES = ['uk'] # Optional, default languages when u add new text
TEXT_MANAGER_AVAILABLE_LANGUAGES = ['ru', 'uk', 'en'] # Optional, list of availbale languages in project 
TEXT_MANAGER_DEFAULT_API_LANGUAGE = 'en' # Optional, default language for api, fr. en to render english text if 'language' row in empty

How to add languages? (load in database 107 different languages)

python3 manage.py migrate
python3 manage.py loadlanguages

Usage

from textmanager.models import Text

text = Text.objects.get(unique_id='test').render(language="en", params={
    "var1": "friend"
})
print(text)

# >>> Hello, friend! - text in db: Hello, {{ var1 }}!

API

urls.py

from django.urls import path, include

urlpatterns = [
    path("textmanager/", include("textmanager.urls")),
]

how to send request?

import requests
import json
resp = requests.post(url="http://0.0.0.0:1234/textmanager/text/", json={
    "unique_id": "test",
    "language": "en", # optional, default=None
    "render_with_jinja": False, # optional, default=true
    "params": {} # optional, default={}
}, headers={"Authorization": "Token ****"})
data = json.loads(resp.text)
print(data)

# >>> {'text': 'Hello, {{ var1 }}!'} # if language specified
# >>> {
#    'texts': [
#        {
#            'language': {
#                'alpha2': 'en', 
#                'alpha3_b': 'eng', 
#                'english_name': 'English', 
#                'language_name': 'English', 
#                'flag': '🇬🇧'
#            }, 
#            'text': 'Hello, {{ var1 }}!'
#        }, ...
#    ]
# }# if language is not specified

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_text_manager-0.1.6.tar.gz (15.0 kB view details)

Uploaded Source

File details

Details for the file django_text_manager-0.1.6.tar.gz.

File metadata

  • Download URL: django_text_manager-0.1.6.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for django_text_manager-0.1.6.tar.gz
Algorithm Hash digest
SHA256 fc24048712ffe5203840230c9b27fddf775061df1237245749e57150838942f8
MD5 ce955a53f67fff5ec3737244e672d8df
BLAKE2b-256 e6605f8a03530eac70a4bb71488602dddace5435a1f869cca9682c543dfc8624

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page