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

# Custom Translations

> Translate PCI Booking hosted card forms into any language. Override default labels, placeholders, and error messages.

PCI Booking's card entry forms, card display pages, and error messages come with default text in English and several other languages. Custom translations let you override any of this text with your own wording or add support for additional languages.

## What Can Be Customized

All user-facing text rendered by PCI Booking can be customized per language:

* Form labels and placeholders (e.g. "Card Number", "Expiration Date")
* Validation and error messages
* Instructions and helper text
* Card type display names

## How It Works

PCI Booking uses a three-tier priority system for each text element:

1. **Your custom value** (highest priority). Text you provide for a specific language.
2. **System default in selected language**. PCI Booking's built-in translation for that language.
3. **System default in English** (fallback). Used when no translation exists for the selected language.

When rendering a form, PCI Booking checks for your custom value first. If none exists, it falls back to the system default for that language, then to English.

## Setting Up Translations

1. Log into the [PCI Booking portal](https://users.pcibooking.net).
2. Navigate to **GUI Settings** > **Language Settings**.
3. Select the target language from the dropdown.
4. The page displays all text elements with three columns: the English default, the system default for the selected language, and your custom value.
5. Enter your custom text in the "User Custom Value" field for any element you want to override.
6. Save your changes.

## Supported Languages

The following languages are supported across card entry forms, card display forms, CVV capture forms, and property emails. Pass the language code in the `Language` parameter when creating a form.

| Language            | Code | Direction |
| ------------------- | ---- | --------- |
| Afrikaans           | af   | LTR       |
| Arabic              | ar   | RTL       |
| Catalan             | ca   | LTR       |
| Chinese             | CN   | LTR       |
| Chinese (Taiwan)    | ct   | LTR       |
| Croatian            | hr   | LTR       |
| Czech               | cs   | LTR       |
| Danish              | da   | LTR       |
| Dutch               | NL   | LTR       |
| English             | EN   | LTR       |
| Estonian            | et   | LTR       |
| Finnish             | fi   | LTR       |
| French              | FR   | LTR       |
| German              | DE   | LTR       |
| Greek               | el   | LTR       |
| Hebrew              | HE   | RTL       |
| Hindi               | hi   | LTR       |
| Hungarian           | hu   | LTR       |
| Italian             | IT   | LTR       |
| Japanese            | JA   | LTR       |
| Korean              | ko   | LTR       |
| Latvian             | lv   | LTR       |
| Lithuanian          | lt   | LTR       |
| Norwegian           | no   | LTR       |
| Polish              | pl   | LTR       |
| Portuguese          | pt   | LTR       |
| Portuguese (Brazil) | pb   | LTR       |
| Russian             | ru   | LTR       |
| Slovak              | sk   | LTR       |
| Slovenian           | sl   | LTR       |
| Spanish             | ES   | LTR       |
| Swedish             | sv   | LTR       |
| Thai                | th   | LTR       |
| Turkish             | TR   | LTR       |
| Zulu                | zu   | LTR       |

<Info>
  Arabic and Hebrew use right-to-left (RTL) text direction. PCI Booking handles RTL layout automatically when these languages are selected.
</Info>

## Next Steps

<CardGroup cols={2}>
  <Card title="Hosted Card Entry Form" icon="book" href="/capture-cards/hosted-card-entry-form">
    The card capture form where translations are displayed
  </Card>

  <Card title="Card Display" icon="book" href="/use-tokens/card-display">
    Card display pages that use the same translation system
  </Card>
</CardGroup>
