Translations for Product Modifiers (Beta)

The Translations Admin GraphQL API for managing product modifier translations is available on Catalyst storefronts only.

The following entities are translatable for product modifiers:

  • Product Modifiers
    • Display name as display_name — The name of the option shown on the storefront
    • Checkbox label as config.checkbox_label — (checkbox type) Label displayed next to the checkbox
    • Default value as config.default_value — (text, multi_line_text, numbers_only_text, date types) Default value shown in the field
  • Product Modifier Values
    • Label as label — The text displayed for the option value on the storefront (e.g., “Yes”, “No”, “Red”)

For more on product modifiers and modifier types, see Product modifiers.

Resource fields

The entities listed above are referenced differently based on resource type and must use the following values in the queries outlined below:

Entity TyperesourceTyperesourceId Format
Product ModifierPRODUCT_MODIFIERSbc/store/productModifier/{{modifier_id}}
Product Modifier ValuePRODUCT_MODIFIER_VALUESbc/store/productModifierValue/{{value_id}}

Querying Product Modifier Translations (Storefront API)

Data is returned in the current locale determined by the context (e.g., Accept-Language header, channel settings, or session locale). Product options on the storefront include modifier display names and value labels; when translations exist for the requested locale, those translated values are returned.

Managing Product Modifier Translations (Admin API)

Product modifier translation management (list, update, delete) is available via the Admin GraphQL API. These mutations and queries are not available on the Storefront API.

Query a List of Product Modifier Translations

The request below uses several variables for reusability. Replace {{resourceType}}, {{channel_id}}, and {{locale_code}} with the appropriate values for your use case. Use PRODUCT_MODIFIERS or PRODUCT_MODIFIER_VALUES depending on whether you are querying modifiers or modifier values.

This query returns a paginated list of translations with a maximum of 50 results per request. Use the cursor from the response in a subsequent request to fetch more results.

Example query: Query a list of translations
GRAPHQL https://api.bigcommerce.com/stores/{{store_hash}}/graphql
X-Auth-Token: {{token}}
query {
store {
translations(filters: {
resourceType: {{resourceType}},
channelId: "bc/store/channel/{{channel_id}}",
localeId: "bc/store/locale/{{locale_code}}"
} first: 50) {
edges {
node {
resourceId
fields {
fieldName
original
translation
}
}
cursor
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}
}

Query a Product Modifier Translation by Resource ID

The request below uses several variables for reusability. Replace {{resourceId}}, {{resourceType}}, {{channel_id}}, and {{locale_code}} with appropriate values for your use case. Make sure resourceId follows the format from the Resource fields table.

Example query: Query a product modifier translation by id
GRAPHQL https://api.bigcommerce.com/stores/{{store_hash}}/graphql
X-Auth-Token: {{token}}
query {
store {
translations(filters: {
resourceType: {{resourceType}},
channelId: "bc/store/channel/{{channel_id}}",
localeId: "bc/store/locale/{{locale_code}}",
resourceIds: ["{{resourceId}}"]
}) {
edges {
node {
resourceId
fields {
fieldName
original
translation
}
}
cursor
}
}
}
}

Update a Product Modifier Translation

The request below is for updating a product modifier. For product modifier values, replace resourceType and resourceId with appropriate values from the Resource fields table.

Example mutation: Update a product modifier translation
GRAPHQL https://api.bigcommerce.com/stores/{{store_hash}}/graphql
X-Auth-Token: {{token}}
mutation {
translation {
updateTranslations(input: {
resourceType: PRODUCT_MODIFIERS,
channelId: "bc/store/channel/{{channel_id}}",
localeId: "bc/store/locale/{{locale_code}}",
entities: [
{
resourceId: "bc/store/productModifier/206",
fields: [
{ fieldName: "display_name", value: "Assurance" },
{ fieldName: "config.checkbox_label", value: "5 $ pour l'assurance" }
]
}
]
}) {
__typename
errors {
__typename
... on Error {
message
}
}
}
}
}

Delete a Product Modifier Translation

The request below is for deleting translations on a product modifier. For product modifier values, replace resourceType and resourceId with appropriate values from the Resource fields table.

Example mutation: Delete a product modifier translation
GRAPHQL https://api.bigcommerce.com/stores/{{store_hash}}/graphql
X-Auth-Token: {{token}}
mutation {
translation {
deleteTranslations(input: {
resourceType: PRODUCT_MODIFIERS,
channelId: "bc/store/channel/{{channel_id}}",
localeId: "bc/store/locale/{{locale_code}}",
resources: [
{
resourceId: "bc/store/productModifier/206",
fields: ["display_name", "config.checkbox_label"]
}
]
}) {
__typename
errors {
__typename
... on Error {
message
}
}
}
}
}