问题描述
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指出了此问题。