2

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

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

4

2 回答 2

2

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

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

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

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

由于 URL 的“holiday-sales-event”部分可能会自行本地化,因此您的预期方法至少会导致 404 或重定向。

于 2019-07-26T17:22:39.953 回答
0

您可以使用 request.locale 获取当前语言环境

var currentLocale = request.locale;
于 2019-08-29T12:35:22.200 回答