Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/aymericzip/intlayer
- Owner: aymericzip
- License: apache-2.0
- Created: 2024-03-24T20:14:24.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-16T21:09:49.000Z (5 days ago)
- Last Synced: 2025-01-16T21:18:11.664Z (5 days ago)
- Topics: cms, content, content-management-system, i18n, internationalization, javascript, multilingual, nextjs, nodejs, react, translation, typescript, vite, website
- Language: TypeScript
- Homepage: https://intlayer.org
- Size: 42.6 MB
- Stars: 23
- Watchers: 2
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# 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)