ผลต่างระหว่างรุ่นของ "Tutorial Odoo 9.0 Part 13 : Internationalization"
จาก Morange Wiki
Bombay (คุย | มีส่วนร่วม) (→Internationalization เว็บหลายภาษา) |
Bombay (คุย | มีส่วนร่วม) (→Internationalization เว็บหลายภาษา) |
||
แถว 4: | แถว 4: | ||
*เปิดโหมดนักพัฒนา | *เปิดโหมดนักพัฒนา | ||
*โหลดภาษาที่เราต้องการใช้งาน ( Administration ‣ Translations ‣ Load an Official Translation) | *โหลดภาษาที่เราต้องการใช้งาน ( Administration ‣ Translations ‣ Load an Official Translation) | ||
+ | |||
+ | [[ไฟล์:Odoo13-1.png | 800px]] | ||
+ | |||
*ซึ้งคำศัพท์ให้เป็นล่าสุด (Administration ‣ Translations ‣ Application Terms ‣ Synchronize Translations) | *ซึ้งคำศัพท์ให้เป็นล่าสุด (Administration ‣ Translations ‣ Application Terms ‣ Synchronize Translations) | ||
+ | |||
+ | [[ไฟล์:Odoo13-2.png | 800px]] | ||
+ | |||
*สร้าง temple ตัวแปลภาษาโดย Export ออกมาจาก Odoo ( Administration ‣ Translations -> Import/Export ‣ Export Translation) เป็นไฟล์ po ลงใน openacademy/i18n/ | *สร้าง temple ตัวแปลภาษาโดย Export ออกมาจาก Odoo ( Administration ‣ Translations -> Import/Export ‣ Export Translation) เป็นไฟล์ po ลงใน openacademy/i18n/ | ||
+ | |||
+ | [[ไฟล์:Odoo13-3.png | 800px]] | ||
+ | |||
*ใน model.py ให้เพิ่ม _ เข้าไปใน import | *ใน model.py ให้เพิ่ม _ เข้าไปใน import | ||
=== แก้ไข model.py === | === แก้ไข model.py === |
รุ่นแก้ไขเมื่อ 11:00, 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"))