ผลต่างระหว่างรุ่นของ "Tutorial Odoo 9.0 Part 13 : Internationalization"

จาก Morange Wiki
(หน้าที่ถูกสร้างด้วย '== Internationalization เว็บหลายภาษา == ในส่วนนี้จะเป็นการ ดัดแป...')
 
(Internationalization เว็บหลายภาษา)
แถว 1: แถว 1:
 
== Internationalization เว็บหลายภาษา ==
 
== Internationalization เว็บหลายภาษา ==
ในส่วนนี้จะเป็นการ ดัดแปลงภาษาภายในเว็บ  
+
*ในส่วนนี้จะเป็นการ ดัดแปลงภาษาภายในเว็บ  
สร้าง directory ชื่อ openacademy/i18n/
+
*สร้าง directory ชื่อ openacademy/i18n/
เปิดโหมดนักพัฒนา
+
*เปิดโหมดนักพัฒนา
โหลดภาษาที่เราต้องการใช้งาน ( Administration ‣ Translations ‣ Load an Official Translation)
+
*โหลดภาษาที่เราต้องการใช้งาน ( Administration ‣ Translations ‣ Load an Official Translation)
ซึ้งคำศัพท์ให้เป็นล่าสุด (Administration ‣ Translations ‣ Application Terms ‣ Synchronize Translations)
+
*ซึ้งคำศัพท์ให้เป็นล่าสุด (Administration ‣ Translations ‣ Application Terms ‣ Synchronize Translations)
สร้าง temple ตัวแปลภาษาโดย Export ออกมาจาก Odoo ( Administration ‣ Translations -> Import/Export ‣ Export Translation) เป็นไฟล์ po ลงใน openacademy/i18n/
+
*สร้าง temple ตัวแปลภาษาโดย Export ออกมาจาก Odoo ( Administration ‣ Translations -> Import/Export ‣ Export Translation) เป็นไฟล์ po ลงใน openacademy/i18n/
ใน model.py ให้เพิ่ม _ เข้าไปใน import  
+
*ใน model.py ให้เพิ่ม _ เข้าไปใน import  
 
=== แก้ไข model.py ===
 
=== แก้ไข model.py ===
 
<pre>openacademy/models.py
 
<pre>openacademy/models.py

รุ่นแก้ไขเมื่อ 10:46, 19 กรกฎาคม 2559

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