Firebase Hosting i18n重写不起作用

问题描述

Firebase最近(2020年8月20日)announced支持i18n rewrites

我的Web应用有两种语言环境:英语和法语,因此我将法语内容放在public/localized/fr/下,并将英语内容放在public下。然后,我将以下内容添加firebase.json

{
  "hosting": {
    ...
  },"i18n": {
    "root": "/localized"
  }
}

但是,如果我在浏览器设置中将法语设置为主要语言(并且Accept-Language标头的值为fr),则该网站仍会提供英语内容

我创建了一个MCVE:https://github.com/Jaimies/firebase-hosting-i18n-rewrites-demo


我正在使用Firebase CLI版本8.9.0

更新:我向Firebase支持人员提交了错误报告。
更新2:我收到了Firebase支持回复,请参见this answer

解决方法

您的i18n中的firebase.json属性位于根中,而它应该位于hosting属性中。 因此,您必须将firebase.json更改为以下内容:

{
 "hosting": {
    ...
    "i18n": {
     "root": "/localized"
   }
 }
}

感谢Firebase支持的Eder指出了此问题。