我有一个使用angular-i18n的国际化的angular web应用程序。通过这个系统,angular为每种语言创建了一个专用的应用程序。
为了在web服务器上提供多语言,我每种语言(mywebsite.com/en、mywebsite.com/de、mywebsite.com/fr等)都有一个url,每个url都指向与该语言对应的应用程序。
该应用程序可以安装在设备上(使用angular-pwa)。
问题如下:
当用户改变语言时,他被重定向到另一个url (例如从mywebsite.com/en到mywebsite.com/fr)。对于已安装的应用程序,如果他离开它并重新启动它,则语言更改不会持久存在。还有另一个问题:与已安装的应用程序不在同一url上会导致显示浏览器栏,这在已安装的pwa中是不希望的。
为了使更改持久存在,应用程序必须更改其目标url,或者在用户更改语言时重新安装。但我不知道该怎么做...
如何解决这个问题?
--
编辑:
我发现了这个问题:Apply changes to an installed PWA (different base URL)
我的问题非常相似。
发布于 2020-08-18 09:20:07
3.您可以转到/ngsw/state查看一些调试信息。如果你从子目录运行你的应用程序(如果你使用的是i18n,你可能会这么做)。只能从源的根目录进行访问,如ngsw-worker.js:
if (requestUrlObj.path === '/ngsw/state') {
// Allow the debugger to handle the request, but don't affect SW state in any other way.
event.respondWith(this.debugger.handleFetch(req));
return;
}因此,如果您想让它在/fr/上工作,那么就用'/fr/ngsw/state'替换'/ngsw/state'。
https://stackoverflow.com/questions/63452461
复制相似问题