ในบทความนี้ เราจะมาเรียนรู้วิธีสร้างการแปลในกรณีต่างๆ บางครั้ง คุณอาจต้องบันทึกข้อมูล เช่น ID ชื่อ เครื่องหมายคำพูด บรรทัด ฯลฯ คุณอาจต้องแสดงข้อมูลนั้นในภาษาต่างๆ สำหรับสิ่งนั้น คุณต้องทำสิ่งต่าง ๆ เกี่ยวกับฐานข้อมูลมากมาย แต่วันนี้ฉันจะแสดงวิธีรับผลลัพธ์เดียวกันในการตั้งค่าเพียงไม่กี่บรรทัด
สร้างโปรเจ็กต์ Django และแอพ ตั้งค่า url และทำสิ่งพื้นฐานบางอย่าง เช่น เพิ่มแอปใน INSTALLED_APPS
สร้างแบบจำลอง ในที่นี้ เราไม่เกี่ยวอะไรกับ views.py, urls.py . มากนัก หรือไฟล์ html ใดๆ เรามีเฉพาะ settings.py, admin.py,models.py และ URL ของผู้ดูแลระบบ
ตัวอย่าง
ติดตั้ง django-klingon แพ็คเกจ −
pip install django-klingon
ใน settings.py เพิ่มสิ่งนี้ −
INSTALLED_APPS += ['klingon'] KLINGON_DEFAULT_LANGUAGE = 'en'
ที่นี่ เราทำการตั้งค่าพื้นฐานของการเพิ่ม คลิงออน เป็นแอปในโครงการและเรากำหนดภาษาอังกฤษเป็นภาษาเริ่มต้น
สร้างโมเดลแบบนี้ −
from django.db import models from klingon.models import Translatable # add translatable class TeacherData(models.Model,Translatable): name=models.CharField(max_length=100) # first3 simple fields ClassTeacherOF=models.CharField(max_length=100) Salary=models.CharField(max_length=100) a_simple_word=models.CharField(max_length=100) # define field that will be translated translatable_fields = ('a_simple_word')
ที่นี่เราเพียงแค่สร้างแบบจำลอง ประเด็นที่ต้องสังเกตที่นี่คือเราสร้างฟิลด์ที่สามารถแปลได้ ซึ่งจะบอกว่าฟิลด์ใดจำเป็นต้องแปลและอ้างอิงถึงวัตถุที่แปลของเราในตารางที่แตกต่างกัน
ใน admins.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 ของผู้ดูแลระบบ และ เพิ่ม kligon การอ้างอิงการแปลในผู้ดูแลระบบ
ตอนนี้ทุกอย่างเสร็จเรียบร้อยแล้ว มาตรวจสอบผลลัพธ์กัน
ผลลัพธ์
เรียกใช้ Python shell และทำสิ่งนี้เพื่อเพิ่มการแปลสำหรับวัตถุที่สร้างขึ้นใหม่ -
In [1]: from formhandlingapp.models import * In [2]: data=TeachertData.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/