Tutorial Odoo 9.0 Part 13 : Internationalization
จาก Morange Wiki
รุ่นแก้ไขเมื่อ 10:45, 19 กรกฎาคม 2559 โดย Bombay (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย '== Internationalization เว็บหลายภาษา == ในส่วนนี้จะเป็นการ ดัดแป...')
Internationalization เว็บหลายภาษา
ในส่วนนี้จะเป็นการ ดัดแปลงภาษาภายในเว็บ สร้าง directory ชื่อ openacademy/i18n/ เปิดโหมดนักพัฒนา โหลดภาษาที่เราต้องการใช้งาน ( Administration ‣ Translations ‣ Load an Official Translation) ซึ้งคำศัพท์ให้เป็นล่าสุด (Administration ‣ Translations ‣ Application Terms ‣ Synchronize Translations) สร้าง temple ตัวแปลภาษาโดย Export ออกมาจาก Odoo ( Administration ‣ Translations -> Import/Export ‣ Export Translation) เป็นไฟล์ po ลงใน openacademy/i18n/ ใน model.py ให้เพิ่ม _ เข้าไปใน import
แก้ไข model.py
openacademy/models.py # -*- coding: utf-8 -*- from datetime import timedelta from openerp import models, fields, api, exceptions, _ class Course(models.Model): _name = 'openacademy.course'
default = dict(default or {}) copied_count = self.search_count( [('name', '=like', _(u"Copy of {}%").format(self.name))]) if not copied_count: new_name = _(u"Copy of {}").format(self.name) else: new_name = _(u"Copy of {} ({})").format(self.name, copied_count) default['name'] = new_name return super(Course, self).copy(default)
if self.seats < 0: return { 'warning': { 'title': _("Incorrect 'seats' value"), 'message': _("The number of available seats may not be negative"), }, } if self.seats < len(self.attendee_ids): return { 'warning': { 'title': _("Too many attendees"), 'message': _("Increase seats or remove excess attendees"), }, }
def _check_instructor_not_in_attendees(self): for r in self: if r.instructor_id and r.instructor_id in r.attendee_ids: raise exceptions.ValidationError(_("A session's instructor can't be an attendee"))