> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Buyer Portal Localization

The hosted Buyer Portal automatically translates its static UI strings — navigation, labels, buttons, form fields, and system messages — into the languages configured on a B2B storefront channel.

## How translation is resolved

For each string the Buyer Portal renders, it resolves the text in the following order:

1. **Channel-level custom translation** — a value uploaded for that specific storefront channel, if one exists.
2. **Global custom translation** — a value uploaded without a channel override, if one exists.
3. **Pre-translated bundle** — a BigCommerce-provided translation for the shopper's active locale, if the locale is on the [supported languages list](https://support.bigcommerce.com/s/article/Localization-Settings?language=en_US#faq).
4. **English default** — used when none of the above apply, including for locales that aren't yet pre-translated.

This means a merchant doesn't need to upload a full translation file to support a pre-translated language — only the strings they want to override.

## Language selector

When a storefront channel has two or more active languages, the Buyer Portal header displays a language selector so shoppers can switch languages. The selector stays in sync with the storefront's own language selector — switching languages in one updates the other. If a channel has only one active language, the selector isn't shown.

Active languages are configured per channel through the [Locales](/developer/docs/admin/store-configuration/settings/locales-configuration) settings of the GraphQL Admin API or the control panel's Localization settings.

## Supported languages

BigCommerce provides pre-translated Buyer Portal bundles for the languages listed in the [Localization Settings FAQ](https://support.bigcommerce.com/s/article/Localization-Settings?language=en_US#faq). A channel language that isn't on that list falls back to the English default until a merchant provides custom translations for it.

## Custom translations (CSV import)

Merchants can override static strings on the default language — including pre-translated ones — by uploading a translation CSV for a page from the B2B Edition control panel. Each row maps a string key to its default and custom value:

```csv
VARIABLE,DEFAULT_VALUE,CUSTOM_VALUE
login.button.signIn,Sign In,Se connecter
login.loginText.password,Password,
```

> **Note**
>
> Leaving `CUSTOM_VALUE` empty means the merchant made no override, so the row is dropped rather than stored as the English `DEFAULT_VALUE`. The string then falls back through the normal [resolution order](#how-translation-is-resolved) to the pre-translated bundle for the shopper's locale, or English if that locale isn't pre-translated. Previously, an empty `CUSTOM_VALUE` was saved as an English override, which could show English text for strings the merchant never touched.

A CSV uploaded for a specific channel only overrides strings for that channel. Rows omitted from a channel-level file still fall through to any global override, then to the pre-translated bundle, per the [resolution order](#how-translation-is-resolved) above.

## Resources

* [Locale Configuration](/developer/docs/admin/store-configuration/settings/locales-configuration)
* [Localization Settings (Help Center)](https://support.bigcommerce.com/s/article/Localization-Settings?language=en_US#faq)
* [B2B Edition Settings (Help Center)](https://support.bigcommerce.com/s/article/B2B-Edition-Settings)