The cart button that opens /eskaera/<slug>/checkout read "Proceed to
Checkout", and the curated eu/ca translations went further ("Ordaintzera
Joan", "Finalitza la Comanda"), all implying a payment step. With
instances running both with and without online payment, revert it to the
neutral "Review Order" in the source string, the JS labels and the es/eu/ca
translations.
Changing the msgid also drops the stale DB translation on update, so the
instance that still showed "Ir al pago" picks up the fresh term.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| ca.po | ||
| es.po | ||
| eu.po | ||
| README.md | ||
Website Sale Aplicoop - Translations
Language Support
This module has complete translation support for 3 languages:
| Language | Code | Status | Coverage |
|---|---|---|---|
| Spanish | es |
✅ Complete | 100% |
| Catalan | ca |
✅ Complete | 100% |
| Basque (Euskera) | eu |
✅ Complete | 100% |
Translated Content
Each .po file contains 388 translations for:
-
Selection Field Options (Days of week, Recurrence periods)
- Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
- Daily, Weekly, Biweekly, Monthly
-
Order States
- Draft, Open, Closed, Cancelled
-
Order Types
- Regular Order, Special Order, Promotional Order
-
Field Labels & Help Text
- 40+ field definitions with labels, help text, and descriptions
Usage
When users switch their Odoo interface language to any of the supported languages, all UI strings will automatically display in that language.
Example
- English: "Group Order"
- Spanish: "Pedido de Grupo"
- Catalan: "Comanda de Grup"
- Basque (Euskera): "Taldeko Eskaera"
Translation Workflow
To add or update translations:
- Edit the corresponding
.pofile withpolib(nevermsgmerge, it corrupts them) - Update the
msgstrvalues (keepmsgidunchanged) - Save and reload the module in Odoo
- Translations apply immediately
Adding a new string is not just a .po edit
website_sale_aplicoop.pot is generated by Odoo and is gitignored, but it is not
optional: Odoo merges every .po against it before importing, and polib's merge()
drops entries the POT does not have and replaces their occurrences with the POT's.
A brand new string, or an existing one that just became a view term, needs the POT
regenerated (from the Odoo UI, against a database without demo data) before its
translation applies anywhere.
Three failure modes that produce no error at all — an untranslatable attribute
(data-bs-title is not on QWeb's list, title is), a missing
model_terms:ir.ui.view reference in the POT, and a missing #. odoo-python
comment on _() strings — are written up in
docs/TRANSLATIONS.md, under Troubleshooting.
Example entry in a .po file:
#. module: website_sale_aplicoop
msgid "Group Order"
msgstr "Pedido de Grupo" # Spanish translation
Maintenance
- All
.pofiles were generated and tested: 40/40 tests passing - Translation coverage: 100% for all supported languages
- Last updated: August 16, 2026
Note: The module includes English strings by default. No en.po file is needed as English is the source language.