# Shopify Translations

The **Translations** page controls storefront text for Retail Cloud Connect Shopify App Blocks. Use it for Online Store 2.0 themes that install the Search Results, Product Grid, Recommendations AI, and Document Search App Blocks from the Shopify theme editor.

For Online Store 2.0 App Block installs, do not add a custom `window.Nimstrata.translations` object for normal translation work. The app saves translations into Shopify metafields and the App Blocks inject the right language data before the storefront JavaScript starts.

<br/>

## What the App Handles

Use the **Translations** page to edit:

- **App Block Translations**: shopper-facing search, collection, recommendation, product-card, and document-search UI copy
- **Filter Display Labels**: filter headings such as **Brand**, **Color**, **Size**, **Price**, and custom attribute labels
- **Product card button text** from Product Card Builder components

Use **Filter Value Translations** from the **Filters & Data** page to edit:

- Raw filter values
- Merged filter labels
- Color family values

<br/>

## Language Selection

The Retail Cloud Connect Shopify App reads published shop locales from Shopify. The main **Translations** page includes the primary locale and published secondary locales.

Primary-locale display labels are the default labels used by **Filters & Data**. Editing a primary-locale filter display label updates the underlying filter display name.

Secondary-locale display labels override the default label for that storefront language.

<br/>

## AI Translation

AI translation actions are available for secondary locales. The app only fills blank rows by default and keeps existing manual translations unless a row is explicitly targeted.

Primary-locale text is edited manually because it is the source copy for the store.

<br/>

## Storefront Behavior

Search and collection App Blocks load translations in this order:

1. Shipped theme-extension locale defaults
2. Merchant-edited App Block Translations
3. Filter display-label and filter-value translations

Filter-specific translations win over generic storefront copy when both exist.

<br/>

## Online Store 1.0 or Manual Theme Installs

Only use manual `window.Nimstrata.translations` setup when the store is not using Retail Cloud Connect Online Store 2.0 App Blocks, such as an Online Store 1.0/manual asset install.

For those installs, define translation data before loading the Nimstrata storefront bundle:

```js
window.Nimstrata = window.Nimstrata || {};
window.Nimstrata.translations = window.Nimstrata.translations || {};
window.Nimstrata.translations.default = {
  'search.placeholder': 'Search',
  'toolbar.refine_filters': 'Refine Filters',
  brands: 'Brand',
};

window.Nimstrata.translations.filters = {
  sizes: {
    sizes: 'Size',
    M: 'Medium',
    L: 'Large',
  },
};
```

For the full manual property reference, see [Window Nimstrata Properties](/shopify/theme-installation/window-nimstrata/).
