v148 · Progressive Web Apps

Locale Switcher

Edit localized manifest strings for five locales and watch the simulated PWA install prompt update in real time. Includes RTL/LTR toggle, missing-translation coverage checker, and _locales directory export.

locale editor

Edit strings

LTR
Add to Home Screen en
🌐
App Name
example.com
App description.
Shortcuts

coverage checker

Missing translations are shown in red. The browser falls back to the default locale (en) for any missing string.

Locale name description shortcut_1 shortcut_2 Coverage

generate _locales structure

The manifest _locales directory structure mirrors the Chrome Extension i18n convention. Each locale gets a messages.json file.

how it works

A PWA manifest can embed localized strings using name_localized, description_localized, and similar members. Each is an object keyed by BCP-47 locale. The browser runs the same Accept-Language matching algorithm it uses for HTTP — including subtag fallbacks — and picks the best match automatically.

{
  "name": "My App",
  "name_localized": {
    "fr": "Mon Application",
    "de": "Meine App",
    "ja": "マイアプリ",
    "ar": "تطبيقي"
  },
  "description_localized": {
    "fr": "Une application formidable.",
    "de": "Eine großartige App.",
    "ja": "素晴らしいアプリです。",
    "ar": "تطبيق رائع."
  }
}

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗