# Asset Localization

### About this export

| Field | Value |
| --- | --- |
| **content_type** | lesson |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/contentstack-assets-foundations/asset-localization |
| **course_slug** | contentstack-assets-foundations |
| **lesson_slug** | asset-localization |
| **markdown_file_url** | /academy/md/courses/contentstack-assets-foundations/asset-localization.md |
| **generated_at** | 2026-05-28T12:30:00.529Z |

> Part of **[Contentstack Assets Foundations](https://www.contentstack.com/academy/courses/contentstack-assets-foundations)** on Contentstack Academy. **Academy MD v3** — structured for retrieval; no quiz or assessment keys.

<!-- ai_metadata: {"lesson_id":"06","type":"video","duration_seconds":304,"video_url":"https://cdn.jwplayer.com/previews/Kd6rBYJG","thumbnail_url":"https://cdn.jwplayer.com/v2/media/Kd6rBYJG/poster.jpg?width=720","topics":["Asset","Localization"]} -->

#### Video details

#### At a glance

- **Title:** Asset Localization
- **Duration:** 5m 4s
- **Media link:** https://cdn.jwplayer.com/previews/Kd6rBYJG
- **Publish date (unix):** 1778505343

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113737 kbps
- video/mp4 · 180p · 180p · 146750 kbps
- video/mp4 · 270p · 270p · 168898 kbps
- video/mp4 · 360p · 360p · 190694 kbps
- video/mp4 · 406p · 406p · 204454 kbps
- video/mp4 · 540p · 540p · 248980 kbps
- video/mp4 · 720p · 720p · 327047 kbps
- video/mp4 · 1080p · 1080p · 527042 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/Kd6rBYJG-120.vtt`

#### Video transcript

In ContentStack, localization lives inside a single asset record. You can localize metadata like titles and tags or go deeper by replacing the file itself. Want a French sale banner for a French locale? Swap the image while keeping the same asset ID. To get started inside of assets what you want to do is come over and choose settings and this will bring you to the languages section. You'll notice already we have French set up. Now this is important. You'll notice that French has a fallback language of English. This fallback language is essentially your safety net. If you haven't translated an image or a description yet, the system knows exactly what version to show instead so the user never sees a blank space. So if you didn't have this added already and wanted to do this, you would come over and click new language and then you would select the language you want to use and then you would choose your fallback language. But that's already been set up and you'll notice that we're using a supported language but if you want to create a custom language that is available to you. Again I'm going to cancel out of this because we have it set up. Now just because the language exists already globally, it doesn't mean every workspace needs to see it. This is where we want to avoid clutter. So what we want to do is enable a specific language for our project. So if we come back to the content stack assets and open up our brand marketing space, from here we can choose space settings and notice on the left-hand side we have workspaces. What we want to do is come over and create a new workspace. In this workspace will be the area where we deal with our French campaign. So we're going to go ahead and call this French and then we can add a description if we want. We're going to fork the main workspace and then you can come over and click create workspace. Once you create that workspace we can manage the language settings for it. So I'm going to come over to the actions menu and here I can choose manage workspace languages. In this case we have English. There's no fallback but we want to add a language. So I'll click add language and in this case I'm going to choose French with our default fallback of English. With that selected I'll click apply and then I'll click save changes. I need to confirm this. I will and then we're all set. So let's go back to the assets. I'm going to come over to the assets menu here. You want to make sure that we're working inside the French workspace and now we want to take a look at how we can localize an asset. When you localize an asset you can not only translate text like the metadata around that image so you make the content relevant but you can also swap out the image to show a French version if there's text included in the image. So here I have an asset called summer sale. I'm going to go ahead and edit this. When I edit this you'll notice right now it's set to English. What I want to do in this drop-down menu I want to come over and choose French. Once I select French you'll notice the asset reloads. At this point we have the opportunity to make adjustments to this image. So the first thing that I want to do is replace this image that contains text that's in French instead of English. So down here towards the bottom I'll click the replace button. When you click the replace button you can source the image. I'll select the new image and open it and you'll notice it's updated. Additionally we can come in here and configure the metadata to also represent the language. So to demonstrate that I'll just go ahead and add a description that is in fact in French and when you come over to click Save Asset you'll notice that you get a dialog box asking you to localize the asset which we want to do. So I'll go ahead and click that and you'll notice that the update is complete. Now at this point all you have to do is come over and use this menu to toggle between the English version which will show you the image in English with English metadata. But you can always switch back to the French version by using this menu you'll see the French asset with the French description. Now because the asset ID stays the same across all versions your CMS entries automatically pull the correct localized file. When a creator selects an asset in a French entry, ContentStack intelligently serves the French version of that asset without any extra manual linking.

#### Key takeaways

- Connect **Asset Localization** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Supplement for indexing

### Content summary

Asset Localization. Asset Localization in Contentstack Assets Foundations (contentstack-assets-foundations).

### Retrieval tags

- Asset
- Localization
- contentstack-assets-foundations
- lesson 06
- Asset Localization
- contentstack-assets-foundations lesson

### Indexing notes

Index this lesson as a primary chunk tagged with lesson_id "06" and topics: [Asset, Localization].
Parent course slug: contentstack-assets-foundations. Use asset_references URLs as thumbnail hints in search results when present.
Never surface LMS quiz content or assessment answers from this file.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: Asset Localization | `https://cdn.jwplayer.com/v2/media/Kd6rBYJG/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
