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.5.tar.gz
(14.9 kB
view hashes)
Close
Hashes for django-text-manager-0.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4efaf136a979958e2877724fbb7fa2c3ba11732840cea82aaa292720e9012e09 |
|
MD5 | b8600d046257910954cc5bc7f2d58339 |
|
BLAKE2b-256 | 58d9cd17189eb43ba96fd17f60048de35cc0ca3966425f3bccb9f505ad7ae543 |