# Multilingual / Multilocal Implementation

If a site or an application operates in different locations where certain product parameters (like product availability, price or product name display language) differ, multilingual / multilocal implementation allows products to be displayed in recommendation widgets with the correct language, correct currency, and correct price. Below are a few examples of when our clients use this functionality:

1. Company A's website operates in three different countries and recommendation widgets should display products in the local language and with prices in local currency depending on the country. One feed is used for recommendations on all versions of the website. The multilingual / multilocal implementation is used to display product names in different languages and prices in different currencies.
2. Company B works with clients from all over the USA and has seven distribution centers to maintain high level of customer service across the country. Due to the peculiarities of the business processes, prices and availability for customers served by each of the distribution centers differ. The multilingual / multilocal implementation is used to display the corresponding prices and availability for each of the users depending on their location.

{% hint style="info" %}
All values must be escaped with **double quotes**.
{% endhint %}

To ensure that this personalization platform feature works correctly, it is necessary to add the `lng` parameter to the website context and product feed.

**The lng parameter in website context:**

```jsx
GF.pageContext = {"type": "OTHER", "lng": "en_EN"};
```

or

```jsx
GF.pageContext = {"type": "OTHER", "lng": "North-East"};
```

Additional columns need to be added to the feed for parameters that differ from the base parameters in the following format: `lng:<language/region code>:<parameter>:<value>`.

{% hint style="info" %}
Adding the `lng` column is necessary for each changeable parameter: name, page URL, price, and others. Any column in the feed, except for `sku` and `group_id`, can have language / regional variations. Base columns (without additional parameters) must also remain in the feed and will be used if the value in the additional column is not found.
{% endhint %}

For example, the product name in another language:

```jsx
"name": "Chaussures blanches" // product name in the default language
"lng:en_EN:name": "White shoes" // product name in English
```

or the price of a product in another region:

```jsx
"price": "150.00" // product price by default
"lng:NorthEast:price": "155.00" // product price in the North-East Region
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.gravityfield.ai/lang/en/implementation/client-side-integration/lng.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
