语言环境功能?

时间:2019-07-25 21:37:47

标签: demandware salesforce-commerce-cloud

SFCC中是否有服务器端功能来获取语言环境?谢谢!!!

我正在本地化sfcc站点,并且需要将成千上万的硬编码字符串(在从Merchant Tools> Content> Import&Export获得的xml文件中)中的en_gb语言环境更新为服务器端代码,以动态插入正确的语言环境,即en_gb,fr_fr等。我知道有一些服务器端函数,例如$ URL()$可以在呈现内容之前运行。有没有人可以获取语言环境?

这就是我现在所拥有的... https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes

理想情况下,我正在寻找类似以下内容的东西:https://www.example.com/ $ Locale()$ / holiday-sale-event /?prefn1 = productType&prefv1 = Shoes

预期结果将是:

https://www.example.com/en_gb/holiday-sale-event/?prefn1=productType&prefv1=Shoes

https://www.example.com/en_nl/holiday-sale-event/?prefn1=productType&prefv1=Shoes

https://www.example.com/fr_fr/holiday-sale-event/?prefn1=productType&prefv1=Shoes

https://www.example.com/de_de/holiday-sale-event/?prefn1=productType&prefv1=Shoes

...等,具体取决于语言环境。

2 个答案:

答案 0 :(得分:1)

您应该使用$url()$来生成URL,该URL将自动在URL中填充正确的语言环境字符串。

假设以上示例是ID为holiday-sales-event的类别中细化类别搜索的链接,那么您的第一个示例将表示为:

$url(Search-Show,cgid,holiday-sales-event,prefn1,productType,prefv1,shoes)$

这将为呈现内容的任何语言环境生成正确的本地化URL。

由于URL的“假日销售事件”部分本身可能已本地化,因此您打算使用的方法至少会导致404或重定向。

答案 1 :(得分:0)

您可以通过request.locale获取当前语言环境

var currentLocale = request.locale;