Extract strings for i18n. Free online tool, no login, no sign-up.
LocalPersonal data security
Loading Tool Engine
Usage Guide & Tech FAQ
Step-by-step help & technical notesUsage Guide
- Paste a file or stitched snippets; for huge repos, extract per route/module instead of the whole monorepo at once.
- Filter by language (e.g., Chinese UI copy) to cut noise; ignore lists help skip constants/log levels.
- Define key templates (`module.page.control`) with design/product to avoid costly renames later.
- Review template literals vs JSX text separately—decide translatable spans vs code-only pieces.
- When previewing replacements, mind quote style and how Prettier will reflow lines.
- After exporting JSON/PO, wire into your i18n runtime (react-i18next, vue-i18n, etc.) for smoke tests.
- Add context/comments for translators when sending files to TMS tools.
- Run unit/E2E tests after extraction to catch visible strings you missed.
- Skip sections already wrapped in `t('key')` if the tool supports “ignore instrumented” modes.
- Avoid processing files with secrets on shared machines; local browser sessions can still leak via recordings.
- Read the title and description first to confirm this utility matches your task (avoid using the wrong tool and misinterpreting output).
- Paste or type input in the editor; if a sample/template is provided, load it first to learn the expected output shape.
Related Tech Knowledge
- Static extraction uses AST/heuristics; dynamic concatenation and reflective loading won’t fully cover strings.
- Preserve ICU MessageFormat placeholders for plural/gender flows during extraction.
- Framework-specific templates (Vue SFC, Svelte, Angular) need matching parsers to reduce false positives.
- Key collisions overwrite at runtime—use namespaces or path prefixes for uniqueness.
- RTL languages and text expansion need UI regression budget beyond extraction itself.
- Large-file AST walks are CPU/memory heavy; Web Workers determine UI jank.
- Commit extracted bundles separately so translators can work in parallel.
- Extraction output may leak internal codenames—review before sharing.
- Calling MT APIs may violate data residency if strings contain PII.
- CI lint rules (e.g., eslint-plugin-i18n) prevent new hard-coded strings from creeping back.
- Core parsing and computation run in your browser; by default your raw business payload is not persisted to this site’s servers (see on-page privacy notes).
- The pipeline is typically: read input → parse (lexical/syntactic/structured) → transform → render; failures aim to be diagnosable.