HomeSandboxShowcaseAppDocBlog
    • EnglishEnglish
      EN
    • русскийRussian
      RU
    • 日本語Japanese
      JA
    • françaisFrench
      FR
    • 한국어Korean
      KO
    • 中文Chinese
      ZH
    • españolSpanish
      ES
    • DeutschGerman
      DE
    • العربيةArabic
      AR
    • italianoItalian
      IT
    • British EnglishBritish English
      EN-GB
    • portuguêsPortuguese
      PT
    • हिन्दीHindi
      HI
    • TürkçeTurkish
      TR
    • polskiPolish
      PL
    • IndonesiaIndonesian
      ID
    • Tiếng ViệtVietnamese
      VI
    • українськаUkrainian
      UK
    /
    Filter docs by framework
    Alt+←
    Why Intlayer ?
    Get Started
    Concept
    • How Intlayer Works
    • Configuration
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Visual Editor
    • CMS
    • CI/CD Integration
    • TranslationPluralEnumerationConditionGenderInsertionFileNestingMarkdownHTMLFunction Fetching
    • Per Locale File
    • Compiler
    • Auto Fill
    • Testing
    • Bundle Optimization
    Environment
    • Next.js 14 and App Router
      Next.js 15
      Next.js no locale path
      Next.js and Page Router
      Compiler
    • Tanstack Start Solid
    • Astro and React
      Astro and Svelte
      Astro and Vue
      Astro and Solid
      Astro and Preact
      Astro and Lit
      Astro and Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt and Vue
    • Vite and Solid
    • SvelteKit
    • Vite and Preact
    • Vite and Vanilla JS
    • Vite and Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native and Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx and React
    Plugins
    • JSON
    • gettext (.po)
    VS Code Extension
    Agent
    • MCP Server
    • Agent skills
    Releases
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Ask a question
    1. Documentation
    2. Get Started
    Creation:2025-08-23Last update:2025-08-23
    Reference this doc to your favorite AI assistant
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Ask your question and get a summary of the document by referencing this page and the AI provider of your choice

    Version History

    1. "Init history"
      v5.5.106/29/2025
    Edit this doc

    If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.

    GitHub link to the documentation
    Copy

    Copy doc Markdown to clipboard

    Intlayer Documentation

    Welcome to the official Intlayer documentation! Here, you'll find everything you need to integrate, configure, and master Intlayer for all your internationalization (i18n) needs, whether you’re working with Next.js, React, Vite, Express, or another JavaScript environment.

    Introduction

    What is Intlayer?

    Intlayer is an internationalization library designed specifically for JavaScript developers. It allow the declaration of your content everywhere in your code. It converts declaration of multilingual content into structured dictionaries to integrate easily in your code. Using TypeScript, Intlayer make your development stronger and more efficient.

    Intlayer also provides an optional visual editor that allows you to easily edit and manage your content. This editor is particularly useful for developers who prefer a visual interface for content management, or for teams generating content without having to worry about code.

    Example of usage

    bash
    Copy code

    Copy the code to the clipboard

    .└── Components    └── MyComponent        ├── index.content.ts        └── index.tsx
    src/components/MyComponent/index.content.ts
    Copy code

    Copy the code to the clipboard

    import { t, type Dictionary } from "intlayer";
    
    const componentContent = {
      key: "component-key",
      content: {
        myTranslatedContent: t({
          en: "Hello World",
          es: "Hola Mundo",
          fr: "Bonjour le monde",
        }),
      },
    } satisfies Dictionary;
    
    export default componentContent;
    src/components/MyComponent/index.tsx
    Copy code

    Copy the code to the clipboard

    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    export const MyComponent: FC = () => {
      const { myTranslatedContent } = useIntlayer("component-key");
    
      return <span>{myTranslatedContent}</span>;
    };

    Main Features

    Intlayer offers a variety of features tailored to meet the needs of modern web development. Below are the key features, with links to detailed documentation for each:

    • Internationalization Support: Enhance your application's global reach with built-in support for internationalization.
    • Visual Editor: Improve your development workflow with editor plugins designed for Intlayer. Check out the Visual Editor Guide.
    • Configuration Flexibility: Customize your setup with extensive configuration options detailed in the Configuration Guide.
    • Advanced CLI Tools: Manage your projects efficiently using Intlayer's command line interface. Explore the capabilities in the CLI Tools Documentation.

    Core Concepts

    Dictionary

    Organize your multilingual content close to your code to keep everything consistent and maintainable.

    • Get Started
      Learn the basics of declaring your content in Intlayer.

    • Translation
      Understand how translations are generated, stored, and utilized in your application.

    • Enumeration
      Easily manage repeated or fixed sets of data across various languages.

    • Condition
      Learn how to use conditional logic in Intlayer to create dynamic content.

    • Insertion Discover how to insert values in a string using insertion placeholders.

    • Function Fetching
      See how to dynamically fetch content with custom logic to match your project’s workflow.

    • Markdown
      Learn how to use Markdown in Intlayer to create rich content.

    • File embeddings
      Discover how to embed externals files in Intlayer to use them in the content editor.

    • Nesting
      Understand how to nest content in Intlayer to create complex structures.

    Environments & Integrations

    We’ve built Intlayer with flexibility in mind, offering seamless integration across popular frameworks and build tools:

    • Intlayer with Next.js 16
    • Intlayer with Next.js 15
    • Intlayer with Next.js 14 (App Router)
    • Intlayer with Next.js Page Router
    • Intlayer with React CRA
    • Intlayer with Vite + React
    • Intlayer with React Router v7
    • Intlayer with Tanstack Start
    • Intlayer with React Native and Expo
    • Intlayer with Lynx and React
    • Intlayer with Vite + Preact
    • Intlayer with Vite + Vue
    • Intlayer with Nuxt
    • Intlayer with Vite + Svelte
    • Intlayer with SvelteKit
    • Intlayer with Express
    • Intlayer with NestJS
    • Intlayer with Hono
    • Intlayer with Angular

    Each integration guide includes best practices for using Intlayer’s features, like server-side rendering, dynamic routing, or client-side rendering, so you can maintain a fast, SEO-friendly, and highly scalable application.

    Contributing & Feedback

    We value the power of open-source and community-driven development. If you’d like to propose improvements, add a new guide, or correct any issues in our docs, feel free to submit a Pull Request or open an issue on our GitHub repository.

    Ready to translate your application faster and more efficiently? Dive into our docs to start using Intlayer today. Experience a robust, streamlined approach to internationalization that keeps your content organized and your team more productive.


    Why Intlayer ?
    How Intlayer Works
    Alt+→

    In this page

      Discussions are anonymous and regularly reviewed to address common issues. Feel free to share feature ideas, feedback on the documentation, or anything related to Intlayer, we use this input to shape our roadmap and improve the product.

      .└── Components    └── MyComponent        ├── index.content.ts        └── index.tsx