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"))