PWA manifestの多言語対応
決定
- Astro endpointでロケールごとに
manifest.{locale}.webmanifestを生成する - 各manifestは
lang,name,short_nameをロケールに応じて変更する - Favicon.astro でロケールに応じた manifest を参照する
背景
サイトは6言語(ja, en, ko, fr, de, pt)をサポートしているが、manifestが lang: "ja" で固定されていた。PWAとして正しいユーザー体験を提供するため、各言語のmanifestを生成する必要がある。
理由
- PWAのベストプラクティスとして、manifestの
langはページの言語と一致すべき - アプリ名(
name,short_name)も各言語で適切に表示されるべき - Astro endpointによる生成で、静的ホスティング環境でも動作可能
影響
/brand/manifest.{locale}.webmanifestの形式でロケールごとのmanifestが生成される- Favicon.astro はページのロケールから適切なmanifestを参照する
- 新しいロケール追加時に
src/pages/brand/manifest.[lang].webmanifest.tsへの追加が必要
hsb.horse