ResilientLang docsDeveloper documentation (draft, product name is a placeholder)

Troubleshooting

The page stays in the source language#

Work through these in order; the first match is usually the cause.

  1. Open the browser console and the Network tab. Is loader.js requested and does it return 200? A blocked request (ad blocker, CSP) means no translation.
  2. Is manifest.json requested? A 404 means the site key is wrong, nothing is published yet, or data-base does not point to where the files are. Bundle URLs are <base>/v1/<siteKey>/manifest.json.
  3. Signature or key problem. The loader refuses a manifest that is unsigned, signed by a key it does not know, or older than one it already accepted. Check that data-public-key is the current public key for this site. Listen for the loader's error event: its stage says where it failed.
  4. Language file hash mismatch. A proxy or cache that rewrites JSON (minifiers, HTML injection) changes the bytes and the file is refused. Exclude /v1/ bundle paths from such features.
  5. Unsupported browser. The loader needs Fetch, Promise, MutationObserver, TextEncoder and Ed25519 in Web Crypto.
  6. The language was never published. Check the site's languages and run a publish job; see the job's error field.
  7. The text is not in the bundle. A missing key means "show the source". Submit the strings and translate again. Text inside code, pre and translate="no" blocks is never translated.

Only some text is translated#

Search engines do not show my translations#

That is expected with the script snippet. Read SEO and the script snippet.

Works for me, not for visitors#

The loader stores the visitor's choice and cached bundles in the browser. Test in a private window with an empty cache. Also check that your CDN or cache plugin is not caching a stale manifest.json for longer than its 60-second design.

WordPress#

Shopify#

API#

SymptomCause
401Key missing, revoked, expired, or sent in the query string
403Key lacks the scope shown in the reference, or an origin is not allowed
402A plan limit, the allowance or the licence blocks the action; the problem type and detail say which. Published bundles are unaffected. See Errors
404Wrong id, or the resource belongs to another tenant
409The same Idempotency-Key is still being processed; wait and retry
422You reused an Idempotency-Key with a different body, or an import was rejected (read the issues; run with --dry-run first)
429Back off for Retry-After seconds
Job failedRead error on GET /v1/jobs/{jobId}

Never paste a secret key into a support request or an issue.

Webhooks#