Hyperlocalise logoHyperlocalise logo
Request a Demo

Localisation report

Twitch logo

Twitch

Livestreaming platform

twitch.tv

Product: Twitch is an interactive livestreaming service for content spanning gaming, entertainment, sports, music, and more. Users can browse live channels and watch creators across a range of categories.

Brand voice: interactive, energetic, community-focused

Localisation score

79/100

Good

The website is generally well localised, with some issues to improve.

  • 83Technical Audit
  • 66Linguistic Audit
  • 92Contextual Audit
  • 75Visual Audit
Audited: Aug 15, 2026Scope: Public smart sample · technical, linguistic, contextual, and visual creditsConfidence: Indicative health check from sampled pages — not a full site crawl.

Sampled 15 pages across technical, linguistic, contextual, and visual localisation credits. How we score localisation audits

How you compare

Rank #3 of 23 public audits

Ahead of 17 other public auditsPublic average: 70/100

Fix first

  1. 1
    high

    Untranslated call to action

    A cs-cz page still uses source-language CTA copy. Affects 10 sampled pages.

    See details
  2. 2
    high

    Page script does not match the locale

    A el-gr page is dominated by Latin-script copy.

    See details
  3. 3
    high

    No CJK-capable font detected

    A ja-jp page shows CJK text but the embedded/inline font stack has no known CJK typeface. Affects 2 sampled pages.

    See details

Audit criteria

15 passed · 9 to watch · 7 to fix · 4 not applicable

Needs attention (7)

  • Sitemap

    Fail60technical

    Like Lighthouse: a valid XML sitemap must be discoverable, robots.txt should reference it with an absolute Sitemap: URL, and localized URLs should appear for published locales.

    • mediumtechnical · 90% confidence

      Sitemap is missing localized URLs

      A sitemap was found, but sampled entries do not include locale-prefixed URLs.

      Found here

      What we saw

      Sitemap https://www.twitch.tv/sitemapv2_index.xml.gz has no locale-prefixed URLs in the sample

      How to fix it

      Include localized URLs in the sitemap for every published locale.

  • Structured data

    Fail0technical

    JSON-LD inLanguage should match the page locale when structured data is present.

    • lowtechnical · 95% confidence

      Structured data omits inLanguage

      JSON-LD is present but does not declare inLanguage on sampled pages.

      Found here

      JSON-LD · <script type="application/ld+json">

      https://www.twitch.tv/

      What we saw

      Organization is present but inLanguage is missing

      How to fix it

      Set JSON-LD inLanguage to match each page locale.

  • Translation completeness

    Fail0linguistic

    Localized pages should not leave source-language copy in place, except brand names and URLs.

    • highlinguistic · 92% confidence

      Untranslated call to action

      A cs-cz page still uses source-language CTA copy. Affects 10 sampled pages.

      Found here

      Pricing hero · <button>

      https://www.twitch.tv/?lang=cs

      What we saw

      Primary CTA: "[DROPS] TARKOV SEASONAL | TEACHING TIMTHETATMAN & NICKMERCS | THE MASTERCLASS | FREAK BOB FRIDAY | #BUNGULATE" Seen on 10 pages, e.g. https://www.twitch.tv/?lang=cs, https://www.twitch.tv/?lang=da, https://www.twitch.tv/?lang=de

      How to fix it

      Translate leftover source-language CTAs to match the surrounding locale copy.

    • highlinguistic · 95% confidence

      Page script does not match the locale

      A el-gr page is dominated by Latin-script copy.

      Found here

      Page body · sampled copy

      https://www.twitch.tv/?lang=el

      What we saw

      Μετάβαση σε... Alt P Περιήγηση 37 Σύνδεση Εγγραφή Κανάλια σε ζωντανή μετάδοση Lacy Call of Duty: Black Ops II Ζωντανά 17,3 χιλ. 17,3 χιλ. θεατές Χρησιμοποίησε το δεξί βελάκι για να δεις περισσότερες πληροφορίες. TheBurntPeanut Escape from Tarkov Ζωντανά 62,1 χιλ. 62,1 χιλ. θεατές…

      How to fix it

      Write this el-gr page in the expected script instead of leftover Latin-script copy.

  • Terminology consistency

    Fail40linguistic

    Important concepts should not be translated differently across pages.

    • mediumlinguistic · 95% confidence

      Terminology inconsistency

      "Just Chatting" appears both untranslated and translated across de pages. Affects 6 sampled pages.

      Found here

      Header · <nav> or <button>

      https://www.twitch.tv/?lang=de

      What we saw

      "Just Chatting" appears untranslated on some de pages and translated on others Seen on 3 pages, e.g. https://www.twitch.tv/?lang=de, https://www.twitch.tv/?lang=ja, https://www.twitch.tv/?lang=ko

      How to fix it

      Use one translated label for "Just Chatting" across de pages.

  • Text expansion

    Fail40visual

    Longer translations should not create obvious length pressure versus the source UI.

    • mediumvisual · 88% confidence

      Localized text is much longer than the source

      A bg string is 330% the length of the source, which often causes overflow. Affects 39 sampled pages.

      Found here

      What we saw

      EN "⭐ CINNATHON DAY 14 ⭐" → BG "🧀LIVE🧀HERE🧀LOCKIN🧀DRAMA🧀NEWS🧀VIDEOS🧀GAMES🧀REACTS🧀THINGS🧀" (330%) Seen on 14 pages, e.g. https://www.twitch.tv/?lang=bg, https://www.twitch.tv/?lang=cs, https://www.twitch.tv/?lang=da

      How to fix it

      Shorten the translation or give the control more room so the longer copy does not overflow.

  • Font and script support

    Fail62visual

    Typography should support the target script without generic fallback-only stacks, tofu glyphs, or missing CJK fonts.

    • highvisual · 95% confidence

      No CJK-capable font detected

      A ja-jp page shows CJK text but the embedded/inline font stack has no known CJK typeface. Affects 2 sampled pages.

      Found here

      Page body · font-family

      https://www.twitch.tv/?lang=ja

      What we saw

      font-family: var(--font-body) Seen on 2 pages, e.g. https://www.twitch.tv/?lang=ja, https://www.twitch.tv/?lang=ko

      How to fix it

      Include a CJK font such as Noto Sans CJK, Malgun Gothic, Hiragino, or PingFang in the stack.

  • Localized images and assets

    Fail58visual

    Language-specific images and alt text should match the page locale.

    • mediumvisual · 95% confidence

      Image still looks like the source locale

      Alt text or filename on a ja-jp page appears to be English. Affects 8 sampled pages.

      Found here

      Page body · <img alt>

      https://www.twitch.tv/?lang=ja

      What we saw

      alt="[DROPS] TARKOV SEASONAL | TEACHING TIMTHETATMAN & NICKMERCS | THE MASTERCLASS | FREAK BOB FRIDAY | #BUNGULATE" src="https://static-cdn.jtvnw.net/previews-ttv/live_user_theburntpeanut-640x360.jpg" Seen on 2 pages, e.g. https://www.twitch.tv/?lang=ja, https://www.twitch.tv/?la…

      How to fix it

      Localize the image asset and alt text for this page locale.

Worth a look (9)

  • Accessibility localisation

    Watch84technical

    lang, aria-label, and alt text should match the page locale.

    • mediumtechnical · 95% confidence

      Accessible names look untranslated

      aria-label or alt text on a bg-bg page still looks English.

      Found here

      Accessible name · [aria-label]

      https://www.twitch.tv/?lang=bg

      What we saw

      theburntpeanut (проверено) стрийминг [DROPS] TARKOV SEASONAL | TEACHING TIMTHETATMAN & NICKMERCS | THE MASTERCLASS | FREAK BOB FRIDAY | #BUNGULATE

      How to fix it

      Translate accessible names together with the visible UI.

    • infotechnical · 82% confidence

      Document language matches the selected locale

      The inspected pages expose locale-appropriate htmlLang values for English, Bulgarian, and Czech.

      Found here

      Document metadata · <html>

      https://www.twitch.tv/

      What we saw

      "htmlLang":"en-US"; "url":"https://www.twitch.tv/?lang=bg" with "htmlLang":"bg-BG"; "url":"https://www.twitch.tv/?lang=cs" with "htmlLang":"cs-CZ"

    • lowtechnical · 82% confidence

      ARIA and alt-text coverage is not verifiable

      The provided evidence lists buttons and visible text but does not include aria-label or image alt-text markup.

      Found here

      Interactive controls and media · <button>, <img>

      https://www.twitch.tv/

      What we saw

      The preview includes a "buttons" array and "headings" array, but no aria-label or alt attributes.

      How to fix it

      Audit localized aria-label and alt attributes in every locale. Ensure accessible names are translated consistently with the visible UI.

  • Fluency

    Watch88linguistic

    Copy should sound natural, without grammar issues or machine-translation artifacts.

    • infolinguistic · 76% confidence

      Localized UI reads as natural in sampled locales

      The sampled Bulgarian and Czech interface strings use coherent, locale-specific wording rather than leaving core navigation in English.

      Found here

      Header and page headings · <button>, <h2>

      https://www.twitch.tv/

      What we saw

      Bulgarian: "Пропуснете към...", "Влизане", "Канали на живо", "Просто чат"; Czech: "Přeskočit na...", "Přihlásit se", "Živé kanály"

    • lowlinguistic · 76% confidence

      Dynamic promotional content remains mixed-language

      Localized pages include English stream and promotional titles, though the evidence does not establish whether these are user-generated or platform-controlled strings.

      Found here

      Live content cards · <a>

      https://www.twitch.tv/?lang=bg

      What we saw

      The Bulgarian page includes "TheBurntPeanut Escape from Tarkov" and a promotional button reading "[DROPS] TARKOV SEASONAL | TEACHING TIMTHETATMAN & NICKMERCS..."

      How to fix it

      Separate user-generated channel content from translatable platform copy, and localize platform-controlled promotional text where appropriate.

  • Brand voice

    Watch86linguistic

    Localized copy should preserve the intended tone of the source.

    • infolinguistic · 74% confidence

      Energetic platform tone is preserved

      The sampled content retains Twitch’s live, promotional tone through terms such as live channels, viewer counts, Hype Train, and promotional stream titles.

      Found here

      Live content and promotional cards · <h2>, <button>

      https://www.twitch.tv/

      What we saw

      "Live Channels", "Hype Train • Level 3", "⭐ CINNATHON DAY 14 ⭐" and Bulgarian "Канали на живо"

  • Grammar and style

    Watch89linguistic

    Locale-specific capitalization, punctuation, formality, and agreement should be correct.

    • infolinguistic · 76% confidence

      Sampled locale capitalization and punctuation are consistent

      The Bulgarian and Czech samples show readable UI capitalization and punctuation appropriate to short navigation labels and headings.

      Found here

      Header and headings · <button>, <h2>

      https://www.twitch.tv/

      What we saw

      Bulgarian: "Пропуснете към... Alt P" and "Категории, които смятаме, че ще ви харесат"; Czech: "Přeskočit na...AltP" and "Přihlásit se"

  • Visual hierarchy

    Watch86visual

    Localization should not make headings or CTAs lose scanability.

    • infovisual · 68% confidence

      Localized headings and CTAs remain identifiable in the extracted structure

      The evidence shows clear heading groups and distinct authentication actions in each sampled locale; screenshot-based visual verification is unavailable.

      Found here

      Homepage header and content sections · <h2>, <button>

      https://www.twitch.tv/

      What we saw

      English headings include "Live Channels" and "Categories we think you’ll like"; Bulgarian headings include "Канали на живо" and "Категории, които смятаме, че ще ви харесат".

      How to fix it

      Verify localized heading wrapping and CTA prominence at representative viewport sizes with screenshots.

  • Component consistency

    Watch87visual

    Repeated components should stay visually consistent across locales.

    • infovisual · 66% confidence

      Repeated page components appear structurally consistent

      The sampled locale records expose the same broad component types—buttons, headings, live channel cards, and viewer counts—across English, Bulgarian, and Czech.

      Found here

      Homepage component structure · <button>, <h2>, <article>

      https://www.twitch.tv/

      What we saw

      Each sampled page record contains "buttons", "headings", and live-channel text, including the corresponding localized authentication and heading strings.

      How to fix it

      Run screenshot comparisons across locales to confirm that typography, spacing, and component states remain visually identical.

  • Text overflow

    Watch84visual

    Text should not clip, truncate unexpectedly, or overflow buttons and navigation.

    • infovisual · 62% confidence

      No overflow is demonstrable from the provided extraction

      The evidence contains long localized headings and controls but no screenshot, bounding-box, or clipping data, so overflow risk can only be estimated.

      Found here

      Header and homepage headings · <button>, <h2>

      https://www.twitch.tv/

      What we saw

      Bulgarian heading: "Категории, които смятаме, че ще ви харесат"; Czech promotional button: "Hlavní vysílání: RERUN: CS2 at EWC 26 - Day 3 - Group Stage - Stream A"

      How to fix it

      Test long translated labels at narrow widths and allow buttons and headings to wrap without clipping.

  • Layout breakage

    Watch84visual

    Localized pages should not overlap, break grids, or overflow modals.

    • infovisual · 60% confidence

      Layout integrity cannot be confirmed from text-only evidence

      The extracted pages show localized content successfully returned with status 200, but provide no visual or geometry evidence for overlap, grid breaks, or modal overflow.

      Found here

      Homepage layout · <main>

      https://www.twitch.tv/

      What we saw

      The sampled locale records show "status":200 and populated "buttons" and "headings" arrays, but no layout measurements or screenshots.

      How to fix it

      Compare localized pages at desktop and mobile widths, checking navigation, cards, headings, and overlays for overlap or clipping.

  • Responsive localisation

    Watch83visual

    Localized layouts should hold up across mobile, tablet, and desktop widths.

    • infovisual · 58% confidence

      Responsive behavior is not directly evidenced

      The locale extraction confirms content rendering but contains no viewport-specific screenshots or responsive layout measurements.

      Found here

      Homepage responsive layout · <body>

      https://www.twitch.tv/

      What we saw

      The evidence lists locale pages, status, headings, buttons, and text, but does not include viewport dimensions or responsive screenshots.

      How to fix it

      Test every representative locale at mobile, tablet, and desktop widths, especially long headings, navigation labels, and live-card metadata.

Passed audits (15)

Not applicable (4)

Other findings

Findings not listed under a criterion above.

  • lowvisual · 72% confidence

    No Korean word-break rule found in sampled CSS

    Embedded CSS was found, but it does not declare word-break: keep-all for Hangul.

    Found here

    What we saw

    Sampled <style>/inline CSS declares fonts but no word-break: keep-all

    How to fix it

    Add word-break: keep-all for Korean text containers.

  • infotechnical · 93% confidence

    Locale navigation is available

    The evidence shows the same Twitch page loading successfully with locale query parameters across 26 listed locales.

    Found here

    Page navigation · <html>

    https://www.twitch.tv/

    What we saw

    "locales":["bg-bg","cs-cz","da-dk","de-de","el-gr","en-us","es-es","es-mx","fi-fi","fr-fr","hu-hu","it-it","ja-jp","ko-kr","nl-nl","no","pl","pt-br","ro","ru","sk","sv","th","tr","vi","zh-cn","zh-tw"] and "url":"https://www.twitch.tv/?lang=bg"

  • infolinguistic · 78% confidence

    Core navigation and headings are translated

    The localized Bulgarian and Czech pages provide translations for key actions and page headings while preserving the Twitch page structure.

    Found here

    Header and content navigation · <button>, <h2>

    https://www.twitch.tv/

    What we saw

    English: "Log In", "Sign Up", "Live Channels"; Bulgarian: "Влизане", "Регистриране", "Канали на живо"; Czech: "Přihlásit se", "Zaregistrovat", "Hlavní vysílání"

  • infocontextual · 88% confidence

    Authentication CTAs preserve their intended actions

    The localized labels clearly communicate login and account-registration actions in the sampled locales.

    Found here

    Header · <button>

    https://www.twitch.tv/

    What we saw

    English: "Log In", "Sign Up"; Bulgarian: "Влизане", "Регистриране"; Czech: "Přihlásit se", "Zaregistrovat"

  • infocontextual · 82% confidence

    Viewer counts use locale-aware formatting

    The Bulgarian page formats viewer counts differently from the English page, indicating adaptation of numeric presentation to the selected locale.

    Found here

    Live channel cards · <span>

    https://www.twitch.tv/

    What we saw

    English: "62.1K viewers"; Bulgarian: "62,1 хил." and "17,3 хил. зрители"

  • infocontextual · 86% confidence

    Translations fit their UI components

    Short action labels appear on buttons, while longer translated strings appear as section headings and instructional text.

    Found here

    Header and content sections · <button>, <h2>, <p>

    https://www.twitch.tv/

    What we saw

    Buttons include Bulgarian "Влизане" and "Регистриране"; headings include "Канали на живо" and "Категории, които смятаме, че ще ви харесат".

  • infocontextual · 84% confidence

    Core Twitch concepts remain recognizable across locales

    Localized pages preserve product concepts such as live channels, viewers, Hype Train, categories, and authentication.

    Found here

    Homepage · <h2>, <button>, <span>

    https://www.twitch.tv/

    What we saw

    The evidence includes "Live Channels", "Live on Twitch", "Hype Train • Level 3", "Log In", and corresponding Bulgarian strings such as "Канали на живо", "На живо в Twitch", and "Влизане".

  • infocontextual · 80% confidence

    Strings are translated in page context

    The sampled translations preserve distinctions between navigation, authentication, headings, live status, and viewer-count content.

    Found here

    Homepage navigation and live feed · <button>, <h2>, <span>

    https://www.twitch.tv/?lang=bg

    What we saw

    Bulgarian separates "Влизане", "Регистриране", "Канали на живо", "На живо в Twitch", and "Просто чат" across the corresponding English UI concepts.

  • infocontextual · 82% confidence

    Copy fits a consumer live-streaming audience

    The sampled interface uses direct, action-oriented language and streaming-specific terminology appropriate for viewers and account holders.

    Found here

    Homepage header and live feed · <button>, <h2>

    https://www.twitch.tv/

    What we saw

    "Browse 37", "Log In", "Sign Up", "Live Channels", "62.1K viewers" and Bulgarian equivalents such as "Преглед 37", "Влизане", and "Канали на живо"

Detected locales

  • Bulgarian (Bulgaria)

    bg-bg · page language

  • Czech (Czechia)

    cs-cz · page language

  • Danish (Denmark)

    da-dk · page language

  • German (Germany)

    de-de · page language

  • Greek (Greece)

    el-gr · page language

  • American English

    en-us · page language

  • European Spanish

    es-es · page language

  • Mexican Spanish

    es-mx · hreflang

  • Finnish (Finland)

    fi-fi · page language

  • French (France)

    fr-fr · page language

  • Hungarian (Hungary)

    hu-hu · page language

  • Italian (Italy)

    it-it · page language

  • Japanese (Japan)

    ja-jp · page language

  • Korean (South Korea)

    ko-kr · page language

  • Dutch (Netherlands)

    nl-nl · page language

  • Norwegian

    no · hreflang

  • Polish

    pl · hreflang

  • Brazilian Portuguese

    pt-br · hreflang

  • Romanian

    ro · hreflang

  • Russian

    ru · hreflang

  • Slovak

    sk · hreflang

  • Swedish

    sv · hreflang

  • Thai

    th · hreflang

  • Turkish

    tr · hreflang

  • Vietnamese

    vi · hreflang

  • Chinese (China)

    zh-cn · hreflang

  • Chinese (Taiwan)

    zh-tw · hreflang

Pages sampled

Next step

Strong localisation signals. Claim this domain to keep locales healthy as you ship, or book a deeper review.

Send this to your team

We'll email a short summary — score, top fixes, and a link back to this report — so it's easy to forward.