Skip to content

docs: document translation system extension points - #2395

Merged
Su (sushmangupta) merged 7 commits into
mainfrom
translation-extension-points
Jul 28, 2026
Merged

docs: document translation system extension points#2395
Su (sushmangupta) merged 7 commits into
mainfrom
translation-extension-points

Conversation

@MartinKrzykawski

Copy link
Copy Markdown
Contributor

Summary

Documents all extension points of the Shopware 6 translation / language system, resolving the "Evaluate extension points" technical TODO (shopware/shopware#17758).

  • New page concepts/framework/translations/extension-points.md — a comprehensive catalog with an "I want to… → use this" table, ordered from lightest (configuration) to most invasive (decoration):
    • the shopware.translation configuration override (recently added in feat(core): make built-in translation config overridable via config/packages shopware#18601)
    • shipping snippet files with an extension + distributing plugin translations via the built-in system
    • StorefrontSnippetsExtension (storefront.snippets pre/post events) and the TranslationLoadedEvent / TranslationRemovedEvent / SnippetsThemeResolveEvent events
    • the Flysystem storage backend
    • service decoration (config loader, translation loader, snippet file loader, snippet validator) with the exact service ids to decorate
    • CLI commands and the UpdateTranslationsTask scheduled task
    • an explicit "What you cannot extend" section for the @internal / final boundaries
  • Updated built-in-translation-system.md — the "How to extend or modify" section previously covered only decoration and predated the config override; it now leads with the shopware.translation override (recommended) and keeps decoration as an advanced fallback.
  • Updated the section index.md with a PageRef to the new page.

Related links

Checklist

  • I reviewed affected links, code samples, and cross-references, including PageRef references where relevant.
  • I added or updated redirects in .gitbook.yaml if pages were moved, renamed, or deleted.
  • I updated .wordlist.txt (and sorted it) if spellcheck flags new legitimate terms.
  • Any required dependent changes in downstream modules have already been merged and published.
  • This pull request is ready for review.

Notes

No pages were moved, renamed, or deleted, so no .gitbook.yaml redirects are needed. Spellcheck required no new wordlist entries (wording was adjusted to stay within the existing dictionary). All code samples and the extension-point inventory were verified against trunk in shopware/shopware (src/Core/System/Snippet/). markdownlint passes and every PageRef/link target resolves.

Add a dedicated 'Extension points' page under concepts/framework/translations
that catalogs every way developers and hosts can customize the translation and
snippet system: the shopware.translation configuration override, shipping
snippet files, distributing plugin translations, the StorefrontSnippetsExtension
and translation events, the Flysystem storage backend, service decoration, and
the CLI commands and scheduled task.

Also update the built-in translation handling page to lead with the new
shopware.translation configuration override (recommended) and demote decoration
to an advanced fallback, and link the new page from the section index.
Copilot AI review requested due to automatic review settings July 24, 2026 08:49
@shopware-dev-docs-connector

shopware-dev-docs-connector Bot commented Jul 24, 2026

Copy link
Copy Markdown

Developer Docs healthcheck

Status: Completed with success.
Repository: shopware/docs
Commit: 4823a7c
Preview: https://developer-documentation-m1ri6rndy-shopware-frontends.vercel.app
Workflow run: #4614

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the Shopware 6 developer documentation around the translation/language system by cataloging extension points and updating existing translation docs to reflect the recommended configuration override approach.

Changes:

  • Adds a new “Extension points” page that inventories translation/snippet extension mechanisms from configuration to decoration.
  • Updates the “How to extend or modify” section in the built-in translation system doc to lead with shopware.translation configuration overrides.
  • Updates the translations index to include a PageRef to the new extension points page.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
concepts/framework/translations/index.md Adds navigation entry (PageRef) to the new extension points page.
concepts/framework/translations/extension-points.md New comprehensive catalog of translation system extension points and where to hook in.
concepts/framework/translations/built-in-translation-system.md Reworks extension guidance to recommend config overrides first, with decoration as an advanced option.
Comments suppressed due to low confidence (1)

concepts/framework/translations/extension-points.md:212

  • Table entries should not end with punctuation (see docs style guide: resources/guidelines/documentation-guidelines/04-fonts-and-formats/01-text.md:101). The “Purpose” cells in this commands table currently end with periods; please remove the trailing punctuation to match the repository’s table style.
| `translation:install`            | Download and install translations for the given `--locales` or `--all`. |
| `translation:update`            | Update all installed translations from the repository.                  |
| `translation:list`               | List the locales configured for installation and update.               |
| `translation:lint-filenames`     | Validate (and with `--fix` migrate) snippet file names.                 |
| `snippet:validate`               | Validate snippet files for missing or extraneous keys.                  |

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread concepts/framework/translations/extension-points.md Outdated
@MartinKrzykawski Martin Krzykawski (MartinKrzykawski) added the Improvement PR created to append/modify info in the existing article label Jul 24, 2026
Remove trailing punctuation from table cells and the ellipsis table header
per the documentation style guide (04-fonts-and-formats/01-text.md), and use
fully-qualified, copy/paste-able service ids in the decoration table.
Comment thread concepts/framework/translations/built-in-translation-system.md Outdated
Comment thread concepts/framework/translations/built-in-translation-system.md Outdated
- Drop the 'recommended'/'advanced' labels and value-laden framing in the
  extend section so developers choose the approach themselves.
- Remove semicolons from prose.
- Reference the canonical configuration override, field reference, and
  Flysystem sections on the built-in translation handling page instead of
  repeating them in the extension points page.
Comment thread concepts/framework/translations/built-in-translation-system.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
Comment thread concepts/framework/translations/built-in-translation-system.md
Comment thread concepts/framework/translations/built-in-translation-system.md Outdated
Comment thread concepts/framework/translations/built-in-translation-system.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
Comment thread concepts/framework/translations/extension-points.md Outdated
@sushmangupta Su (sushmangupta) self-assigned this Jul 27, 2026
- Break the intro into a bullet list of the system's parts.
- Lead with the snippet module (edit in Administration, ship snippet files) as
  the lightest option and link to the existing snippet guides; move the
  download-system configuration lower in the ordering.
- Clarify that the 'messages' domain is reserved for language-defining base
  files and must not be used for regular snippet files.
- Frame StorefrontSnippetsExtension as the programmatic path below the snippet
  module rather than the default.
- Reframe extension translation distribution around hosting your own
  repository instead of contributing to shopware/translations.
- Use 'ID' instead of 'id' in prose.
An accidental </content> tag at the end of the file failed the developer-portal
build with 'Invalid end tag'. Remove it.
- Switch UK spellings to en-US (behaviour -> behavior, synchronising ->
  synchronizing) as the docs standard.
- Use 'replacement semantics' wording and drop the blank frontmatter line in
  the extension points page.
@sushmangupta
Su (sushmangupta) merged commit dcfa14b into main Jul 28, 2026
8 checks passed
@sushmangupta
Su (sushmangupta) deleted the translation-extension-points branch July 28, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Improvement PR created to append/modify info in the existing article

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants