ডেটাবেসে সংরক্ষিত ডেটা (নাম, কোট, বিবরণ ইত্যাদি) একাধিক ভাষায় প্রদর্শন করতে হলে প্রতিটি ভাষার জন্য আলাদা কলাম বা টেবিল বানানো জটিল। django-klingon প্যাকেজ এই কাজকে অত্যন্ত সহজ করে দেয়—মাত্র কয়েক লাইন কনফিগারেশন দিয়ে যেকোনো মডেল ফিল্ডের অনুবাদ যোগ করা যায়।
সাধারণ ডжанগো প্রজেক্ট ও অ্যাপ তৈরি করুন। settings.py-এ অ্যাপ যোগ করুন। এই কাজে মূলত settings.py, models.py, admin.py এবং অ্যাডমিন URL-এ কাজ করব।
pip install django-klingon
settings.py-এ:
INSTALLED_APPS += ['klingon']
KLINGON_DEFAULT_LANGUAGE = 'en'
models.py-এ Translatable মিক্সিন ব্যবহার করুন:
from django.db import models
from klingon.models import Translatable
class TeacherData(models.Model, Translatable):
name = models.CharField(max_length=100)
class_teacher_of = models.CharField(max_length=100)
salary = models.CharField(max_length=100)
a_simple_word = models.CharField(max_length=100)
translatable_fields = ('a_simple_word',)
translatable_fields টাপলে নির্দিষ্ট করুন কোন ফিল্ডগুলো অনুবাদযোগ্য।
admin.py-এ অনুবাদ ইনলাইন ও অ্যাকশন যোগ করুন:
from django.contrib import admin
from .models import TeacherData
from klingon.admin import TranslationInline, create_translations
class TeacherAdmin(admin.ModelAdmin):
inlines = [TranslationInline]
actions = [create_translations]
admin.site.register(TeacherData, TeacherAdmin)
from formhandlingapp.models import TeacherData
data = TeacherData.objects.create(
name="Rahim",
class_teacher_of="Class 10",
salary="50000",
a_simple_word="How are you"
)
# জাপানি অনুবাদ সেট করুন
data.set_translation('jp', 'a_simple_word', 'お元気ですか')
https://127.0.0.1/admin/-এ যান। প্রতিটি অবজেক্টের জন্য আলাদা ভাষায় অনুবাদ যোগ/সম্পাদনা করার ইনলাইন ফর্ম দেখতে পাবেন।