Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/aymericzip/intlayer

Internationalisation solution for JS application. Make your Vite, React, Next or Express 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: about 8 hours ago
JSON representation

Internationalisation solution for JS application. Make your Vite, React, Next or Express 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 Content Declaration**
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://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration_declaration/get_started.md)

- **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://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_15.md)
[Explore React integration](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_create_react_app.md)
[Explore Express integration](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_express.md)

- **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://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_cli.md)

- **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://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_cli.md)
[Learn about Intlayer Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_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://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_15.md#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://github.com/aymericzip/intlayer/blob/main/docs/en/configuration.md)

Start your journey with Intlayer today and experience a smoother, more powerful approach to internationalization.
[Get Started with Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration_declaration/get_started.md)

---

## 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://github.com/aymericzip/intlayer/blob/main/docs/en/introduction.md)

### Concept

- [How Intlayer Works](https://github.com/aymericzip/intlayer/blob/main/docs/en/how_works_intlayer.md)
- [Configuration](https://github.com/aymericzip/intlayer/blob/main/docs/en/configuration.md)
- [Interest of Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/en/interest_of_intlayer.md)
- [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_cli.md)
- [Intlayer Editor](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_editor.md)
- **Content Declaration**
- [Declare Your Content](https://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration/get_started.md)
- [Translation](https://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration/translation.md)
- [Enumeration](https://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration/enumeration.md)
- [Function Fetching](https://github.com/aymericzip/intlayer/blob/main/docs/en/content_declaration/function_fetching.md)

### Environment

- [Intlayer with Next.js 15](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_15.md)
- [Intlayer with Next.js 14 (App Router)](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_14.md)
- [Intlayer with Next.js Page Router](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_nextjs_page_router.md)
- [Intlayer with React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_create_react_app.md)
- [Intlayer with Vite and React](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_vite+react.md)
- [Intlayer with Express](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_express.md)

### Packages

#### intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/index.md)
- [getConfiguration](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getConfiguration.md)
- [getHTMLTextDir](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getHTMLTextDir.md)
- [getLocaleLang](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleLang.md)
- [getLocaleName](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocaleName.md)
- [getLocalizedUrl](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getLocalizedUrl.md)
- [getMultilingualUrls](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getMultilingualUrls.md)
- [getPathWithoutLocale](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getPathWithoutLocale.md)
- [getTranslationContent](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getTranslationContent.md)
- [getEnumerationContent](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/intlayer/getEnumerationContent.md)

#### express-intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/express-intlayer/index.md)
- [t](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/express-intlayer/t.md)

#### react-intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/index.md)
- [t](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/t.md)
- [useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useIntlayer.md)
- [useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useDictionary.md)
- [useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-intlayer/useLocale.md)

#### next-intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/next-intlayer/index.md)
- [t](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/next-intlayer/t.md)
- [useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/next-intlayer/useIntlayer.md)
- [useDictionary](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/next-intlayer/useDictionary.md)
- [useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/next-intlayer/useLocale.md)

#### vite-intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/vite-intlayer/index.md)

#### react-scripts-intlayer

- [Package](https://github.com/aymericzip/intlayer/blob/main/docs/en/packages/react-scripts-intlayer/index.md)

### Blog

- [Intlayer and i18next](https://github.com/aymericzip/intlayer/blob/main/docs/en/intlayer_with_i18next.md)

---

## 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)