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:
- Channel-level custom translation — a value uploaded for that specific storefront channel, if one exists.
- Global custom translation — a value uploaded without a channel override, if one exists.
- Pre-translated bundle — a BigCommerce-provided translation for the shopper’s active locale, if the locale is on the supported languages list.
- 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 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. 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:
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 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 above.