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
...等,具体取决于语言环境。
答案 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;