点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们对Hybris后台办公室遇到的问题感到困惑。
实际情况:
-
我们在文件 customer-localization_en.properties 中定义类型本地化。
-
客户使用两个数据区域设置 en_US (回退设置为 en )和 de_DE (回退设置为 de )
-
到后台的登录使用语言环境 en_US 。
-
安装和更新后,一切看起来都很好。
-
重新启动服务器后,缺少某些类型的本地化,甚至是hybris标准的本地化,例如 product.name 。
发现
-
我们已经调试过,发现类型本地化不像外观层中的数据语言那样遵循配置的后备语言。
-
相反,类型本地化将始终从"国家/地区"等值代码(例如 en_US )回退到"语言"等值代码(例如 en ),即仅使用前两个字符。
-
我们找不到,为什么本地化无法正确解决
可能的解决方案
-
将类型本地化复制到第二个文件 customer-localization_zh-CN.properties (我们要避免)
问题
-
以前有人看过这个问题吗?
-
这里可能是什么问题?
-
您对此问题有不同的解决方案吗?
嘿Wojtek,
感谢您对此问题进行调查。 您的提示非常有趣。 不幸的是,它没有解决我们的问题。
我们发现,在项目中,默认位置服务已被覆盖。 对于匿名用户,它仅返回一种语言,因此带有后台办公室座舱的登录屏幕仅显示一种语言。
不幸的是,用于本地化的Typesystem缓存是根据第一个请求(当然是匿名的)构建的,因此,该缓存会忽略所有其他语言...
我们将其改回原来的位置,并仅对后台办公位置服务应用了相同的技巧,并且一切正常,
这可能会帮助希望将登录限制为某种UI语言的其他人。
最佳美女
您好Stefan,
我们最近发现了没有回退设置的语言存在类似的问题。 已经报告了一个错误,可以立即使用后备。 无论如何,这只会在最新版本中得到修复,因此我会有一些问题和想法:
您使用的是哪个版本(我们可能考虑反向移植)
您是否正确命名了所有文件(一旦您提到了en-US,一次是an_US,则只有后者才是正确的)
如果问题与回退启用有关,我建议尝试以下方法:
覆盖bean:
并重新实现方法 com.hybris.cockpitng.admin.CockpitMainWindowComposer#doAfterCompose ,其中,在调用super之前,应先调用 de.hybris.platform.servicelayer.i18n .I18NService.setLocalizationFallbackEnabled(true)。 这样应该可以对基于后备语言的翻译进行标准解析。
请告诉我这是否有帮助。 如果由于某种原因(在作曲家中)来不及作为一个快速而肮脏的尝试,您可以尝试注册一个过滤器以启用后备功能。
干杯
Wojtek
我不知道这是否与您的问题有关。 但是我们仅在升级条件和操作编辑器中有错误的本地化。 它是英语,尽管后台的其余部分是德语。 这是由于错误的
I18NService#getCurrentLocale
(实际上是系统区域设置)引起的。CockpitLocaleService
返回在登录页面上设置的语言环境。这解决了我们的问题:
在我们的* backoffice-spring.xml中:
一周热门 更多>