> For the complete documentation index, see [llms.txt](https://lingojs.gitbook.io/lingojs-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lingojs.gitbook.io/lingojs-docs/troubleshooting.md).

# Troubleshooting

## The widget is not visible

* Confirm that `showWidget: true` is set.
* Confirm that the project contains at least two languages.
* Check the browser console for script or Content Security Policy errors.
* Verify that the snippet uses the correct project key.

## New text is not detected

* Open the page in the configured base language.
* Confirm that the snippet is loaded on that page.
* Check the domain from **Dashboard > Project**.
* Verify that the domain is allowed when domain restriction is enabled.
* Check that the text is not inside an element using `translate="no"`.

## Local text is not detected

* If Domain restriction is disabled, no development token is required and local requests use the normal Pending workflow.
* If Domain restriction is enabled, confirm that Development Mode is enabled.
* Create a named development token and add `devToken` only to the local configuration.
* Replace the token if it was deleted or exposed.

A rejected local request creates no translation, including no Pending translation.

## Translations do not appear

* Publish Pending translations from the dashboard.
* Wait until the translated values are ready; use **Retry** if a Published translation remains incomplete and the action is available.
* Confirm that the selected target language belongs to the project.
* Reload the website after publishing.
* Clear the browser or CDN cache if an older response remains visible.

## Origin not allowed

* Add the production hostname under **Project Settings > Allowed Domains**.
* Enter the hostname without a path.
* A configured hostname includes its subdomains; `example.com` also allows `shop.example.com`.
* When Domain restriction is enabled, use Development Mode and a valid development token for localhost.

## Auto-publish does not activate

* Confirm that Domain restriction is enabled; LingoJS enables it automatically with either auto-publish mode.
* For selected content, confirm that **Allow auto-publish for selected elements** is enabled and place `lingojs-autopublish="yes"` on a content element inside `<body>`.
* On production domains, check that Turnstile is not blocked by the Content Security Policy, an extension, or a network rule.
* On local origins, use Development Mode and a valid development token instead of Turnstile.

## Snippet not found

* Confirm that the deployment is publicly accessible over HTTPS.
* Verify the project key in the deployed snippet.
* Clear the website/CDN cache.
* Click **Check again**.

## Limit reached

Review the monthly usage and plan limits from the organization dashboard. Upgrade the plan or wait for the next usage period when the monthly limit has been reached.
