> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upcartで通貨フォーマットをカスタマイズする

> Shopify Marketsとカスタムスクリプトの設定を使用して、カート内での通貨の表示方法をコントロールします。

<div id="overview">
  # 概要
</div>

このカスタマイズにより、Upcartのカートドロワーで通貨記号と通貨コードがどのように表示されるかを変更できます。通貨記号（例: `$`）や通貨コード（例: `USD`）を表示するかどうか、それらを表示する位置、スペースの入れ方をコントロールできます。

このセットアップには、次のいずれかが必要です:

* ストアが **Shopify Markets** を使用している、または
* **単一のマーケット**で運用している

***

<div id="where-to-add-the-script">
  ## スクリプトを追加する場所
</div>

1. **Upcart > Cart Editor > Settings > Custom HTML** に移動します
2. **Select HTML Location** ドロップダウンから **Scripts (Before load)** を選択します
3. 以下のスクリプトを入力フィールドに貼り付けます
4. 変更を保存します

***

<div id="currency-formatting-script">
  ## 通貨フォーマットのスクリプト
</div>

```html theme={"theme":{"light":"snazzy-light","dark":"github-dark"}}
<!-- Upcart Currency Formatting Script -->
<script>
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
let useCurrencySymbol = true;
let useCurrencyCode = true;
let currencySymbolPlacement = 'left';     // 'left' or 'right'
let currencyCodePlacement = 'right';      // 'left' or 'right'
let currencySymbolSpacing = false;
let currencyCodeSpacing = true;
let currencyFormat = "{{amount}}";        // Use Shopify's currency format
// ~~~~~~END OF MERCHANT SETTINGS~~~~~~

formatCurrency();

function formatCurrency() {
  let currencyMap = fillCurrencyMap(new Map());
  let currencyCode = Shopify.currency.active;
  let currencySymbol = currencyMap.get(currencyCode);

  if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat;

  } else if (currencySymbolPlacement == 'left' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'right') {
    window.upcartMoneyFormat =
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else if (currencySymbolPlacement == 'right' && currencyCodePlacement == 'left') {
    window.upcartMoneyFormat =
      (useCurrencyCode ? currencyCode : "") +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      currencyFormat +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      (useCurrencySymbol ? currencySymbol : "");

  } else {
    console.warn("Unexpected placement configuration. Falling back to default.");
    window.upcartMoneyFormat =
      (useCurrencySymbol ? currencySymbol : "") +
      (currencySymbolSpacing && useCurrencySymbol ? " " : "") +
      currencyFormat +
      (currencyCodeSpacing && useCurrencyCode ? " " : "") +
      (useCurrencyCode ? currencyCode : "");
  }
}

function fillCurrencyMap(map) {
  map.set('EUR', '€');
  map.set('GBP', '£');
  map.set('JPY', '¥');
  map.set('AUD', '$');
  map.set('CAD', '$');
  map.set('CHF', 'CHF');
  map.set('CNY', '¥');
  map.set('INR', '₹');
  map.set('RUB', '₽');
  map.set('BRL', 'R$');
  map.set('ZAR', 'R');
  map.set('MXN', '$');
  map.set('SGD', '$');
  map.set('NZD', '$');
  map.set('HKD', 'HK$');
  return map;
}
</script>
```

***

<div id="settings-explained">
  ## 設定の説明
</div>

スクリプト内で、次のセクションを探してください:

```
// ~~~~~~START OF MERCHANT SETTINGS~~~~~~
```

これらの値を調整して、カート内での通貨の表示方法をコントロールできます:

|                             |                               |                                                              |
| --------------------------- | ----------------------------- | ------------------------------------------------------------ |
| 設定                          | 説明                            | オプション                                                        |
| **useCurrencySymbol**       | 通貨記号（例: `$`）の表示・非表示           | `true` / `false`                                             |
| **useCurrencyCode**         | 通貨コード（例: `USD`）の表示・非表示        | `true` / `false`                                             |
| **currencySymbolPlacement** | 記号を表示する位置                     | `'left'` / `'right'`                                         |
| **currencyCodePlacement**   | コードを表示する位置                    | `'left'` / `'right'`                                         |
| **currencySymbolSpacing**   | 記号と金額の間にスペースを追加（例: `$ 10.00`） | `true` / `false`                                             |
| **currencyCodeSpacing**     | コードと金額の間にスペースを追加（例: `10 USD`） | `true` / `false`                                             |
| **currencyFormat**          | 数値のフォーマットをコントロール              | `{{amount}}`、`{{amount_no_decimals}}` など（Shopifyの通貨オプションを参照） |

***

<div id="final-result">
  ## 最終結果
</div>

スクリプトを追加して保存すると:

* 通貨記号とコードが設定どおりに正確に表示されます
* リワードやアップセルを含む、Upcartドロワーのすべての部分で機能します
* **Shopify Markets** が有効な場合は自動的に対応します

***

<div id="need-help">
  ## サポートが必要ですか？
</div>

高度なカスタマイズには、**Shopify Expert** との協力をおすすめします。Upcartのサポートチームは、カスタムコードの作成やトラブルシューティングの支援は行っていません。

[Shopify Expertsを見る](https://www.shopify.com/partners/directory)
