您當前的位置:首頁 > 農業

Odoo14介紹3:Odoo的翻譯和中文字地化

作者:由 黃思危聊Anodoo 發表于 農業時間:2023-01-09

Odoo14介紹3:Odoo的翻譯和中文字地化

Odoo14介紹3:Odoo的翻譯和中文字地化

本系列背景介紹

Odoo 是一個基於Python語言構建的開源軟體,面向企業應用的CRM,ERP等領域,其目標是對標SAP,Oracle等大型軟體提供商,但卻透過僅僅一個平臺滿足企業所有管理的業務需求。

本系列文章針對Odoo 14版,從系統安裝,開發環境配置,程式碼結構,主要功能升級,原始碼賞析,Anodoo對Odoo的關鍵擴充套件等角度,預先給大家介紹即將在2020年釋出的這一最新版本。

本篇概述

Odoo

在本地化方面非常成熟,一套系統,不同國家不同語言都可以使用。針對系統中儲存的資料,都可以實現多語言支援。本文在介紹Odoo14的時候,同時將這個體系向大家做一個介紹。

Odoo官方是怎麼做好本地化工作

Odoo已經發展十幾年,具備非常成熟的架構和功能。在本地化方面也是非常成熟的,中國的使用者完全不用擔心。現有包括官方的,以及中國多個社群現有的翻譯成果已經可以很好地支援中文,如果自己定製,還可以基於Odoo的翻譯架構輕鬆地進一步最佳化。Anodoo的目標之一就是基於Odoo,透過翻譯最佳化,定製出一個完全面向國人的CRM,除了操作習慣,完全的中文化也是之一。

Odoo的官方本地化工作基於Transifex。關於Transifex,具體請訪問:http://www。transifex。com。(建議註冊和登入體驗一下)。目前在Transifex上的翻譯工作有幾千人,其中中文的翻譯有近300人,足以看出Odoo在中國的發展。

Odoo14介紹3:Odoo的翻譯和中文字地化

Odoo14介紹3:Odoo的翻譯和中文字地化

如何參與到Odoo 14官方的翻譯工作貢獻中國人的力量

透過上圖可以看到Odoo在上面維護了當前多個可用版本的本地化專案,包括2020年釋出的Odoo14。具體地址是:

https://www。

transifex。com/odoo/odoo

-master/

。你可以點選翻譯檢視如何參與。有多種方式,包括註冊和登入後線上翻譯,也可以下載PO,並使用poedit等編輯工具進行修改和維護。

由於Transifex提供了和Github整合的方案,Odoo應該是將自己的Github庫和Transifex進行了對接的。同時,從原始碼上,也看到Odoo和Gengo,Transifex等平臺有對接的模組,有興趣的可以好好研究,學習一下Odoo是如何做好本地化工作的。

如何在專案中做好Odoo本地化

由於Odoo是原始碼開放的免費產品,所以很多人都會基於原始碼釋出,或多或少都會做一些定製。那麼針對中文的翻譯可以說是很重要的一環。

那如何做好Odoo的中文翻譯呢,參考我的Anodoo專案,我會參與到Odoo官方的翻譯專案中,這樣可以將我專案中的一些翻譯提交到官網,同時,為了確保那些未被官方收錄的翻譯能應用在自己專案的上,所以會在Transifex上建立一個自己的翻譯專案,維護好自己的PO檔案,供Anodoo的使用者使用。

如果大家使用Odoo13,除了使用官方已經隨產品釋出提供的PO檔案之外,也可以到Transifex中下載最新的包,透過文字比較工具,快速將好的翻譯同步到自己的專案PO中,並保持半年或一年一次的同步頻率。自己的專案中一旦修改了PO檔案,就需要維護好這些檔案了。

專案中對於一些翻譯的修改還可以透過直接後臺修改記錄(ir_translation)的方式直接修改。這種修改的好處是快捷,但缺點是需要備份。

總結一下,最好的辦法,是平時在後臺數據庫即時修改,並定期將資料庫做了更新的部分定義同步PO檔案,也可以將官方和中國其他平臺社群提供的PO改進一併同步到自己的PO中,在一併更新到自己的系統。Anodoo由於是對外提供的CRM產品,所以會基於這個方法,同步維護好這些PO,從而實現在官方的基礎上,對中文翻譯改進。

Odoo的本地化設定

Odoo14介紹3:Odoo的翻譯和中文字地化

Odoo14介紹3:Odoo的翻譯和中文字地化

Odoo的本地化設定功能是非常豐富的。包括設定系統載入支援的語言,如英語,漢語等。可以透過多種方式如CSV,PO等匯入翻譯檔案,也可以匯出進行編輯。修改後,再匯入。可以透過“已翻譯術語”,檢視所有的翻譯記錄,並如上文所提到的,在這裡快捷修改翻譯中文。

針對使用者,Odoo在個人喜好中可以修改自己的語言。管理員可以設定所有使用者的預設語言為漢語,也可以在使用者管理中設定其他單個使用者的不同語言。

針對對外發布的網站,同樣可以設定網站可以使用那些語言釋出。對於多語言的網站,訪問者透過切換語言,可以檢視自己喜歡的語言版本。這個可以透過Odoo面向全球一百多個國家的官網檢視使用效果。

Odoo本地化的相關原始碼

Odoo的模組化做的非常好,同樣,在每一個模組下的i18n目錄,都提供了不同語言的翻譯檔案,如中文的zh_CN。po檔案。針對PO的檔案格式,這裡不重點描述。Odoo會透過註釋,將翻譯對應哪個模組Module,哪個模型Model,哪個欄位Field等都進行備註,所以,開發人員可以按照這個格式去查詢,或者建立翻譯條目。

以下是一段PO程式碼,便於你的理解

#。 module: crm #: model:ir。model。fields。field_description:crm。field_crm_lead_expected_revenue msgid “Prorated Revenue” msgstr “按比例分攤收入”

Odoo14介紹3:Odoo的翻譯和中文字地化

在base模組中,Odoo透過ir_translation。py對翻譯的所有條目進行管理,也就是系統會將PO中的資料匯入到這裡,然後在前臺渲染是透過同步到記憶體後進行快速讀取。Anodoo的做法是針對後臺修改的記錄,都會在這個表新增的標註欄位上做好標註,並定期將這些資料同步到PO中,再隨版本釋出或對外單獨提供更新。

Odoo同樣,提供了針對Gengo,Transifex的擴充套件,從而實現和這些平臺的對接,有興趣的可以具體研究。

結語

Odoo的中文化非常成熟,這也解除了國人使用這一國外開源產品的顧慮。中國人使用外國產品,如何做好中文化是基礎,所以這也是為什麼把這個主題放在系列的第三篇文章中介紹,希望對你們有幫助。

標簽: Odoo  PO  翻譯  本地化  Transifex