কম্পিউটার টিউটোরিয়াল

ডжанগো মডেল ইনস্ট্যান্সে অনুবাদ যোগ করা

ডেটাবেসে সংরক্ষিত ডেটা (নাম, কোট, বিবরণ ইত্যাদি) একাধিক ভাষায় প্রদর্শন করতে হলে প্রতিটি ভাষার জন্য আলাদা কলাম বা টেবিল বানানো জটিল। 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/-এ যান। প্রতিটি অবজেক্টের জন্য আলাদা ভাষায় অনুবাদ যোগ/সম্পাদনা করার ইনলাইন ফর্ম দেখতে পাবেন।

  1. ডজ্যাঙ্গো REST Framework JWT অথেনটিকেশন

  2. ডজ্যাঙ্গো মডেল অবজেক্ট হিট কাউন্টিং

  3. ডжанগো মডেল ইনস্ট্যান্সে অনুবাদ যোগ করা

  4. ডжанগো মডেলে JSON ফিল্ড যোগ করা