v148 · Progressive Web Apps
Manifest Localization
PWA manifests can now carry per-locale name, description, and icon translations using name_localized and sibling members. The browser picks the right values for the user's language automatically — no server-side manifest swapping required.
concepts
-
Multilingual PWA Simulator
Pick a browser locale and watch the install prompt update in real time — app name, description, and icon all pulled from the appropriate
_localizedentry in the manifest. -
Locale Manifest Inspector
Live JSON editor: add locale entries to a sample manifest, then inspect which values win for any given
Accept-Languageheader — including BCP-47 fallback rules. -
Manifest Builder
Visual form that assembles a fully-localized
manifest.jsonwithname_localizedentries for multiple locales. Preview the install prompt as each locale's name and description are applied. -
Locale Switcher
Live PWA manifest locale editor with five built-in locales (en, fr, de, ja, ar) and an RTL/LTR toggle. Edit localized name, description, and shortcuts; a simulated install prompt updates in real time. Includes a coverage checker highlighting missing translations and a
_localesdirectory JSON exporter. -
Translation Coverage Checker
Paste a
manifest.jsonand a locale-overrides map, then click "Check coverage" to see a per-locale × per-field matrix of what's translated vs. missing. Summary stats show average coverage, fully-covered locales, and total missing translations. Three built-in samples (minimal, e-commerce, news app) demonstrate common coverage gaps.
why it shipped
Before this feature, a developer who wanted their PWA to appear in Japanese for Japanese users had to either serve a different manifest.json via HTTP content negotiation — fragile and cache-unfriendly — or use a JavaScript-generated manifest, which breaks offline install. The new _localized convention (e.g. name_localized, description_localized) embeds all translations in a single static file. The browser applies the same BCP-47 language-matching algorithm it uses for Accept-Language, so subtag fallbacks work correctly without developer effort.
references
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗