> For the complete documentation index, see [llms.txt](https://docs.zigpoll.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zigpoll.com/polls/language-settings.md).

# Language and Translations

Show your survey in the language of your respondent

Open a survey and go to **Settings → Language**.

{% hint style="info" %}
These settings apply to this specific survey only. To translate every survey at once, use the **account language settings** link at the bottom of the survey's Language tab. Account-wide translations are used by any survey that doesn't have its own language settings turned on.
{% endhint %}

{% embed url="<https://youtu.be/SgZEGGktX9k>" %}

If your customers speak multiple languages, you can show each of them your survey in their own language.

A customer browsing your store in French sees the French version of your survey. A customer browsing in Spanish sees the Spanish version. If a customer's language has no translation, they see your default copy.

You control every translation, so you don't have to rely on Google Translate getting it right. Translations are stored in Zigpoll, not in Shopify, so there is nothing to set up in Shopify's translation apps.

### How Zigpoll picks the language

| Where the survey shows                                               | Language used                                                                                                                                                                                                                                                                   |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| On your site (pop-up, embed, exit intent)                            | The language the page declares (its `<html lang>` attribute). Shopify themes set it to the storefront language the shopper chose, including per-market languages and translated URLs like `/fr/`. If the page doesn't declare one, Zigpoll uses the visitor's browser language. |
| Shopify checkout, Thank You, Order Status and customer account pages | The language the customer is checking out in, as reported by Shopify.                                                                                                                                                                                                           |
| Survey links (`survey.zigpoll.com/...`)                              | The visitor's browser language.                                                                                                                                                                                                                                                 |
| Email and SMS invitations                                            | See [How Zigpoll knows the customer's language](#how-zigpoll-knows-the-customers-language) below.                                                                                                                                                                               |

Zigpoll doesn't use the visitor's IP address or a VPN location to pick the language.

There is no language picker or switch button inside the survey itself. Respondents don't choose a language: Zigpoll picks it from the rules above, and you can force one with `?lang=` (next section). To offer a choice, link to the survey once per language, each link with its own `?lang=`.

#### Force a language with `?lang=`

To force a language regardless of the browser, add `?lang=` and a language code to the survey link. This also works on the address of the page the survey shows on. For example:

* `https://survey.zigpoll.com/SURVEY_ID?lang=fr`
* `https://survey.zigpoll.com/SURVEY_ID?lang=pt-BR`

The code must match a language you've added to the survey. Otherwise the default copy is shown.

### Changing the default language

Your **default** copy is what everyone sees when their language has no translation. The questions and answer options use whatever you wrote them in. The survey buttons and messages start in English. To change them:

1. Open the survey and go to **Settings → Language**, then the **Buttons & Hints** tab.
2. Edit the **Default** column directly, or use **Translate Default CTAs** to translate every default button, hint and message into another language at once. **Reset Default CTAs** puts them back.
3. Click **Save Changes**.

Launcher text is edited on **Settings → Design → On-Site**, not here.

### Where to find auto-translations

<figure><img src="https://1643988190-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZpanNFqg3aCUZgXh3X%2Fuploads%2Fgit-blob-5647ef8e4deb04706ee7a188c6190fcd15c088f3%2Flanguage-settings.png?alt=media" alt="Language Settings"><figcaption></figcaption></figure>

### Auto translating your survey

When you add a language, one click of **Auto translate** translates everything in that language card:

* **Questions tab:** your questions and answer options.
* **Buttons & Hints tab:** buttons and actions, words and phrases, error and alert messages, launcher content, the reward banner, and your email and SMS invitation copy.

You can edit any translation by hand afterwards.

<figure><img src="https://1643988190-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZpanNFqg3aCUZgXh3X%2Fuploads%2Fgit-blob-edc317f3fc15ff4e1db77e9bb0e6c1d80b0d3113%2Flanguage-auto-translate.png?alt=media" alt="The Auto-translate button on a language card" width="559"><figcaption></figcaption></figure>

{% hint style="warning" %}
Click **Save Changes**, or your translations won't be saved and you'll have to redo them.
{% endhint %}

### Previewing your translations

The preview panel on the Language tab shows the language card you're editing, live, including unsaved changes. Switch between three views to check each channel before you save: **survey**, **email**, and **SMS**.

### Translating action button URLs

On questions with action buttons, each language card has its own **Button URL**. Use it when, for example, your French customers should land on your French site. Leave it blank to use the button's default link. **Auto translate** never changes URLs, so set them yourself for each language.

### Right-to-left languages

Surveys in right-to-left languages (Arabic, Hebrew, Persian, Urdu, and others) display right-to-left automatically. The layout, rating scales, matrix grids, and inputs are all mirrored. To force a direction yourself, use the **Text Direction** design setting.

### Region-specific languages

You can add both a base language and region-specific variants, for example `fr` (French) and `fr-CA` (French, Canada). The language picker lists variants under their base language, including `zh-TW` (Chinese, Traditional, Taiwan), `pt-BR` (Portuguese, Brazil), `es-MX` (Spanish, Mexico) and `en-GB` (English, United Kingdom).

A visitor with a `fr-CA` locale sees:

1. Your `fr-CA` translations, where you've provided them.
2. Your `fr` translations for anything you haven't translated into `fr-CA`.
3. Your default copy for anything left.

Visitors from any other French-speaking region get `fr`. This works everywhere the survey appears, including Shopify checkout and Thank You / Order Status pages.

### Translating your Email and SMS invitations

Each language card also has an **Email Copy** and an **SMS Message** section. Fill these in, and Zigpoll sends the matching language whenever it knows the customer's language. A French customer receives your French email or text. Everyone else receives your default copy.

You can translate:

* **Email**: subject, header, body, button, and footer
* **SMS**: the message text (max 125 characters)

Any field you leave blank uses your default copy, so you can translate only the subject line if that's all you need. The email body opens in an editor window. It supports the same template variables as your default email, so variables like `{{ first_name }}` work in every language.

{% hint style="info" %}
Your **default** email and SMS copy is still edited on the survey's Email and SMS tabs. The language cards only hold the translations.
{% endhint %}

#### How Zigpoll knows the customer's language

The language is detected automatically depending on how the survey is delivered:

| Delivery method                                                        | Language source                                                             |
| ---------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Shopify checkout / Thank You / Order Status / customer account surveys | The buyer's Shopify locale                                                  |
| Shopify order events (paid, fulfilled, delivered)                      | The order's customer locale from Shopify                                    |
| Abandoned checkout emails                                              | The checkout's customer locale from Shopify                                 |
| Shopify Flow actions                                                   | The customer's locale from Shopify                                          |
| Shopify customer segment campaigns                                     | Each customer's locale from Shopify                                         |
| CSV campaigns (email and SMS)                                          | An optional `locale` (or `lang` / `language`) column — e.g. `fr` or `fr-CA` |
| Stripe events                                                          | The checkout locale or the customer's preferred language                    |
| Nudge reminders                                                        | The language of the original send                                           |
| Manually pasted recipient lists                                        | Not available — default copy is sent                                        |

Region-specific languages work the same way they do for surveys. A `fr-CA` customer gets your `fr-CA` translations where provided, then `fr`, then your default copy.

When a message is sent in a customer's language, the survey link carries that language too. A customer who clicks through from a Japanese email or text sees the survey in Japanese, whatever their browser settings. This applies to Zigpoll survey links. Custom links are left untouched.

### How translated answers are reported

Answers are always recorded under your **original** (default-language) option, whichever language the customer saw. A customer who picks *Très satisfait* on the French survey is counted under *Very satisfied*. Results, charts and exports combine every language into one set of options. Question logic matches the original options too, so you only build it once.

Write-Ins are kept exactly as the customer typed them, in their own language.

{% hint style="warning" %}
**Seeing old or unexpected question text for some customers?** Translations are separate copies of your questions. If you change a question or its options after translating, update or re-run **Auto translate** for each language, or customers in that language keep seeing the old wording.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zigpoll.com/polls/language-settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
