An open API service indexing awesome lists of open source software.

https://github.com/aymericzip/intlayer

Internationalisation solution for JS application. Make your JavaScript application multilingue.
https://github.com/aymericzip/intlayer

cms content content-management-system i18n internationalization javascript multilingual nextjs nodejs react translation typescript vite website

Last synced: 3 months ago
JSON representation

Internationalisation solution for JS application. Make your JavaScript application multilingue.

Awesome Lists containing this project

README

        



intlayer



npm


downloads


types included

# Intlayer: A closer way to translate your application

Intlayer offers a more flexible and modern approach to **internationalization** (i18n). Its seamless integration with **Next.js**, **React**, **Vite** and **Express**, customizable configuration, and support for various content declaration formats, such as **TypeScript** make it a powerful choice for internationalization.

![Watch the video](https://github.com/aymericzip/intlayer/blob/main/docs/assets/demo_video.gif)

### Key Benefits of Intlayer:

- **Effortless Dictionary**
Organize and maintain your multilingual content efficiently by declaring content dictionaries directly alongside your components. This not only reduces complexity but also improves maintainability.
[Learn more about content declaration](https://intlayer.org/doc/concept/content)

- **Seamless Integration with Next.js, React, and Express**
Intlayer is designed to work flawlessly with Next.js and React, supporting features like server-side rendering, dynamic routing, and client-side rendering. This makes it the perfect choice for developers building modern web applications.
[Explore Next.js integration](https://intlayer.org/doc/environment/nextjs)
[Explore React integration](https://intlayer.org/doc/environment/create-react-app)
[Explore Express integration](https://intlayer.org/doc/environment/express)

- **Simplified Content Management for Non-Developers**
With the command `npm intlayer push`, you can externalize content management, making it accessible to non-developer teams. Intlayer includes a free Content Management System (CMS), enabling your team to manage translations effortlessly.
[Learn about Intlayer CLI](https://intlayer.org/doc/concept/cli)

- **AI-Powered Translation**
Transform your website into 231 languages with just one click using Intlayer's advanced AI-powered translation tools. This feature simplifies the translation process and ensures global reach.
[Learn about Intlayer CLI](https://intlayer.org/doc/concept/cli)
[Learn about Intlayer Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_visual_editor.md)

- **Optimized for Server Components**
Intlayer seamlessly supports React Server Components, enabling efficient internationalization in modern server-rendered applications. This ensures faster load times and improved SEO performance while maintaining a consistent multilingual experience across your app.
[Learn more about Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)

- **Enhanced Developer Experience with TypeScript**
With full TypeScript support, Intlayer enables type-safe content definitions, improving code quality and boosting developer productivity.

- **Powerful Customization Options**
Tailor Intlayer to meet your project’s unique needs. Adjust settings for internationalization, middleware, and content handling with ease.
[Discover how to configure Intlayer](https://intlayer.org/doc/concept/configuration)

Start your journey with Intlayer today and experience a smoother, more powerful approach to internationalization.
[Get Started with Intlayer](https://intlayer.org/doc/concept/content)

---

## Table of Contents

Explore our comprehensive documentation to get started with Intlayer and learn how to integrate it into your projects.

### Get Started

- [Introduction](https://intlayer.org/doc)

### Concept

- [How Intlayer Works](https://intlayer.org/doc/concept/how-works-intlayer)
- [Configuration](https://intlayer.org/doc/concept/configuration)
- [Interest of Intlayer](https://intlayer.org/doc/concept/interest)
- [Intlayer CLI](https://intlayer.org/doc/concept/cli)
- [Intlayer Editor](https://intlayer.org/doc/concept/editor)
- [Intlayer CMS](https://intlayer.org/doc/concept/cms)
- [Dictionary](https://intlayer.org/doc/concept/content)
- [Translation](https://intlayer.org/doc/concept/content/translation)
- [Enumeration](https://intlayer.org/doc/concept/content/enumeration)
- [Condition](https://intlayer.org/doc/concept/content/condition)
- [Nesting](https://intlayer.org/doc/concept/content/nesting)
- [Markdown](https://intlayer.org/doc/concept/content/markdown)
- [Function Fetching](https://intlayer.org/doc/concept/content/function-fetching)
- [Insertion](https://intlayer.org/doc/concept/content/insertion)
- [File](https://intlayer.org/doc/concept/content/file)

### Environment

- [Intlayer with Next.js 15](https://intlayer.org/doc/environment/nextjs)
- [Intlayer with Next.js 14 (App Router)](https://intlayer.org/doc/environment/nextjs/14)
- [Intlayer with Next.js Page Router](https://intlayer.org/doc/environment/nextjs/next-with-Page-Router)
- [Intlayer with React CRA](https://intlayer.org/doc/environment/create-react-app)
- [Intlayer with Vite and React](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_vite+react.md)
- [Intlayer with React Native](https://intlayer.org/fr/doc/environment/react-native-and-expo)
- [Intlayer with Lynx and React](https://intlayer.org/fr/doc/environment/lynx-and-react)
- [Intlayer with Express](https://intlayer.org/doc/environment/express)

### Packages

#### intlayer

- [Package](https://intlayer.org/doc/packages/intlayer)
- [getConfiguration](https://intlayer.org/doc/packages/intlayer/getConfiguration)
- [getHTMLTextDir](https://intlayer.org/doc/packages/intlayer/getHTMLTextDir)
- [getLocaleLang](https://intlayer.org/doc/packages/intlayer/getLocaleLang)
- [getLocaleName](https://intlayer.org/doc/packages/intlayer/getLocaleName)
- [getLocalizedUrl](https://intlayer.org/doc/packages/intlayer/getLocalizedUrl)
- [getMultilingualUrls](https://intlayer.org/doc/packages/intlayer/getMultilingualUrls)
- [getPathWithoutLocale](https://intlayer.org/doc/packages/intlayer/getPathWithoutLocale)
- [getTranslation](https://intlayer.org/doc/packages/intlayer/getTranslation)
- [getEnumeration](https://intlayer.org/doc/packages/intlayer/getEnumeration)

#### express-intlayer

- [Package](https://intlayer.org/doc/packages/express-intlayer)
- [t](https://intlayer.org/doc/packages/express-intlayer/t)

#### react-intlayer

- [Package](https://intlayer.org/doc/packages/react-intlayer)
- [t](https://intlayer.org/doc/packages/react-intlayer/t)
- [useIntlayer](https://intlayer.org/doc/packages/react-intlayer/useIntlayer)
- [useDictionary](https://intlayer.org/doc/packages/react-intlayer/useDictionary)
- [useLocale](https://intlayer.org/doc/packages/react-intlayer/useLocale)

#### next-intlayer

- [Package](https://intlayer.org/doc/packages/next-intlayer)
- [t](https://intlayer.org/doc/packages/next-intlayer/t)
- [useIntlayer](https://intlayer.org/doc/packages/next-intlayer/useIntlayer)
- [useDictionary](https://intlayer.org/doc/packages/next-intlayer/useDictionary)
- [useLocale](https://intlayer.org/doc/packages/next-intlayer/useLocale)

#### vite-intlayer

- [Package](https://intlayer.org/doc/packages/vite-intlayer)

#### lynx-intlayer

- [Package](https://intlayer.org/doc/packages/lynx-intlayer)

#### react-native-intlayer

- [Package](https://intlayer.org/doc/packages/react-native-intlayer)

#### react-scripts-intlayer

- [Package](https://intlayer.org/doc/packages/react-scripts-intlayer)

### Blog

- [What is i18n](https://github.com/aymericzip/intlayer/blob/main/blog/en/what_is_internationalization.md)
- [i18n and SEO](https://intlayer.org//blog/SEO-and-i18n)
- [Intlayer and i18next](https://intlayer.org//blog/intlayer-with-next-i18next)
- [Intlayer and react-intl](https://intlayer.org//blog/intlayer-with-react-i18next)
- [Intlayer and next-intl](https://intlayer.org//blog/intlayer-with-next-intl)
- [Intlayer and react-intl](https://intlayer.org//blog/intlayer-with-react-intl)

---

## Live tutorial on YouTube

[![How to Internationalize your application using Intlayer](https://i.ytimg.com/vi/W2G7KxuSD4c/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDtyJ4uYotEjl12nZ_gZKZ_kjEgOQ)](https://youtu.be/W2G7KxuSD4c?si=GyU_KpVhr61razRw)