iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Odoo

利用【AI】工具,聰明進行 Odoo 程式開發系列 第 7

Day7:個案一:學校圖書管理(3)-將模組繁體中文化

  • 分享至 

  • xImage
  •  

使用者故事-我想模組內都以繁體中文開發

作為一名系統管理員,我想使用繁體中文管理系統
library_management 所有string 都以繁體中文來呈現及處理,後續所有的程式也都以繁體中文處理

ChatGPT 內容

為了在 library_management 模組中使用繁體中文,我將協助您將所有的字串轉換為繁體中文,並確保後續程式中的字串也以繁體中文呈現。以下是修改過的程式碼,包含模型、視圖中的字串翻譯。

1. 模型檔案 (Model Files)

models/library_book.py

from odoo import models, fields

class LibraryBook(models.Model):
    _name = 'library.book'
    _description = '書籍資料'

    name = fields.Char(string='書名', required=True)
    author = fields.Char(string='作者', required=True)
    isbn = fields.Char(string='ISBN', required=True)
    category_id = fields.Many2one('library.book.category', string='分類')
    stock_qty = fields.Integer(string='庫存數量', required=True)
    description = fields.Text(string='描述')

models/library_book_category.py

from odoo import models, fields

class LibraryBookCategory(models.Model):
    _name = 'library.book.category'
    _description = '書籍分類'

    name = fields.Char(string='分類名稱', required=True)
    description = fields.Text(string='描述')

2. 視圖檔案 (View Files)

views/library_book_views.xml

<odoo>
    <record id="view_library_book_tree" model="ir.ui.view">
        <field name="name">library.book.tree</field>
        <field name="model">library.book</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name" string="書名"/>
                <field name="author" string="作者"/>
                <field name="isbn" string="ISBN"/>
                <field name="category_id" string="分類"/>
                <field name="stock_qty" string="庫存數量"/>
            </tree>
        </field>
    </record>

    <record id="view_library_book_form" model="ir.ui.view">
        <field name="name">library.book.form</field>
        <field name="model">library.book</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <group>
                        <field name="name" string="書名"/>
                        <field name="author" string="作者"/>
                        <field name="isbn" string="ISBN"/>
                        <field name="category_id" string="分類"/>
                        <field name="stock_qty" string="庫存數量"/>
                    </group>
                    <group>
                        <field name="description" string="描述"/>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

    <record id="action_library_book" model="ir.actions.act_window">
        <field name="name">書籍管理</field>
        <field name="res_model">library.book</field>
        <field name="view_mode">tree,form</field>
    </record>

    <menuitem id="menu_library_root" name="圖書館"/>
    <menuitem id="menu_library_books" name="書籍管理" parent="menu_library_root" action="action_library_book"/>
</odoo>

views/library_book_category_views.xml

<odoo>
    <record id="view_library_book_category_tree" model="ir.ui.view">
        <field name="name">library.book.category.tree</field>
        <field name="model">library.book.category</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name" string="分類名稱"/>
                <field name="description" string="描述"/>
            </tree>
        </field>
    </record>

    <record id="view_library_book_category_form" model="ir.ui.view">
        <field name="name">library.book.category.form</field>
        <field name="model">library.book.category</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <group>
                        <field name="name" string="分類名稱"/>
                        <field name="description" string="描述"/>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

    <record id="action_library_book_category" model="ir.actions.act_window">
        <field name="name">書籍分類管理</field>
        <field name="res_model">library.book.category</field>
        <field name="view_mode">tree,form</field>
    </record>

    <menuitem id="menu_library_categories" name="書籍分類管理" parent="menu_library_root" action="action_library_book_category"/>
</odoo>

3. 權限檔案 (Security File)

security/ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_library_book,書籍管理,model_library_book,,1,1,1,1
access_library_book_category,書籍分類管理,model_library_book_category,,1,1,1,1

4. 程式碼中的注意事項

  • 欄位名稱string 屬性已經轉換為繁體中文,這樣在前端界面中顯示的所有字串都將是繁體中文。
  • 動作與選單名稱actionmenuitemname 也已經全部轉換為繁體中文。
  • 權限管理ir.model.access.csv 也使用了繁體中文來命名。

透過這樣的設定,您將能夠在 Odoo 系統中使用繁體中文進行管理,所有的字串都將以繁體中文呈現。如果有其他部分需要進一步翻譯,請隨時告知。

相關程式碼調整

調整 Pycharm 執行設定檔

-c odoo-17.0/odoo.conf -u library_management

https://ithelp.ithome.com.tw/upload/images/20240919/201022556MBBBeZkQS.jpg

執行成果

https://ithelp.ithome.com.tw/upload/images/20240919/20102255qEgaWK2hxq.jpg

本章結語

在設計開發同一模組時,在同一個ChatGPT不斷的交談更新,同時避免自己調整程式而不從ChatGPT產生程式碼,從一而終,這樣才能讓ChatGPT的設計及開發,發揮最大成效


上一篇
Day6:個案一:學校圖書管理(2)-依【使用者故事1】由ChatGPT產生所有程式碼
下一篇
Day8:個案一:學校圖書管理(4)-持續深化【使用者故事+程式邏輯】
系列文
利用【AI】工具,聰明進行 Odoo 程式開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言