trypost/app
Paulo Castellano f7ef13c116 Centralize supported content languages in a ContentLanguage enum
The new content-language options were hand-duplicated across request
validation, the UI picker, and homepage detection, while the brand
analyzer's structured-output enum and the AI image prompt's language
name still only knew about en/pt-BR/es. That left autofill unable to
detect the new languages and made image text fall back to English for
them.

Introduce App\Enums\Workspace\ContentLanguage as the single source of
truth and derive every site from it:

- Store/UpdateWorkspaceRequest validate against ContentLanguage::values()
- BrandAnalyzer's language enum uses ContentLanguage::values()
- AiImageClient::languageName() resolves via the enum's englishName()
- HomepageMetaExtractor detects through ContentLanguage::fromHtmlLang()
- BrandForm consumes availableContentLanguages from the backend, like
  availableFonts/availableImageStyles, instead of a hardcoded list

Also fix two labels: nl "Nederlandse" -> "Nederlands", zh -> "中文".
2026-07-03 14:12:25 -03:00
..
Actions refactor(api): extract inline-media hosting into a HostInlineMedia action 2026-06-28 21:15:01 -03:00
Ai Centralize supported content languages in a ContentLanguage enum 2026-07-03 14:12:25 -03:00
Broadcasting feat(automations): implement automation features and UI enhancements 2026-05-24 09:17:19 -03:00
Concerns refactor: settings redesign, Spanish translations, language system, strict_types 2026-03-30 00:20:43 -03:00
Console/Commands Extract Telegram webhook registration into an action 2026-06-13 22:20:52 -03:00
DataTransferObjects fix(tiktok): resize oversized photos before PULL_FROM_URL 2026-06-26 12:23:56 -03:00
Enums Centralize supported content languages in a ContentLanguage enum 2026-07-03 14:12:25 -03:00
Events feat(telegram): surface connect failure in the dialog instead of silent expiry 2026-06-22 09:55:12 -03:00
Exceptions feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
Helpers fix: correct Upload.php filename case for Linux CI 2026-03-31 12:01:48 -03:00
Http Centralize supported content languages in a ContentLanguage enum 2026-07-03 14:12:25 -03:00
Jobs refactor(social): trim verbose comments + harden X chunked upload from review 2026-06-28 20:37:04 -03:00
Listeners refactor(billing): replace MonthlyCreditsLimit Pennant feature with BillingCycle 2026-06-22 09:55:03 -03:00
Mail feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
Mcp fix(linkedin): align PDF compatibility across editor, MCP schedule, and tests 2026-06-24 17:36:39 -03:00
Models refactor(social): trim verbose comments + harden X chunked upload from review 2026-06-28 20:37:04 -03:00
Observers fix: merge-readiness — close two billing/network bugs, harden tests 2026-06-22 09:26:31 -03:00
Policies refactor(permissions): drop explanatory comments, fix stale PostPolicy docblock 2026-06-22 16:35:27 -03:00
Providers fix(ci): drop unused Pennant feature discovery 2026-06-22 13:09:02 -03:00
Rules refactor(media): centralize image/video/document detection in Media\Type 2026-06-25 10:57:57 -03:00
Services Centralize supported content languages in a ContentLanguage enum 2026-07-03 14:12:25 -03:00
Socialite feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Support fix(api): roll back hosted media when an inline url batch partially fails 2026-06-28 20:59:21 -03:00