multilingual - Kentico 11 不一致的文化选择和重定向
问题描述
我们有一个主要在“.co.uk”域上运行的网站。我们还有一个爱尔兰版本的网站,它位于域别名“.ie”下——页面加载时,文化与域不匹配。例如,在加载网站的 .ie 版本时,我们经常可以在代码中看到文化以“en-GB”的形式出现,这是不正确的。这是不一致的行为,它似乎没有复制它的模式。
应用强制域文化设置似乎可以防止出现问题,但是当我们这样做时,网站会重定向任何没有翻译版本的页面,而不是“组合默认文化内容”。
我们如何解决这个问题,以便域(.co.uk 上的 en_GB 和 .ie 上的 en_IE)严格维护文化,并从不翻译页面的默认文化继承内容。
在此先感谢,卢克
解决方案
两种可能性之一。
一是有两种文化代码可供借鉴。用户的首选文化(在本例中为“en-IE”)和当前页面的文化(这在很大程度上取决于页面是否以用户的首选文化代码翻译)。
根据您如何融入文化,您可能会使用后者与前者,这就是您看到问题的原因。
另一件事是您的文化选择器,您可以在文化选择器中将其设置为仅显示当前页面的文化或所有站点文化,如果问题是您的选择器,则检查语言数据源并查看是否是问题(应该是一个复选框)。
否则,最后要检查的地方是您是否有页面的任何 URL 别名,该 url 别名上有一个文化选择(可以设置为任何文化),如果在使用该别名时设置了文化(默认情况下是)它将切换用户的文化。
如果这些对您没有帮助,您能否提供一些关于您所看到的以及您希望发生的事情的屏幕截图?
推荐阅读
- wso2 - WSO2 StreamProcessor:有没有办法使用 SiddhiApp 中的证书连接到 MQTT
- sql - 如何在 SQL 中不使用 DISTINCT 删除重复值?
- google-calendar-api - 谷歌日历 webhook 测试
- java - 从在 Azure Active Directory 中完成身份验证的主体访问电子邮件 ID
- r - 在 Sparklyr 中使用 ml_fpgrowth 选择支持和置信度值
- shell - Shell脚本是数值控制
- authentication - 将外部登录令牌从 Identity Server 流向客户端应用程序
- node.js - “SecurityError: 无法构造 'WebSocket': 可能无法从通过 HTTPS 加载的页面启动不安全的 WebSocket 连接。”
- firebase - 在哪里以及如何正确使用 Firebase 中的 enablePersistence() 方法以离线使用 Web 应用程序?
- java - 用于特定任务的单独文件中用于 Spark 的额外记录器