crowdin in-context editor strings not updating bug
Covers stale strings in the Crowdin in-context editor: confirm the upload, rebuild the integration, hard-refresh. Use it when the overlay lags the project. Not for upload failures or editor load errors.
Fix Crowdin in-context editor strings not updating
TL;DR
The in-context editor shows stale strings because the pseudo build it reads is cached, so force a rebuild of the integration. Reload the integration build in the Crowdin project settings, then hard-refresh the editor page. Also check the page you pointed the editor at actually renders the latest deployed bundle.
The error
In-context editor shows strings from last week
new source strings from the latest upload do not appear in the overlayFix it
Step 1: Confirm the new strings are in the project
curl -s -H "your auth header "https://api.crowdin.com/api/v2/projects/$CROWDIN_PROJECT_ID/strings?limit=1" | head -c 300Expected: The API returns strings, so the upload landed.
Step 2: Rebuild the in-context integration
node -e "console.log('project settings, integrations, in-context: click rebuild or re-sync the pseudo language build')"Expected: The integration reports a fresh build timestamp.
Step 3: Hard-refresh the editor page
node -e "console.log('in the editor tab: hard refresh to drop the cached bundle')"Expected: The overlay now shows the new strings.
Step 4: Point the editor at a fresh deploy if it still lags
node -e "console.log('update the in-context URL to a staging deploy built after the string upload')"Expected: Strings match the latest source.
When to use this
- In-context editor shows old strings after uploading new sources
- The overlay and the project string list disagree
When NOT to use this
- Strings never appear anywhere, check the upload itself
- The editor will not load at all, check the integration URL and CSP headers
Tool and version compatibility
- Crowdin in-context integration, any framework
- Requires a deployed page the editor can overlay
Variant phrasings
some strings update but not others
Those strings are probably duplicates sharing one key. In-context shows one instance, the project has many.
updates appear after a long delay
The integration caches aggressively. Shorten the cache TTL or rebuild on every source upload.
Why it happens
In-context works off a pseudo-language build generated from your sources, not the live project. If that build is not regenerated after an upload, the editor keeps showing the old snapshot while the project itself has the new strings.
Edge cases
- Content-Security-Policy headers can block the overlay script, allow the Crowdin domain
- The editor needs the page served over https, http pages fail silently
- Branch-based projects need the right branch selected in the integration
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_ZSEUGIIaS1GNGkxoH10nmA