> For the complete documentation index, see [llms.txt](https://developers.weglot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.weglot.com/craft-cms/use-cases/dynamic-content-translation.md).

# Dynamic content translation

By default, Weglot translates the HTML your server returns. Content that appears **after** the page has loaded — menus, pop-ups, results injected by JavaScript or AJAX — needs dynamic translation.

### Enable it

In the plugin settings, turn on **Enable dynamic content**, then tell Weglot which parts of the page to watch:

* **Whitelist selectors** — CSS selectors for the DOM regions to translate dynamically (for example `.cart-drawer` or `#search-results`).
* **Allowed URLs** — restrict dynamic translation to specific URLs. Leave empty (or use `all`) to run it everywhere.

{% hint style="warning" %}
Dynamic translation runs in the browser and calls Weglot as content changes. Keep your selectors as specific as possible to avoid translating more than you need.
{% endhint %}

### Add selectors from your own code

You can also register selectors programmatically from your own plugin or module, using the plugin's Craft events. See **Extending Weglot with events**.
