feat(translation): Add support for locale to the graph query (#14454)

* feat(translation): Add support for locale to the graph query

* feat(translation): Add support for locale to the graph query

* feat(translation): Add support for locale to the graph query

* feat(translation): fix import

* fix

* cleanup

* fix context in product routes

* Create dull-onions-punch.md
This commit is contained in:
Adrien de Peretti
2026-01-06 12:29:27 +01:00
committed by GitHub
parent 0490a1c67f
commit 0ffd790109
20 changed files with 531 additions and 236 deletions

View File

@@ -5,7 +5,6 @@ import {
RemoteQueryFunction,
} from "@medusajs/framework/types"
import {
applyTranslations,
ContainerRegistrationKeys,
deduplicate,
FeatureFlag,
@@ -122,17 +121,16 @@ export const updateCartItemsTranslationsStep = createStep(
})
}
const { data: variants } = await query.graph({
entity: "variants",
filters: { id: variantIds },
fields: productVariantsFields,
})
await applyTranslations({
localeCode: data.locale,
objects: variants as Record<string, any>[],
container,
})
const { data: variants } = await query.graph(
{
entity: "variants",
filters: { id: variantIds },
fields: productVariantsFields,
},
{
locale: data.locale,
}
)
const translatedItems = applyTranslationsToItems(
items as { variant_id?: string; [key: string]: any }[],

View File

@@ -43,6 +43,5 @@ const step = createStep(
*/
export const getTranslatedLineItemsStep = <T>(
data: GetTranslatedLineItemsStepInput<T>
): ReturnType<StepFunction<any, T[]>> => step(data) as unknown as ReturnType<
StepFunction<any, T[]>
>
): ReturnType<StepFunction<any, T[]>> =>
step(data) as unknown as ReturnType<StepFunction<any, T[]>>

View File

@@ -5,7 +5,6 @@ import {
RemoteQueryFunction,
} from "@medusajs/framework/types"
import {
applyTranslations,
ContainerRegistrationKeys,
deduplicate,
FeatureFlag,
@@ -137,17 +136,16 @@ export const updateOrderItemsTranslationsStep = createStep(
})
}
const { data: variants } = await query.graph({
entity: "variants",
filters: { id: variantIds },
fields: productVariantsFields,
})
await applyTranslations({
localeCode: data.locale,
objects: variants as Record<string, any>[],
container,
})
const { data: variants } = await query.graph(
{
entity: "variants",
filters: { id: variantIds },
fields: productVariantsFields,
},
{
locale: data.locale,
}
)
const translatedItems = applyTranslationsToItems(
items as { variant_id?: string; [key: string]: any }[],

View File

@@ -1,5 +1,4 @@
import {
applyTranslations,
ContainerRegistrationKeys,
FeatureFlag,
Modules,
@@ -30,19 +29,18 @@ export const updateOrderShippingMethodsTranslationsStep = createStep(
const query = container.resolve(ContainerRegistrationKeys.QUERY)
const orderModuleService = container.resolve(Modules.ORDER)
const { data: translatedShippingOptions } = await query.graph({
entity: "shipping_option",
fields: ["id", "name"],
filters: {
id: data.shippingMethods.map((sm) => sm.shipping_option_id),
const { data: translatedShippingOptions } = await query.graph(
{
entity: "shipping_option",
fields: ["id", "name"],
filters: {
id: data.shippingMethods.map((sm) => sm.shipping_option_id),
},
},
})
await applyTranslations({
localeCode: data.locale,
objects: translatedShippingOptions,
container,
})
{
locale: data.locale,
}
)
const shippingOptionTranslationMap = new Map<string, string>(
translatedShippingOptions.map((tos) => [tos.id, tos.name])