You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shopify Liquid模板中按本地化语言条件调整价格显示?

解决方案

核心结论

不能直接在Liquid模板中读取页面的data-current-lang属性——Liquid是服务器端渲染语言,DOM属性是页面渲染完成后在客户端存在的,服务器端无法直接获取这类客户端属性。

正确实现方式:使用Shopify内置语言变量

Shopify的Liquid提供了直接获取当前语言环境的内置变量,比如request.locale(返回当前请求的语言代码,如英文en、日文ja),可以直接用它做条件判断,调整价格和文本的显示顺序。

示例修改代码

假设产品最低价格的输出代码是{{ product.price_min | money }},将原代码调整为:

{% if product.price_varies and product.price_min > 0 %}
  <small><em>
    {% if request.locale == 'ja' %}
      {{ product.price_min | money }} {{ 'products.general.from' | t }}
    {% else %}
      {{ 'products.general.from' | t }} {{ product.price_min | money }}
    {% endif %}
  </em></small>
{% endif %}

细节说明

  1. 先确认request.locale的实际值:可以在模板中临时添加{{ request.locale }},访问日文页面查看具体返回的语言代码(比如可能是ja-JP而非ja),再调整条件判断的匹配值。
  2. 建议通过Translate and Adapt维护翻译:将日文的products.general.from翻译为~,这样不用在模板里硬编码符号,符合多语言维护规范。

内容的提问来源于stack exchange,提问作者DukeSmellington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:50:34