# Localize category topic templates

**URL:** https://meta.discourse.org/t/localize-category-topic-templates/412279
**Category:** Feature
**Tags:** content-localization
**Created:** [12 september 2026 om 13:56 UTC](https://meta.discourse.org/t/localize-category-topic-templates/412279 "2026-09-12T13:56:49Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![SilentNewt95](https://avatars.discourse-cdn.com/v4/letter/s/848f3c/32.png) [@SilentNewt95](https://meta.discourse.org/u/SilentNewt95)
#### Post date: [13 september 2026 om 13:03 UTC](https://meta.discourse.org/t/localize-category-topic-templates/412279/2 "2026-09-13T13:03:56Z")

</div>

Following up on my original request with a concrete implementation sketch — happy to help with a PR if the direction sounds reasonable.

**Problem:** Category topic templates (`categories.topic_template`) are not localizable. The `CategoryLocalization` model and the `Localizable` concern only cover `name` and `description`, and the AI Content Localization pipeline skips templates accordingly. The composer always inserts the base-locale template, regardless of the user’s locale.

**Use case:** We run a bilingual (DE/EN) community on Discourse AI Content Localization with auto-translation in production. Translating posts/topics works great, but category templates for structured content — bug report forms with checklists, RSVP flows via `[event]` BBCode — cannot be duplicated per language, because functional BBCode must exist exactly once. The only workaround is a single template with awkward bilingual labels (“App-Version / App version:”), which hurts readability for everyone.

**Proposal:**

1. Add a nullable `topic_template` text column to `category_localizations`
2. Composer: if a localization for the user’s current locale exists, use its template; fall back to `category.topic_template`
3. Expose/persist the field per locale in the category admin UI (next to localized name/description)
4. Include `topic_template` in the AI Content Localization pipeline when translating categories (like `description`)

Migration is trivial (`add_column :category_localizations, :topic_template, :text`); the main work is composer selection logic and admin UI.

**Alternatives considered:**

- Bilingual single template (current workaround) — breaks down with functional BBCode blocks
- Theme component injecting per-locale text — fragile, no server-side validation, breaks API composers

---

_[View the full topic](https://meta.discourse.org/t/localize-category-topic-templates/412279)._
