SlideShare a Scribd company logo
Translation Engine in Odoo
Ranjit Pillai (rpi-odoo)
Jr. Application Engineer
Tiny ERP Pvt. Ltd.
Agenda
● Architecture of Translation Engine
● Load Translation from po file
● Export Translation into pot file
● About Transifex
● Integrate Translation Web Service: Gengo
Architecture of Translation Engine
Odoo
Translation
Engine
(ir.translation)
po file pot file
Webpage/View
Transifex
(Translator)
Import/Load Export
Template FileTranslated File
Language
in context
Translated
View
UTW
TW
❖ UTW - Untranslated Words
❖ TW - Translated Words
Load Translation
● Load the particular language Settings>Translation>Load a Translation
● Change the user’s language Preferences>Language
Odoo
Translation
Engine
(ir.translation)
po file
Import/Load
Webpage/View
Language
in context
Translated
View
Export Translation into POT file
● To generate .pot file go to Settings>Translation>Import/Export>Export
Translation
Odoo
Translation
Engine
(ir.translation)
pot file
Export
Translation Export Types
Implicit exports
● Odoo automatically exports translatable strings like:
○ In non-QWeb views, all text nodes are exported as well as the content of the “string”, “help”,
“sum”, “confirm” and “placeholder” attributes.
○ In QWeb templates, all text nodes are exported except inside t-translation=’off’ blocks, the
content of the “title”, “alt”, “label” and “placeholder” attributes are also exported.
○ for class:`openerp.fields.Field`, unless their field is marked with “translate = False”: their “string”
and “help” attributes are exported.
○ If “selection” is present and a list (or tuple), it is exported.
○ help/error messages of `openerp.models.Model._constraints` and `openerp.models.Model.
_sql_constraints` are exported.
Translation Export Types(Cont.)
Explicit exports
● When it comes to more "imperative" situations in Python code or
Javascript code, Odoo cannot automatically export translatable terms so
they must be marked explicitly for export. This is done by wrapping a
literal string in a function call.
○ In Python, the wrapping function is :`openerp._`
■ title = _("Bank Accounts")
○ In JavaScript, the wrapping function is generally :`openerp.web._t`
■ title = _t("Bank Accounts")
Structure of translation terms
Note.pot
fr.po (inside note/i18n)
ir.translation
model
● Example of type = model:
Structure of translation terms(cont.)
Stock.pot
fr.po (inside stock/i18n)
ir.translation
model
● Example of type = code:
● Other types are selection, constraint and sql_constraint
Directory Structure of i18n in Odoo
POT files are basically the template files for PO files. It
will have all the translation strings (the msgstr parts) left
empty.
PO files are the files which contain the actual
translations. Each language will have its own PO file, for
example, for French there would be a fr.po file, for
german there would be a de.po and so on..
Translating Odoo with Transifex
● The easiest way to translate Odoo is to use the dedicated Translation
interface on Transifex.
● Transifex provides a web-based translation interface, which can be used
to translate.
● Translation Teams on Transifex
○ Every language is managed by a dedicated translation team. Anyone is free to join any translation
team at any point. Within each team, members can have different roles:
■ Translator: free to join, can submit translation suggestions (this is your role when you initially join a
team)
■ Reviewer: can approve translation suggestions from Translators.
■ Coordinator: can manage the members of the team and appoint Reviewers.
Translating Odoo with Transifex(cont.)
● Architecture of Transifex
<module>.pot Transifex
<lang>.po
<lang>.po
<lang>.po
<lang>.po
Gengo Translation
● Gengo is a web-based human translation platform.
● In Odoo, Gengo is used to translate the text of the Website.
Send Words
Receive Translated
Words
Thank You !!!
References
References:
● https://github.com/odoo/odoo/wiki/Translations
● https://www.odoo.
com/documentation/master/reference/translations.html
Useful Links:
● Transifex Tutorial : http://docs.transifex.com/tutorials/client/
● Odoo & Transifex : https://www.transifex.com/odoo/public/
● GNU gettext : http://www.gnu.
org/software/gettext/manual/gettext.html

More Related Content

What's hot

Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best Practices
Odoo
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
Odoo
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
Odoo
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
Sugantha T
 
Django Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersDjango Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python Developers
Rosario Renga
 
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
wxFormBuilder - Tutorial on “A GUI for making GUIs” for PythonwxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
Umar Yusuf
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Odoo
 
Odoo Web Services
Odoo Web ServicesOdoo Web Services
Odoo Web Services
Celine George
 
odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)
Mohamed Magdy
 
What is context? How to use context in Odoo by weblearns
What is context? How to use context in Odoo by weblearnsWhat is context? How to use context in Odoo by weblearns
What is context? How to use context in Odoo by weblearns
Web Learns
 
Fastapi
FastapiFastapi
Develop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connectorDevelop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connector
odoohub
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challenges
Odoo
 
OpenWF 1.0 Composition Reference Card
OpenWF 1.0 Composition Reference CardOpenWF 1.0 Composition Reference Card
OpenWF 1.0 Composition Reference Card
The Khronos Group Inc.
 
Odoo Expenses - An Easier Way to Submit and Approve Receipts
Odoo Expenses - An Easier Way to Submit and Approve ReceiptsOdoo Expenses - An Easier Way to Submit and Approve Receipts
Odoo Expenses - An Easier Way to Submit and Approve Receipts
Odoo
 
Debugging Python with Pdb!
Debugging Python with Pdb!Debugging Python with Pdb!
Debugging Python with Pdb!
Noelle Daley
 
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
ElínAnna Jónasdóttir
 
Functional Programming
Functional ProgrammingFunctional Programming
Functional Programming
Ryan Riley
 
Using runbot to test all your developments automatically
Using runbot to test all your developments automaticallyUsing runbot to test all your developments automatically
Using runbot to test all your developments automatically
Odoo
 

What's hot (20)

Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best Practices
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
 
Improving the performance of Odoo deployments
Improving the performance of Odoo deploymentsImproving the performance of Odoo deployments
Improving the performance of Odoo deployments
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
 
Django Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python DevelopersDjango Framework Overview forNon-Python Developers
Django Framework Overview forNon-Python Developers
 
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
wxFormBuilder - Tutorial on “A GUI for making GUIs” for PythonwxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
wxFormBuilder - Tutorial on “A GUI for making GUIs” for Python
 
Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...Tips on how to improve the performance of your custom modules for high volume...
Tips on how to improve the performance of your custom modules for high volume...
 
Odoo Web Services
Odoo Web ServicesOdoo Web Services
Odoo Web Services
 
Cheat Sheet java
Cheat Sheet javaCheat Sheet java
Cheat Sheet java
 
odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)
 
What is context? How to use context in Odoo by weblearns
What is context? How to use context in Odoo by weblearnsWhat is context? How to use context in Odoo by weblearns
What is context? How to use context in Odoo by weblearns
 
Fastapi
FastapiFastapi
Fastapi
 
Develop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connectorDevelop a connector on any apps using Odoo-connector
Develop a connector on any apps using Odoo-connector
 
Odoo Online platform: architecture and challenges
Odoo Online platform: architecture and challengesOdoo Online platform: architecture and challenges
Odoo Online platform: architecture and challenges
 
OpenWF 1.0 Composition Reference Card
OpenWF 1.0 Composition Reference CardOpenWF 1.0 Composition Reference Card
OpenWF 1.0 Composition Reference Card
 
Odoo Expenses - An Easier Way to Submit and Approve Receipts
Odoo Expenses - An Easier Way to Submit and Approve ReceiptsOdoo Expenses - An Easier Way to Submit and Approve Receipts
Odoo Expenses - An Easier Way to Submit and Approve Receipts
 
Debugging Python with Pdb!
Debugging Python with Pdb!Debugging Python with Pdb!
Debugging Python with Pdb!
 
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
Odoo Experience 2018 - How to Break Odoo Security (or how to prevent it)
 
Functional Programming
Functional ProgrammingFunctional Programming
Functional Programming
 
Using runbot to test all your developments automatically
Using runbot to test all your developments automaticallyUsing runbot to test all your developments automatically
Using runbot to test all your developments automatically
 

Viewers also liked

Odoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo EcommerceOdoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo Ecommerce
Tech Receptives
 
OpenERP - Whole Company Meeting
OpenERP - Whole Company MeetingOpenERP - Whole Company Meeting
OpenERP - Whole Company Meeting
Odoo
 
Workflow functional concept on openerp7
Workflow functional concept on openerp7Workflow functional concept on openerp7
Workflow functional concept on openerp7Aziza Mohamed
 
Odoo accounting or financial module:
Odoo accounting or financial module:Odoo accounting or financial module:
Odoo accounting or financial module:
Aspirant Labs
 
Odoo acces rights & groups
Odoo acces rights & groupsOdoo acces rights & groups
Odoo acces rights & groups
Lithin Thampan
 
Odoo 8 tutorial part 2
Odoo 8 tutorial   part 2Odoo 8 tutorial   part 2
Odoo 8 tutorial part 2
Md Omar Bare
 
Odoo access rights
Odoo access rightsOdoo access rights
Odoo access rights
Bharat khandelwal
 
Odoo 8 tutorial HR Module part 1
Odoo 8 tutorial   HR Module part 1Odoo 8 tutorial   HR Module part 1
Odoo 8 tutorial HR Module part 1
Md Omar Bare
 
Odoo Accounting Roadmap
Odoo Accounting RoadmapOdoo Accounting Roadmap
Odoo Accounting RoadmapOdoo
 
Odoo (OpenERP) User Manual - Human Resource
Odoo (OpenERP) User Manual - Human Resource Odoo (OpenERP) User Manual - Human Resource
Odoo (OpenERP) User Manual - Human Resource
Shivam Dixit
 
Odoo 8 tutorial accounting part 1
Odoo 8 tutorial   accounting part 1Odoo 8 tutorial   accounting part 1
Odoo 8 tutorial accounting part 1
Md Omar Bare
 
The benefits of odoo
The benefits of odoo The benefits of odoo
The benefits of odoo
ATEES Industrial Training Pvt Ltd
 
Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
Daniel Reis
 
Odoo introduction
Odoo introductionOdoo introduction
Odoo introduction
hdarabi
 
Odoo - Business intelligence: Develop cube views for your own objects
Odoo - Business intelligence: Develop cube views for your own objectsOdoo - Business intelligence: Develop cube views for your own objects
Odoo - Business intelligence: Develop cube views for your own objects
Odoo
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with Odoo
Odoo
 
Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo
 
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...Odoo
 
OpenERP Formation Web
OpenERP Formation WebOpenERP Formation Web
OpenERP Formation Web
Guillaume Jullien
 

Viewers also liked (20)

Odoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo EcommerceOdoo Features | Opensource ERP | Odoo Ecommerce
Odoo Features | Opensource ERP | Odoo Ecommerce
 
OpenERP - Whole Company Meeting
OpenERP - Whole Company MeetingOpenERP - Whole Company Meeting
OpenERP - Whole Company Meeting
 
Odoo report
Odoo reportOdoo report
Odoo report
 
Workflow functional concept on openerp7
Workflow functional concept on openerp7Workflow functional concept on openerp7
Workflow functional concept on openerp7
 
Odoo accounting or financial module:
Odoo accounting or financial module:Odoo accounting or financial module:
Odoo accounting or financial module:
 
Odoo acces rights & groups
Odoo acces rights & groupsOdoo acces rights & groups
Odoo acces rights & groups
 
Odoo 8 tutorial part 2
Odoo 8 tutorial   part 2Odoo 8 tutorial   part 2
Odoo 8 tutorial part 2
 
Odoo access rights
Odoo access rightsOdoo access rights
Odoo access rights
 
Odoo 8 tutorial HR Module part 1
Odoo 8 tutorial   HR Module part 1Odoo 8 tutorial   HR Module part 1
Odoo 8 tutorial HR Module part 1
 
Odoo Accounting Roadmap
Odoo Accounting RoadmapOdoo Accounting Roadmap
Odoo Accounting Roadmap
 
Odoo (OpenERP) User Manual - Human Resource
Odoo (OpenERP) User Manual - Human Resource Odoo (OpenERP) User Manual - Human Resource
Odoo (OpenERP) User Manual - Human Resource
 
Odoo 8 tutorial accounting part 1
Odoo 8 tutorial   accounting part 1Odoo 8 tutorial   accounting part 1
Odoo 8 tutorial accounting part 1
 
The benefits of odoo
The benefits of odoo The benefits of odoo
The benefits of odoo
 
Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014Service Management with Odoo/OpenERP - Opendays 2014
Service Management with Odoo/OpenERP - Opendays 2014
 
Odoo introduction
Odoo introductionOdoo introduction
Odoo introduction
 
Odoo - Business intelligence: Develop cube views for your own objects
Odoo - Business intelligence: Develop cube views for your own objectsOdoo - Business intelligence: Develop cube views for your own objects
Odoo - Business intelligence: Develop cube views for your own objects
 
How to manage a service company with Odoo
How to manage a service company with OdooHow to manage a service company with Odoo
How to manage a service company with Odoo
 
Odoo - Presentation documentation v8
Odoo - Presentation documentation v8Odoo - Presentation documentation v8
Odoo - Presentation documentation v8
 
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
E-commerce: the new Magento - OpenERP Connector: a generic connector to any a...
 
OpenERP Formation Web
OpenERP Formation WebOpenERP Formation Web
OpenERP Formation Web
 

Similar to Translation engine in odoo

Gettext i18n system - internationalization for gettext
Gettext i18n system - internationalization for gettextGettext i18n system - internationalization for gettext
Gettext i18n system - internationalization for gettext
LingoHub
 
Ezodf extension documentation
Ezodf extension documentationEzodf extension documentation
Ezodf extension documentationAnoir Zribi
 
Translation in Odoo 14
Translation in Odoo 14Translation in Odoo 14
Translation in Odoo 14
Celine George
 
Tr8n for php - Michael Berkovich
Tr8n for php - Michael BerkovichTr8n for php - Michael Berkovich
Tr8n for php - Michael BerkovichCaroline_Rose
 
Mx trans pack_instructions
Mx trans pack_instructionsMx trans pack_instructions
Mx trans pack_instructions
MX Community
 
Python Training in Chandigarh
Python Training in ChandigarhPython Training in Chandigarh
Python Training in Chandigarh
Excellence Technology
 
Intro to Python with GPIO
Intro to Python with GPIOIntro to Python with GPIO
Intro to Python with GPIO
primeteacher32
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
primeteacher32
 
Introduction to Python Unit -1 Part .pdf
Introduction to Python Unit -1 Part .pdfIntroduction to Python Unit -1 Part .pdf
Introduction to Python Unit -1 Part .pdf
VaibhavKumarSinghkal
 
Python Programming.pptx
Python Programming.pptxPython Programming.pptx
Python Programming.pptx
DineshThakur911173
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
Matt Smith
 
Experience protocol buffer on android
Experience protocol buffer on androidExperience protocol buffer on android
Experience protocol buffer on android
Richard Chang
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
Ahmad Hassan
 
Python tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academyPython tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academy
TIB Academy
 
Configuring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on PycharmConfiguring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on Pycharm
Celine George
 
Configuring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on PycharmConfiguring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on Pycharm
Celine George
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
YASHJAIN579460
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
Aditya Patel
 
Python Programming and ApplicationsUnit-1.docx
Python Programming and ApplicationsUnit-1.docxPython Programming and ApplicationsUnit-1.docx
Python Programming and ApplicationsUnit-1.docx
Manohar k
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
ApxicTechnologies1
 

Similar to Translation engine in odoo (20)

Gettext i18n system - internationalization for gettext
Gettext i18n system - internationalization for gettextGettext i18n system - internationalization for gettext
Gettext i18n system - internationalization for gettext
 
Ezodf extension documentation
Ezodf extension documentationEzodf extension documentation
Ezodf extension documentation
 
Translation in Odoo 14
Translation in Odoo 14Translation in Odoo 14
Translation in Odoo 14
 
Tr8n for php - Michael Berkovich
Tr8n for php - Michael BerkovichTr8n for php - Michael Berkovich
Tr8n for php - Michael Berkovich
 
Mx trans pack_instructions
Mx trans pack_instructionsMx trans pack_instructions
Mx trans pack_instructions
 
Python Training in Chandigarh
Python Training in ChandigarhPython Training in Chandigarh
Python Training in Chandigarh
 
Intro to Python with GPIO
Intro to Python with GPIOIntro to Python with GPIO
Intro to Python with GPIO
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
Introduction to Python Unit -1 Part .pdf
Introduction to Python Unit -1 Part .pdfIntroduction to Python Unit -1 Part .pdf
Introduction to Python Unit -1 Part .pdf
 
Python Programming.pptx
Python Programming.pptxPython Programming.pptx
Python Programming.pptx
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
 
Experience protocol buffer on android
Experience protocol buffer on androidExperience protocol buffer on android
Experience protocol buffer on android
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
 
Python tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academyPython tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academy
 
Configuring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on PycharmConfiguring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on Pycharm
 
Configuring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on PycharmConfiguring Odoo 15 Project on Pycharm
Configuring Odoo 15 Project on Pycharm
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Basic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptxBasic Python Introduction Lecture 1.pptx
Basic Python Introduction Lecture 1.pptx
 
Python Programming and ApplicationsUnit-1.docx
Python Programming and ApplicationsUnit-1.docxPython Programming and ApplicationsUnit-1.docx
Python Programming and ApplicationsUnit-1.docx
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Translation engine in odoo

  • 1. Translation Engine in Odoo Ranjit Pillai (rpi-odoo) Jr. Application Engineer Tiny ERP Pvt. Ltd.
  • 2. Agenda ● Architecture of Translation Engine ● Load Translation from po file ● Export Translation into pot file ● About Transifex ● Integrate Translation Web Service: Gengo
  • 3. Architecture of Translation Engine Odoo Translation Engine (ir.translation) po file pot file Webpage/View Transifex (Translator) Import/Load Export Template FileTranslated File Language in context Translated View UTW TW ❖ UTW - Untranslated Words ❖ TW - Translated Words
  • 4. Load Translation ● Load the particular language Settings>Translation>Load a Translation ● Change the user’s language Preferences>Language Odoo Translation Engine (ir.translation) po file Import/Load Webpage/View Language in context Translated View
  • 5. Export Translation into POT file ● To generate .pot file go to Settings>Translation>Import/Export>Export Translation Odoo Translation Engine (ir.translation) pot file Export
  • 6. Translation Export Types Implicit exports ● Odoo automatically exports translatable strings like: ○ In non-QWeb views, all text nodes are exported as well as the content of the “string”, “help”, “sum”, “confirm” and “placeholder” attributes. ○ In QWeb templates, all text nodes are exported except inside t-translation=’off’ blocks, the content of the “title”, “alt”, “label” and “placeholder” attributes are also exported. ○ for class:`openerp.fields.Field`, unless their field is marked with “translate = False”: their “string” and “help” attributes are exported. ○ If “selection” is present and a list (or tuple), it is exported. ○ help/error messages of `openerp.models.Model._constraints` and `openerp.models.Model. _sql_constraints` are exported.
  • 7. Translation Export Types(Cont.) Explicit exports ● When it comes to more "imperative" situations in Python code or Javascript code, Odoo cannot automatically export translatable terms so they must be marked explicitly for export. This is done by wrapping a literal string in a function call. ○ In Python, the wrapping function is :`openerp._` ■ title = _("Bank Accounts") ○ In JavaScript, the wrapping function is generally :`openerp.web._t` ■ title = _t("Bank Accounts")
  • 8. Structure of translation terms Note.pot fr.po (inside note/i18n) ir.translation model ● Example of type = model:
  • 9. Structure of translation terms(cont.) Stock.pot fr.po (inside stock/i18n) ir.translation model ● Example of type = code: ● Other types are selection, constraint and sql_constraint
  • 10. Directory Structure of i18n in Odoo POT files are basically the template files for PO files. It will have all the translation strings (the msgstr parts) left empty. PO files are the files which contain the actual translations. Each language will have its own PO file, for example, for French there would be a fr.po file, for german there would be a de.po and so on..
  • 11. Translating Odoo with Transifex ● The easiest way to translate Odoo is to use the dedicated Translation interface on Transifex. ● Transifex provides a web-based translation interface, which can be used to translate. ● Translation Teams on Transifex ○ Every language is managed by a dedicated translation team. Anyone is free to join any translation team at any point. Within each team, members can have different roles: ■ Translator: free to join, can submit translation suggestions (this is your role when you initially join a team) ■ Reviewer: can approve translation suggestions from Translators. ■ Coordinator: can manage the members of the team and appoint Reviewers.
  • 12. Translating Odoo with Transifex(cont.) ● Architecture of Transifex <module>.pot Transifex <lang>.po <lang>.po <lang>.po <lang>.po
  • 13. Gengo Translation ● Gengo is a web-based human translation platform. ● In Odoo, Gengo is used to translate the text of the Website. Send Words Receive Translated Words
  • 15. References References: ● https://github.com/odoo/odoo/wiki/Translations ● https://www.odoo. com/documentation/master/reference/translations.html Useful Links: ● Transifex Tutorial : http://docs.transifex.com/tutorials/client/ ● Odoo & Transifex : https://www.transifex.com/odoo/public/ ● GNU gettext : http://www.gnu. org/software/gettext/manual/gettext.html