Translate your App's Notification content to different languages using i18n.
Tags: javascript, programming, opensource, notification
Published: 2024-02-21 09:20:16

The beauty of the world lies in its diversity. Culture, languages, and generally our way of life differ across several regions, communities, countries, and continents.

Over a decade ago, Andreessen boldly stated that software is eating the world. Indeed, software has transformed the world and is currently integrated into virtually every activity we undertake!

**Start Local, Grow Global**
----------------------------

The advantage of building an app or a software business is that you can start from anywhere and grow to have users in many cities worldwide. However, global growth comes with challenges, a significant part of which includes catering to different languages.

Your website, mobile or web app, or software must allow users to experience it in their local languages, from English to Arabic, Hebrew to German, Mandarin to Yoruba. We can go on and on and on!

The solution to this challenge is **Internationalization**, commonly known as **i18n** (where "i" stands for "international" and "18" represents the 18 letters between the "i" and the "n" in "internationalization").

Why Internationalization?
-------------------------

Internationalization is simply the process of building software to allow easy adaptation to different languages, cultures, and regions without requiring significant changes to the underlying codebase. Adding new languages should be seamless without complications.

Communicating with your software users in their native language or a language they understand yields the following benefits:

- **Opens up new markets** - Users from different parts of the world can use your software if it adapts to their language and gives them easy access to other people like them.
- **Personalizes User Experience** - Users feel more comfortable interacting with people and software in their first and local language. The better users can incorporate your product into their daily lives, the better their overall experience and usage.
- **Enhances Engagement:** More users want to use and interact with your people if they discover that there’s no language barrier. Tiktok, Instagram, and Facebook are prevalent examples.
- **Revenue Increase:** The more customers across the globe can use and pay for your product, the more revenue your business can generate.

Challenges of Internationalization
----------------------------------

Internationalization &amp; localization is not a walk in the park. It involves careful planning, set up, and efficient tools to ensure your software is ready for a global audience.

- **Time &amp; Resources** - Without mincing words, it can take many engineering hours and resources to build a reliable &amp; working internationalization solution into your app. Airbnb has a [blog post](https://medium.com/airbnb-engineering/building-airbnbs-internationalization-platform-45cf0104b63c) about it &amp; [library](https://airbnb.io/polyglot.js/) they developed internally. Consider this as part of your expenses when planning to penetrate new markets swiftly.
- **Technical Challenges:** Formatting numbers, dates, currencies, and Unicode characters involves nuances and common pitfalls for different languages and locales. This requires extensive testing, especially without a reliable, battle-tested solution.

One approach to addressing these challenges is using existing libraries or reliable end-to-end solutions. These solutions need to inspire confidence due to their proven effectiveness and should require minimal time for integration.

Translate your App's Notification content with Novu
---------------------------------------------------

Novu goes above and beyond to remove the headaches associated with internationalization in your app's notifications. With Novu, you can automate and manage the translation of your app's notification content via the [dashboard](https://web.novu.co/translations?utm_campaign=blog-i18n-prosper) with minimal code.

<figure class="wp-block-image size-large">![](https://github.com/novuhq/docs/assets/2946769/123f4d04-591d-481d-921d-e979dc28d8da)</figure>There are four pillars for translation &amp; internationalization management in Novu:

- **Translation Groups:** Manage translations for multiple languages in different groups (which denote shared business significance). For instance, a marketing group for marketing-related campaigns.
- **Translation Files:** These are JSON files containing the content of your messages in a specific language. For example, the marketing translation group might have two target languages, English and German, then your translation JSON files might look like this:

**English** **(en.json)**

```javascript
{
  "welcome_message": "Welcome to our Marketing Campaign!",
  "learn_more": "Learn More",
  "special_offer": "Special Offer",
  "contact_us": "Contact Us"
}
```

```javascript
{
  "welcome_message": "Willkommen bei unserer Marketingkampagne!",
  "learn_more": "Mehr erfahren",
  "special_offer": "Sonderangebot",
  "contact_us": "Kontaktieren Sie uns"
}
```
**German** **(de.json)**

- **Localized Message Content**- To localize your message content, you need to use the translation variables in the editor. We provide a **i18n** helper to use the translation variables in the workflow channel editor.
    
    

<figure class="wp-block-image size-large">![](https://github.com/novuhq/docs/assets/2946769/45e9f448-d47a-46b5-8319-e6959653c34b)</figure>

- **Subscribers locale**- This specifies which language the message should be delivered in to the recipient. When the locale is not specified it will fallback to the default locale set for the organization. The locale format includes ISO language plus the region, for example **`de_DE`** language German and region Germany.
    
    

Looking to use a tested and trusted internationalization solution for your app’s notifications? Use Novu today. Check out the [full documentation for translation management](https://docs.novu.co/content-creation-design/translations#translations?utm_campaign=blog-i18n-prosper)!