addons-cm/website_sale_aplicoop/i18n
GitHub Copilot b3999e2283 [REM] website_sale_aplicoop: remove dead code and orphaned tests
Duplicate _translate_labels fallback, unreachable /eskaera/add-to-cart and
/eskaera/save-cart routes (the frontend cart is localStorage-only and uses
save-order), redundant pickup wrappers, unused pagination/count helpers and
fields, deprecated JS shims, and the already-empty checkout_summary.js and
i18n key/init leftovers.

Also drops 11 tests/*.py never wired into tests/__init__.py: three were
unimplemented placeholders (setUp with no assertions), and the other eight
had real assertions but were bit-rotted against the current schema (e.g.
res.partner.is_supplier no longer exists) — wiring them in surfaced 43
failures unrelated to this cleanup. Verified 0 failed/0 errors of 270 tests
both before and after.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-16 22:31:13 +02:00
..
ca.po [ADD] website_sale_aplicoop: online payment per group order 2026-08-16 21:59:35 +02:00
es.po [ADD] website_sale_aplicoop: online payment per group order 2026-08-16 21:59:35 +02:00
eu.po [ADD] website_sale_aplicoop: online payment per group order 2026-08-16 21:59:35 +02:00
README.md [IMP] website_sale_aplicoop: accessibility and responsive polish — phase 8 2026-08-16 11:34:38 +02:00

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:

  1. Edit the corresponding .po file with polib (never msgmerge, it corrupts them)
  2. Update the msgstr values (keep msgid unchanged)
  3. Save and reload the module in Odoo
  4. 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 .po files 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.