Firebase 最近(2020 年 8 月 20 日)announced支持i18n rewrites .
我的网络应用有两种语言环境:英语和法语,因此我将法语内容放在 public/localized/fr/
下,将英语内容放在 public
下。然后,我将以下内容添加到 firebase.json
:
{
"hosting": {
...
},
"i18n": {
"root": "/localized"
}
}
但是,如果我在浏览器设置中将法语设置为我的主要语言(并且 Accept-Language
header 的值为 fr
),该网站仍然提供英文内容。
我创建了一个 MCVE:https://github.com/Jaimies/firebase-hosting-i18n-rewrites-demo .
我使用的是 Firebase CLI 版本 8.9.0
。
更新:我向 Firebase 支持人员提交了错误报告。
更新 2:我收到了 Firebase 支持人员的回复,请参阅 this answer .
最佳答案
firebase.json
中的 i18n
属性放置在根目录下,而它应该位于 hosting
属性内。
因此,您必须将 firebase.json
更改为以下内容:
{
"hosting": {
...
"i18n": {
"root": "/localized"
}
}
}
感谢 Firebase 支持人员的 Eder 指出了此问题。
关于Firebase 托管 i18n 重写不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63586186/