---
products:
- product
- store
---
import { CodeTabs, CodeTab, Table } from "docs-ui"
export const metadata = {
title: `Links between Translation Module and Other Modules`,
}
# {metadata.title}
This document showcases the module links that Medusa defines between the Translation Module and other Commerce Modules.
## Summary
Medusa defines the following links between the Translation Module and other Commerce Modules:
First Data Model
Second Data Model
Type
Description
[Product](/references/product/models/Product) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductVariant](/references/product/models/ProductVariant) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductCategory](/references/product/models/ProductCategory) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductCollection](/references/product/models/ProductCollection) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductTag](/references/product/models/ProductTag) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductType](/references/product/models/ProductType) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductOption](/references/product/models/ProductOption) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[ProductOptionValue](/references/product/models/ProductOptionValue) in [Product Module](../../product/page.mdx)
[Translation](/references/translation/models/Translation)
Read-only - one-to-many
[Learn more](#product-module)
[StoreLocale](/references/store/models/StoreLocale) in [Store Module](../../store/page.mdx)
[Locale](/references/translation/models/Locale)
Read-only - has many
[Learn more](#store-module)
---
## Product Module
Medusa defines the following read-only links between the Translation and Product Modules:
Data Model
Link Type
Description
[Product](/references/product/models/Product) \<-\> [Translation](/references/translation/models/Translation)
One-to-many (bidirectional)
Retrieve translations associated with a product and vice versa.
[ProductVariant](/references/product/models/ProductVariant) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product variant only.
[ProductCategory](/references/product/models/ProductCategory) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product category only.
[ProductCollection](/references/product/models/ProductCollection) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product collection only.
[ProductTag](/references/product/models/ProductTag) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product tag only.
[ProductType](/references/product/models/ProductType) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product type only.
[ProductOption](/references/product/models/ProductOption) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product option only.
[ProductOptionValue](/references/product/models/ProductOptionValue) -> [Translation](/references/translation/models/Translation)
One-to-many (read-only)
Retrieve translations of a product option value only.
### Retrieve with Query
To retrieve the translations of a product with [Query](!docs!/learn/fundamentals/module-links/query), pass `translations.*` in `fields`:
You can pass the `translations.*` field when querying any of the above-mentioned data models to retrieve their associated translations.
```ts
const { data: products } = await query.graph({
entity: "product",
fields: [
"translations.*",
],
})
// products[0].translations
```
```ts
import { useQueryGraphStep } from "@medusajs/medusa/core-flows"
// ...
const { data: products } = useQueryGraphStep({
entity: "product",
fields: [
"translations.*",
],
})
// products[0].translations
```
---
## Store Module
The [Store Module](../../store/page.mdx) has a `StoreLocale` data model that stores the supported locales of a store. However, these locales don't hold all the details of a locale, such as its name.
Instead, Medusa defines a read-only link from the Store Module's `StoreLocale` data model to the Translation Module's `Locale` data model. This means you can retrieve the details of a store's supported locales, but you don't manage the links in a pivot table in the database.
### Retrieve with Query
To retrieve the details of a store's locales with [Query](!docs!/learn/fundamentals/module-links/query), pass `supported_locales.locale.*` in `fields`:
```ts
const { data: stores } = await query.graph({
entity: "store",
fields: [
"supported_locales.locale.*",
],
})
// stores[0].supported_locales[0].locale
```
```ts
import { useQueryGraphStep } from "@medusajs/medusa/core-flows"
// ...
const { data: stores } = useQueryGraphStep({
entity: "store",
fields: [
"supported_locales.locale.*",
],
})
// stores[0].supported_locales[0].locale
```