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

# iOS

This guide is designed to help you style our default Universal Checkout UI. If you would like to build your own UI from scratch then check out our [Headless Universal Checkout guide](/checkout/headless).

## Localization and languages

Universal Checkout supports multiple languages out of the box, enabling you to adapt its UI to the relevant market.

<Note>
  Universal Checkout uses the device language by default. If this language is not supported, Universal Checkout automatically falls back to English.
</Note>

### Supported locales

| Language                                             | Minimum versions |
| ---------------------------------------------------- | ---------------- |
| Arabic                                               | v1.29.0          |
| Bulgarian                                            | v2.35.0          |
| Catalan                                              | v2.30.0          |
| Czech                                                | v2.35.0          |
| Danish                                               | v1.26.0          |
| German                                               | v1.26.0          |
| Greek                                                | v1.26.0          |
| English                                              | v1.0.0           |
| Spanish                                              | v1.26.0          |
| Spanish (Argentina)                                  | v2.35.0          |
| Spanish (Mexico)                                     | v2.35.0          |
| Estonian                                             | v2.35.0          |
| Finnish                                              | v2.30.0          |
| French                                               | v1.26.0          |
| Hebrew                                               | v2.30.0          |
| Croatian                                             | v2.35.0          |
| Hungarian                                            | v2.35.0          |
| Indonesian                                           | v2.30.0          |
| Italian                                              | v1.26.0          |
| Japanese                                             | v2.35.0          |
| Korean                                               | v2.30.0          |
| Lithuanian (Lithuania)                               | v2.30.0          |
| Latvian                                              | v2.35.0          |
| Malay                                                | v2.16.3          |
| Norwegian                                            | v1.26.0          |
| Dutch                                                | v1.26.0          |
| Polish                                               | v1.26.0          |
| Portuguese                                           | v1.26.0          |
| Portuguese (Brazil)                                  | v2.35.0          |
| Romanian                                             | v2.35.0          |
| Russian                                              | v2.35.0          |
| Slovak                                               | v2.35.0          |
| Slovenian                                            | v2.30.0          |
| Serbian                                              | v2.30.0          |
| Swedish                                              | v1.0.2           |
| Thai                                                 | v2.16.3          |
| Turkish                                              | v1.26.0          |
| Ukrainian                                            | v2.30.0          |
| Vietnamese                                           | v2.35.0          |
| Chinese (Mainland China - Simplified characters)     | v2.16.3          |
| \[BETA] Chinese (Hong-Kong - Traditional characters) | v2.16.3          |
| \[BETA] Chinese (Taiwan - Traditional characters)    | v2.16.3          |

### Right-to-left

Universal Checkout automatically switches to a right-to-left layout when necessary.

## Theme

To customize the appearance of the SDK define the `PrimerTheme` object, then pass it in as an argument when configuring the SDK.

```swift SWIFT theme={"dark"}
// example:
let theme = PrimerTheme(
    cornerRadiusTheme: CornerRadiusTheme(textFields: 8),
    colorTheme: PrimerDefaultTheme(tint1: themeColor),
    layout: PrimerLayout(showTopTitle: false, textFieldHeight: 44),
    textFieldTheme: .outlined
)

Primer.shared.configure(theme: theme)
```

### Custom Colors

Access the `colorTheme` property to add custom colors.

```swift SWIFT theme={"dark"}
PrimerTheme(
  colorTheme: ColorTheme
  darkTheme: ColorTheme // iOS 13.0+ only
)

protocol ColorTheme {
  var text1: UIColor { get } // headers, main text
  var text2: UIColor { get } // white text for darker buttons
  var text3: UIColor { get } // system text, theme colored text
  var secondaryText1: UIColor { get } // less visible subheaders
  var main1: UIColor { get } // backgrounds
  var main2: UIColor { get } // table cells, default buttons
  var tint1: UIColor { get } // borders, theme colored components
  var neutral1: UIColor { get } // unselected buttons
  var disabled1: UIColor { get } // disabled components
  var error1: UIColor { get } // error borders and messages
}

// example:
let colorTheme = PrimerDefaultTheme(tint1: .systemPink)
```

### Rounded Corners

Update the `cornerRadiusTheme` to change the corner radius of different components.

```swift SWIFT theme={"dark"}
let cornerRadiusTheme = CornerRadiusTheme(buttons: 8, sheetView: 18)
let theme = PrimerTheme(cornerRadiusTheme: cornerRadiusTheme)
```
