---
updatedAt: 2026-08-03T10:53:10.000Z
---

# Localization in the Product Feed

Set up your section to support multiple languages for sites serving multiple locations

One way to adapt product recommendation campaigns based on the user locale is to display localized product properties. For filtering based on locale, see [the Knowledge Base article](https://support.dynamicyield.com/hc/en-us/articles/360022558254-Multi-language-Support#h_01F248MFW1W5VDSX6B8ND7R1VF).

For example, you can use different product names in the feed for different languages.

To add localized values of any product property (such as price, name, or description), add a column to your product feed with the following format:

```
“lng:<language code>:<column name>”: “<value>”
```

For example, if your default language is English and you want to add a German version of the product name, add a column called "lng:de\_DE:name", and set the German value for the name as follows:

    "name":"White Pants"<br />    "lng:de\_DE:name":"weiße Hosen"

The language code should match the name you use in the page context. For details, see [Setting Page Context](https://dy.dev/dy-dev/docs/page-context). The language code can have up to two (\_) or (-) between the values. For example: "lng:en\_EN\_X".

You can also create columns that apply to all context values sharing the same language or country.<br />For example, a column named `lng:en_:name` will apply to all products whose context includes the language code `en` (such as `en_US`, `en_GB`, and so on), while `lng:_GB:stock` will apply to all products whose context includes the country code `_GB` (such as `en_GB`, `fr_GB`, and so on). This lets you define a single column with values relevant to all products in a given language or country.

For this functionality, follow the standard [language codes (ISO 639-1)](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) and [country codes (ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). For example, `en_US`, `en_GB`, `fr_DE`. Column names must follow one of these formats: `lng:[language]_` or `lng:_[country]`.

Because these columns are optional, blank values do not trigger errors or warnings.

You can create a total of up to 300 columns when working with multiple languages (including all mandatory, custom, and translated columns). 

<Callout icon="🚧" theme="warn">
  ### Note the following when setting up your feed columns

  <ul>
      <li>
        Do not leave empty values. If you do, while the feed preview appears
        empty, the system assigns the following values for this filter:
        <ul>
          <li>lng:Price – 0</li>
          <li>lng:In stock – false</li>
        </ul>
      </li>
    </ul>

    <p class="wysiwyg-indent4">This means that the item fails the filter <code>in_stock:true</code> for that locale. There is no fallback to the default stock column. Take this into consideration when deciding how to handle your localization.</p>

    <ul>
      <li>
        Make sure all lng columns have a default column (for non-mandatory columns).
        For example, if you use the column "lng:FR:discounted", you must also
        have the column "discounted", as in the example above.
      </li>
    </ul>

  - **Translated content:** Multi-language sections cannot use translated content in context or feed to match the set default language ("lng").
</Callout>