Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Correct way to add translations to Odoo through .po files?

Subscribe

Get notified when there's activity on this post

This question has been flagged
7 Replies
54811 Views
Avatar
Yenthe Van Ginneken (Mainframe Monkey)

Hi everybody

I've been trying and failing at translations for hours now. 
Could anybody tell me the correct way to add translations to Odoo through the .po files?
So far I've tried adding them to an existing .po file, made a new .po file, loaded translations again, removed the language again, hard refresh, ...

Under addons/l10n_be there is a file named fiscal_templates.xml and I'm trying to translate these records in Dutch:

    <record id="fiscal_position_template_1" model="account.fiscal.position.template">
            <field name="name">Régime National</field>
            <field name="chart_template_id" ref="l10nbe_chart_template"/>
    </record>
    <record id="fiscal_position_template_2" model="account.fiscal.position.template">
            <field name="name">Régime Extra-Communautaire</field>
            <field name="chart_template_id" ref="l10nbe_chart_template"/>
    </record>

    <record id="fiscal_position_template_3" model="account.fiscal.position.template">
            <field name="name">Régime Intra-Communautaire</field>
            <field name="chart_template_id" ref="l10nbe_chart_template"/>
    </record>

When the user his language is in Dutch I want them to be translated to Dutch too so I've added translations under l10n_be/i18n_extra/nl_BE.po and added a custom .po file (nl.po). Both files contain the same custom translation values:

# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_be
# Yenthe, 2015.
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-14 13:31+0000\n"
"PO-Revision-Date: 2013-03-14 16:41+0100\n"
"Last-Translator: Yenthe \n"
"Language-Team: \n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"

#. module: l10n_be
#: model:account.fiscal.position,name:l10n_be.fiscal_position_template_1
msgid "Régime National"
msgstr "Nationaal regime"

#. module: l10n_be
#: model:account.fiscal.position,name:l10n_be.fiscal_position_template_4
msgid "Régime National - Cocontractant"
msgstr "Nationaal regime - Medecontractant"

#. module: l10n_be
#: model:account.fiscal.position,name:l10n_be.fiscal_position_template_2
msgid "Régime Extra-Communautaire"
msgstr "Extra-communautair regime"

#. module: l10n_be
#: model:account.fiscal.position,name:l10n_be.fiscal_position_template_3
msgid "Régime Intra-Communautaire"
msgstr "Intra-Communautair regime"

#. module: l10n_be
#: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_1
msgid "Régime National"
msgstr "Nationaal regime"

#. module: l10n_be
#: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_4
msgid "Régime National - Cocontractant"
msgstr "Nationaal regime - Medecontractant"

#. module: l10n_be
#: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_2
msgid "Régime Extra-Communautaire"
msgstr "Extra-communautair regime"

#. module: l10n_be
#: model:account.fiscal.position.template,name:l10n_be.fiscal_position_template_3
msgid "Régime Intra-Communautaire"
msgstr "Intra-Communautair regime"

However when I look at the fiscal positions they are still in French and I cannot find my translations anywhere in Odoo.
I've tried -u and -i to update the module, I've tried adding a sequence to the __openerp__.py etcetc but nothing seems to load in the new translations

So, what am I missing / doing wrong and how do I get my custom translations in Odoo through the .po files?

With kind regards
Yenthe

4
Avatar
Discard
gunnar

hi Yenthe. I want to add a translation to another l10n module but this does not even have template .po files. Do you happen to know how you can generate those (looks to me as this might be an automated process). https://www.odoo.com/forum/help-1/question/v8-how-can-i-generate-translation-po-files-for-a-module-72608

Mital Vaghani

Hello Yenthe Van Ginneken,

It's mandatory to have translation source terms must be available in .pot file?

Avatar
akram
Best Answer

Follow below steps:

1) Go to

Settings ‣ Translations ‣ Import / Export ‣ Export Translations

leave the language to the default (new language/empty template) # DO NOT CHANGE THIS

select the PO File format

select your module

click Export and download the file

2) Add your translation terms in the downloaded file. i.e. msgstr "" section depending on your translation language

3) change the filename to language_iso_code.po

e.g. for portugese => pt.po

4) create i18n folder under your module and add po file in it.

5) restart Odoo

6) Go to:

Settings ‣ Translations ‣ Load a Translation

select translation language (in my eg. Portugese)

make sure you check this : Overwrite Existing Terms

click LOAD.

DONE

8
Avatar
Discard
Chintan Modi-BrowseInfo

--update=all helped me. updating or restarting the server did not work for me. But still this is very helpful. Thanks Akram.

Avatar
Kalpana Hemnani
Best Answer

Hello Yenthe,

No need to update module, you just need to load translation. go to Settings/ Translations / Load a Translation.

By clicking on that wizard select Language to translate and check Overwrite Existing Terms.

EDIT: You have to made field Translatable. add an attribute in fields translate=True.

Hope this helps.

0
Avatar
Discard
Yenthe Van Ginneken (Mainframe Monkey)
Author

Thanks for the answer Kalpana. I've tried this method but it doesn't work either, translations don't get updated and are not showing up anywhere in Odoo.

Yenthe Van Ginneken (Mainframe Monkey)
Author

The Translatable you're talking about won't have any effect by the way? My records are defined in XML.

Pascal Tremblay

When we click on « Load a translation », it means that Odoo checks in all the addon files to search .po files of the chosen language and overwrite the existing terms in place for this language? Is it possible to load only ONE .po file at a time instead of ALL the .po files at a time???

Girija Subramaniyan

While clicking Overwrite existing comands getting error !

Error Msg:

File not imported due to format mismatch or a malformed file. (Valid formats are .csv, .po, .pot)

Technical Details:

there is no unique or exclusion constraint matching the ON CONFLICT specification

Avatar
Alp ŞEBER
Best Answer

I was trying same during entire day and it was not showing all terms in translated language although everything were translated in PO file.

This morning, i went to settings, translations and translated terms and searched for an item (from old source, advanced) which had translation but not showing. 

I changed the translation, made the type view from object, saved and stop/start the server.

somehow, i guess this triggered the system to load the translation again since everything became translated. After i reverted back the field i broke with type to object.

it is weird but worked for me. 

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now