円で購入した商品を、購入履歴ページを英語表記にした場合、
購入商品が数字は変わらずにドル表記になってしまうのですが、
回避する方法はないでしょうか?
例)購入履歴ページ
・購入商品: ¥10,000
・日本語表記: ¥10,000
・英語表記: $10,000(← これです)
問題: 円で購入した注文が、購入履歴ページの表示言語を英語に切り替えると、数値はそのままに通貨記号だけが$表示になり、誤認を招く。例: ¥10,000 が英語表記で $10,000 と表示。
最新の対応: order.currency を参照し、USDなら「¥→$」、JPYなら「$→¥」にテンプレートで置換することで解決。
技術的補足: Liquidのテンプレート変数・フィルタ(money, money_without_trailing_zeros)を利用。提示されたコードスニペットが理解に必須。
限界/注意点: 通貨を追加した場合、置換ロジックのメンテナンスが増えるため、拡張時の対応が必要。
状態: 解決済み。未解決の論点や追加アクションは特になし。
円で購入した商品を、購入履歴ページを英語表記にした場合、
購入商品が数字は変わらずにドル表記になってしまうのですが、
回避する方法はないでしょうか?
例)購入履歴ページ
・購入商品: ¥10,000
・日本語表記: ¥10,000
・英語表記: $10,000(← これです)
解決しました。注文履歴のcurrencyを見て、$を¥、または¥を$に置き換えで解決しました。
Currencyを追加した場合に手間になりますが、一先ずこちら残しておきます。
{% if order.currency == 'USD' %}
{{ order.total_price | money | replace: '¥', '$' }}
{% elsif order.currency == 'JPY' %}
{{ order.total_price | money_without_trailing_zeros | replace: '$', '¥' }}
{% endif %}