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

How to generate translation terms for field values? "translate=True" did not work.

Subscribe

Get notified when there's activity on this post

This question has been flagged
translation
1 Reply
22905 Views
Avatar
Martin

According to documentation and many forum posts, the fields with translate=True should generate Translated Terms available in settings and in table ir.translation.

So, I start from scratch.

1) I add a field to my model:

transme = fields.Char('Transme', translate=True)

2) I do an upgrade on my module. The field appears in the database.

3) I do an SQL update on that field to set test values. I set transme for all records to text value "dummy" just for test.

4) I go to Settings -> Translations -> Generate missing terms

5) I look in the translations list and find the latest added values. Also checking ir.translation in the database.

But I see only 

"ir.model.fields,field_description";"model";"Transme"

record.

There is no translation generated for the field value "dummy".

What am I missing here? How do I generate translation terms for field values of my new field?


Using Odoo v13.

0
Avatar
Discard
Avatar
Martin
Author Best Answer

After some "reverse engineering" and lots of experiments here's what I found.

Initially, when reading Odoo documentation there is this sentence:

if their translate attribute is set to True, all of their existing values (across all records) are exported

From this formulation, I imagined that "Generate missing terms" will run something like 'SELECT DISTINCT myfield' to collect all possible values and generate corresponding ir.translation records. However, Odoo does not do that.

If I want to translate all possible field values, I have to create Selection field like this:

transme= fields.Selection([

        ('one', 'Onny'),

        ('two', 'Twoy'),

        ('none', 'Nonny')

    ], default='none', String=Transme', translate=True)


Then  "Generate missing terms" will generate all the values for Selection. A caveat - the keys will be generated with Selection value names, not values. That is, you won't find one,two,none in translations but will have to look for Onny,Twoy,Nonny.

WARNING: do not try to copy translation term rows directly in Translated Terms grid!

Copied records do not always work because some important hidden information does not get copied correctly. Always use "Generate missing terms" after adding new translate=True and other translated strings.

Another caveat - when displaying translated values in views, use t-field and not t-esc. Only t-field values get translated.

Returning to my original example:

transme = fields.Char('Transme', translate=True)

this will only make it possible to translate specific records one-by-one, when opening their edit view and using the translation icon in the corner of the field. Translations added to one record will not automagically translate other records, even if they have the same values. So, yeah, "existing values (across all records) are exported" is a bit misleading. You have to always use selections or relations to translate existing values across all records.

If there's some other way how to make Odoo translate all existing Char string values across all records without actually attaching to specific record, then please let me know. For the time being, I'll have to use Selection.

2
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
Related Posts Replies Views Activity
Translations for the top menu URL's
translation
Avatar
0
Dec 24
2089
downloading the po file
translation
Avatar
Avatar
Avatar
2
Feb 24
3506
Language translation through .po file
translation
Avatar
Avatar
Avatar
Avatar
4
Nov 23
4528
Unable to change Javascript translation
translation
Avatar
1
Aug 22
4323
How to translate content of text fields from records Solved
translation
Avatar
Avatar
1
Sep 20
13557
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