feat(i18n): add multilingual platform descriptions and HostWizard demo data
Some checks failed
CI / ruff (push) Successful in 11s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled

- Add description_translations JSON column to Platform model + migration
- Add language tabs to platform admin edit form for multilingual descriptions
- Update API schemas to include description_translations in request/response
- Translate pricing section UI labels via _t() macro (monthly/annual/CTA/etc.)
- Add Luxembourgish (lb) support to all platforms (OMS, Main, Loyalty, Hosting)
- Seed description_translations, contact emails, and social links for all platforms
- Add LuxWeb Agency demo merchant with hosting stores, team, and content pages
- Fix language code typo: lu → lb in platform-edit.js availableLanguages
- Fix store content pages to use correct primary platform instead of hardcoded OMS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 23:38:52 +01:00
parent 2268f32f51
commit 820ab1aaa4
8 changed files with 327 additions and 32 deletions

View File

@@ -41,6 +41,7 @@ class PlatformResponse(BaseModel):
code: str
name: str
description: str | None = None
description_translations: dict[str, str] | None = None
domain: str | None = None
path_prefix: str | None = None
logo: str | None = None
@@ -76,6 +77,7 @@ class PlatformUpdateRequest(BaseModel):
name: str | None = None
description: str | None = None
description_translations: dict[str, str] | None = None
domain: str | None = None
path_prefix: str | None = None
logo: str | None = None
@@ -115,6 +117,7 @@ def _build_platform_response(db: Session, platform) -> PlatformResponse:
code=platform.code,
name=platform.name,
description=platform.description,
description_translations=platform.description_translations,
domain=platform.domain,
path_prefix=platform.path_prefix,
logo=platform.logo,