【发布时间】:2019-09-02 23:07:19
【问题描述】:
有没有一种方法可以本地化 Web 清单?即具有name、description 等的多个翻译...
我已经想到了几个潜在的解决方案,但它们都有很大的缺点......
潜在的解决方案 1(首选但不确定是否可行)
根据 url (example.com/en/foo) 中的语言环境,加载相关清单。
例如:
- 对于
example.com/en/foo,加载example.com/en/manifest.json - 对于
example.com/jp/foo,加载example.com/jp/manifest.json
缺点
- 我不相信这会真正起作用,因为每个网站只能有一个清单(据我所知),而且我相当肯定它需要在根目录中
- 即使这是可能的,鉴于我的应用程序是一个静态托管的 SPA,我并不完全确定我将如何实现它,即我无法在浏览器加载清单之前动态更新清单的链接.也许我可以加载相对于 URI 的清单,但不能 100% 确定这会起作用
潜在解决方案 2
托管多个版本的 PWA(子域或 TLD)...例如:
-
en.example.com/example.com -
jp.example.com/example.jp - 等等……
鉴于清单是由构建过程生成的,通过向管道添加多个部署步骤,这实际上很容易实现。然后,我将使用每个部署的环境变量来确定要插入清单的文本。
缺点
- 无法切换应用程序的语言(这对客户端来说是一个非常关键的功能)
- 无论实施起来多么“容易”,它似乎都不对
【问题讨论】:
标签: localization internationalization single-page-application progressive-web-apps workbox