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
TEXT_MANAGER_PERMISSION_CLASSES = ['rest_framework.permissions.IsAuthenticated',] # Optional, permission classes for api
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={
"id": 5, # id or unique_id is required
# or
"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
Release history Release notifications | RSS feed
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.8.tar.gz
(15.5 kB
view details)
File details
Details for the file django_text_manager-0.1.8.tar.gz
.
File metadata
- Download URL: django_text_manager-0.1.8.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 588509530691e3e2f9ef770df6343c884a1ecec11e13ca3e5339b259b13deaac |
|
MD5 | 68a6e7ee1eaad2516136c13516e1b06e |
|
BLAKE2b-256 | 853e7bb2f296c696f6191e832d6778cd6a020d5c853f08925e5d7058e87f378e |