इस लेख में, हम सीखेंगे कि किसी भी इंस्टेंस के लिए ट्रांसलेशन कैसे बनाया जाए। कभी-कभी, आपको ID, नाम, कोट्स, लाइन्स आदि जैसे डेटा को सेव करने की आवश्यकता हो सकती है। आपको उस डेटा को विभिन्न भाषाओं में रेंडर करना पड़ सकता है; इसके लिए आपको बहुत सारे डेटाबेस कार्य करने पड़ते हैं, लेकिन आज मैं आपको दिखाऊंगा कि कैसे कुछ ही लाइनों के सेटअप में वही परिणाम प्राप्त करें।
प्रोजेक्ट सेटअप
एक Django प्रोजेक्ट और ऐप बनाएं। urls सेट करें और INSTALLED_APPS में ऐप जोड़ने जैसे बुनियादी कार्य करें।
एक मॉडल बनाएं। यहां, हमें views.py, urls.py या किसी HTML फाइल से ज्यादा काम नहीं है। हम केवल settings.py, admin.py, models.py और एडमिन URL पॉइंट के साथ काम करते हैं।
उदाहरण
पैकेज इंस्टॉल करें
pip install django-klingon
settings.py में कॉन्फ़िगरेशन
INSTALLED_APPS += ['klingon']
KLINGON_DEFAULT_LANGUAGE = 'en'
यहां, हम प्रोजेक्ट में klingon को ऐप के रूप में जोड़ने की बुनियादी सेटिंग करते हैं और अंग्रेजी को इसकी डिफ़ॉल्ट भाषा के रूप में परिभाषित करते हैं।
मॉडल बनाएं
from django.db import models
from klingon.models import Translatable
class TeacherData(models.Model, Translatable):
name = models.CharField(max_length=100)
ClassTeacherOF = models.CharField(max_length=100)
Salary = models.CharField(max_length=100)
a_simple_word = models.CharField(max_length=100)
# ट्रांसलेट होने वाले फील्ड को परिभाषित करें
translatable_fields = ('a_simple_word',)
यहां, हमने बस एक मॉडल बनाया। ध्यान देने योग्य बात यह है कि हमने एक ट्रांसलेटेबल फील्ड बनाया जो बताता है कि किस फील्ड का अनुवाद करना है और यह अलग टेबल में हमारे ट्रांसलेटेड ऑब्जेक्ट का रेफरेंस है।
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)
यहां, हमने बस अपने मॉडल को एडमिन URL में जोड़ा और एडमिन में klingon ट्रांसलेशन रेफरेंस जोड़ा।
आउटपुट
पायथन शेल चलाएं और नवनिर्मित ऑब्जेक्ट के लिए ट्रांसलेशन जोड़ने के लिए यह करें:
In [1]: from formhandlingapp.models import *
In [2]: data = TeacherData.objects.create(name="ama4", ClassTeacherOF="10", Salary="33322", a_simple_word="how are you")
In [3]: data.set_translation('jp', 'a_simple_word', 'お元気ですか')
अब, आप एक ट्रांसलेशन ऑब्जेक्ट बने हुए देख सकते हैं, जाहिर है आप इसे views.py के माध्यम से जोड़ सकते हैं।
https://127.0.0.1/admin/ पर जाएं
