Firebase 托管 i18n 重写不起作用

标签 firebase internationalization firebase-hosting

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/

相关文章:

android - Firebase 获取最后一个 ID - limitToLast 不工作 - android

python - 使用 python gae、babel 和 i18n 进行国际化。无法输出正确的字符串

Angular 4 i18n 也得到 TS/JS 代码的翻译

firebase - 如何使用 Firebase 托管托管图像?

angular - 查询根据结果集的大小而不是数据集的大小进行缩放

android - 使用助手添加后,Firebase 显示 NoSuchMethodError

android - Android-设置Google Play服务和Firebase-Gradle构建错误

iphone - 使用 Objective-C 在 iPhone 上本地化动态复数名词消息(例如 "5 Items Processed")

javascript - 如何处理 firebase 托管中的动态链接?

firebase - Firebase 托管有什么用?