Last updated: May 29, 2024

<span aria-hidden="true" id="what-is-content-localization"></span>

# What is content localization?

![Joseph Grabski](/assets/images/teammates/joseph2.png?dpl=dpl_3fBRD5jmFtSDABLXGJJyXU1nVXf8)

**Joseph Grabski**

Content Lead · Rochester, United Kingdom · Show bio

[](https://x.com/joe%5Fgrabski)[](https://github.com/Missing-Tech)

As the world becomes increasingly interconnected, it's more important than ever to be able to communicate effectively across language barriers. In this blog, we explain how our powerful[/text/translate](/docs/robots/text-translate.md) Robot can help your content localization strategy, by creating localized versions of your documents in seconds. We'll also show you how to securely export these files to an S3 bucket for later retrieval. Don't let language differences stand in the way of effective communication, and join us as we delve into the world of translation and localization.

![Several pink speech bubbles saying 'Hello' in different languages, layered over a crumpled paper background.](/_next/static/immutable/media/opengraph-image.0jx_duwzc4f1s.jpg)

<span aria-hidden="true" id="our-assembly-instructions"></span>

## Our Assembly Instructions

Let's get straight to the beating heart of this blog post: our Assembly Instructions – which are simple, yet powerful.

```json
{
  "steps": {
    ":original": {
      "robot": "/upload/handle",
      "result": true
    },
    "de": {
      "use": ":original",
      "robot": "/text/translate",
      "result": true,
      "provider": "aws",
      "target_language": "de"
    },
    "es": {
      "use": ":original",
      "robot": "/text/translate",
      "result": true,
      "provider": "aws",
      "target_language": "es"
    },
    "ja": {
      "use": ":original",
      "robot": "/text/translate",
      "result": true,
      "provider": "aws",
      "target_language": "ja"
    },
    "exported": {
      "use": ["de", "es", "ja"],
      "path": "${previous_step.name}/${file.name}",
      "robot": "/s3/store",
      "credentials": "S3_CREDENTIALS"
    }
  }
}

```

We provide a different language for each of our[/text/translate](/docs/robots/text-translate.md) Steps. For a full list of the available language tags, check out the[AWS Supported Languages page⁠](https://docs.aws.amazon.com/translate/latest/dg/what-is-languages.html)or, if you prefer, the[GCP Supported Languages page⁠](https://cloud.google.com/translate/docs/languages) (note that you need to switch the `provider` to `gcp` to use these options). In our short demo, I decided to translate a text file into German, Spanish, and Japanese.

After translating our file into multiple different languages, we will export all resulting files to an S3 bucket. By specifying the `path` parameter, we can choose where each file goes. Combining this with the `previous_step.name` [Assembly Variable](/docs/topics/assembly-instructions.md#assembly-variables), we can create a folder for each language. We can then use the `file.name` Assembly Variable to preserve the file's original name within each folder. This is just what I chose to do, of course. I encourage you to experiment with different Assembly Variables to see what works best for you!

Here's what our folder structure ends up looking like in S3:

![Our S3 bucket containing multiple folders with the names 'de', 'es' and 'ja'](/_next/static/immutable/media/2023-01-translate-s3-bucket.2u7ak8u7ly68n.png)

<span aria-hidden="true" id="using-the-assembly"></span>

## Using the Assembly

Just for fun, I decided to test our Template with the lyrics to[Pitbull's Mr. Worldwide⁠](https://genius.com/Pitbull-mr-worldwide-intro-lyrics).

Let's see the chorus in German:

```plaintext
[Chor: Pitbull & Vein]
Sie nennen mich Mr. Worldwide
Lass uns ihnen zeigen, warum sie mich Mr. Worldwide nennen
Warum glauben Sie, nennen sie mich Mr. Worldwide?
Lass uns ihnen zeigen, warum sie mich Mr. Worldwide nennen
Warte, denn ich bin weltweit

```

And just like that, our text file was translated perfectly. Now let's see the chorus in Spanish:

```plaintext
[Estribillo: Pitbull & Vein]
Me llaman Mr. Worldwide
Vamos a mostrarles por qué me llaman Mr. Worldwide
¿Por qué crees que me llaman Mr. Worldwide?
Vamos a mostrarles por qué me llaman Mr. Worldwide
Espera, porque estoy en todo el mundo

```

And finally Japanese:

```plaintext
[コーラス：ピットブル＆ヴェイン]
彼らは私をミスター・ワールドワイドと呼んでいます
彼らが私をミスター・ワールドワイドと呼ぶ理由を彼らに見せましょう
なんでミスター・ワールドワイドって呼ばれてると思う？
彼らが私をミスター・ワールドワイドと呼ぶ理由を彼らに見せましょう
ちょっと待って、だって私は世界中にいるから

```

<span aria-hidden="true" id="conclusion"></span>

## Conclusion

As you can see, it's easy to start localizing your files with our[/text/translate](/docs/robots/audio-loop.md) Robot. Hopefully, this post has inspired you to take your next step in connecting the world even further. If you're interested in learning more about the various members of our Robot family, you can check them out[here](/services.md). Finally, if you have any questions, feel free to reach out to us on [Twitter⁠](https://twitter.com/transloadit).

[#text-translate-robot](/blog/tags/text-translate-robot.md)[#assembly](/blog/tags/assembly.md)[#walkthrough](/blog/tags/walkthrough.md)[#s3-store-robot](/blog/tags/s3-store-robot.md)

### 👩‍💻 Join 20k+ developers

Sign up for our [monthly newsletter](/newsletters.md) to receive direct links to 3 exclusive tech — and 2 product updates. No less, no more.

Your email:

Get access

## File uploading and encoding. Made simple.

Transloadit streamlines file handling for developers, trusted by brands like Coursera and The New York Times. We’re known for a reliable API, top-notch support, and a strong commitment to open source, with projects like [Uppy⁠](https://uppy.io) and [Tus⁠](https://tus.io) setting standards in file processing.

[Sign up](/c/)[Book a Demo](https://survey.typeform.com/to/kRg47Xi5)

No credit card needed · 5 GB included in the free plan

Cancel anytime
