Skip to content
better-i18n.com

Website analysis reads your product's own site and works out how it talks — voice, tone, audience, the words you use for your own features — then hands that to the AI translator so it stops guessing.

It is a context feature, not a scanner. It does not hunt for hardcoded strings in your code or invent key names; that is what better-i18n scan and the CLI's check commands are for.

What it extracts #

From a crawl of your public pages:

  • Brand voice and tone — formal or casual, the person you address the reader as
  • Product category and features — so "board", "space" or "run" is translated as your product's noun rather than the dictionary's
  • Target audience — who the copy is written for
  • Frameworks and technical terms — the vocabulary that should stay in English
  • Candidate glossary terms, each typed as brand, technical, product, feature or UI

Running an analysis #

  1. Open the project's AI context settings
  2. Enter your website URL
  3. Start the analysis

Two speeds:

ModeBehaviour
QuickRuns inline and comes back approved or failed while you wait
FullQueued as a background job, plus a second enrichment pass that lands later and reports "+N terms added"

Full mode is the one to use for a real site. Quick mode exists so onboarding does not sit on a spinner.

You can list previous jobs, check a running one's progress, and cancel one that is taking too long.

Nothing lands without your approval #

An analysis produces a proposal, not a fact: you approve or reject it. That gate matters because the output goes on to shape every AI translation in the project — an analysis that read your marketing site during a rebrand should be rejected, not quietly adopted.

Analysing a repository instead #

If your product's voice lives in a README rather than a landing page, point the analysis at the repository instead. It reads the same things — audience, terminology, frameworks — from the source you actually maintain.

Where the results end up #

Extracted terms become glossary entries, tagged with where they came from:

SourceMeaning
website_analysisFound by crawling your site
repo_analysisFound in your repository
manualYou added it

So you can always see whether a term is something you decided or something a crawl inferred — and edit, delete, or clear them accordingly. Because the glossary is what gets enforced during translation, this is the step that turns "the AI read our site" into "the AI uses our words".

Limitations #

  • The crawler needs pages it can reach: a password-protected or staging-only site will not analyse
  • It reads what is on the page, so a site whose copy is thin gives thin context — a repo analysis is often better for developer tools
  • There is no scheduled re-scan. Re-run it when your product's language actually changes: a rebrand, a new surface, a renamed feature

What it does not do #

To be explicit, since the name invites the assumption:

  • it does not find untranslated hardcoded strings — better-i18n check:missing does that
  • it does not create translation keys
  • it does not audit date, number or currency formatting