v148 · Progressive Web Apps · demo

Locale Manifest Inspector

Paste a manifest with _localized fields, enter a BCP-47 locale tag, and see which values the browser would resolve — including language subtag fallback.

manifest.json
Resolve for locale
// Browser resolution algorithm (simplified):
// 1. Try exact tag: manifest.name_localized["ja-JP"]
// 2. Try language subtag: manifest.name_localized["ja"]
// 3. Fall back to manifest.name (default)

function resolveManifestField(manifest, field, locale) {
  const locKey = field + '_localized';
  const map = manifest[locKey];
  if (!map) return { value: manifest[field], source: 'default' };

  const exact = map[locale];
  if (exact) return { value: extractVal(exact), source: 'exact' };

  const lang = locale.split('-')[0];
  const langMatch = map[lang];
  if (langMatch) return { value: extractVal(langMatch), source: 'fallback' };

  return { value: manifest[field], source: 'default' };
}

see also

implementation reference

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