代码之家  ›  专栏  ›  技术社区  ›  x-yuri

如何在忽略Accept语言的情况下国际化Django站点?

  •  0
  • x-yuri  · 技术社区  · 4 年前

    我要把一个网站国际化。我考虑了各种选择。我应该使用子域还是路径?子域似乎更倾向于针对不同语言版本将不同(分歧)的情况。该语言应始终存在于URL中,还是应使用Cookie/本地存储?换句话说,URL应该决定语言版本吗?因为我希望所有的版本都被索引,所以把语言放到URL中似乎更合理。此外,还有“发送链接”的案例。现在我倾向于使用路径和URL来确定语言版本。此外,我正在考虑保持主语言URL不变,例如:

    https://example.com/path - English version
    https://example.com/de/path - German version
    ...
    

    避免从语言无关的URL添加重定向。特别是我不知道如果从主页重定向是搜索引擎优化好。

    我发现了 LocaleMiddleware 处理 Accept-Language 标题(除非URL中没有任何内容)。这很好,但我该如何避免呢?还是我做错了?

    0 回复  |  直到 4 年前