@inlang/paraglide-next
TypeScript icon, indicating that this package has built-in type declarations

0.4.4 • Public • Published

Inlang-ecosystem compatibility badge

Getting Started

Get started instantly with the Paraglide-Next CLI.

npx @inlang/paraglide-next init
npm install

The CLI will ask you which languages you want to support. This can be changed later.

It will:

  • Create an Inlang Project
  • Create translation files for each of your languages
  • Add necessary Provider Components and files
  • Update your next.config.js file to use the Paraglide-Next Plugin.
  • Offer to automatically migrate to the Localized navigation APIs if you're using the App Router (recommended)

You can now start your development server and visit /de, /ar, or whatever languages you've set up.

Creating and Using Messages

Your messages live in messages/{languageTag}.json files. You can add messages in these files as key-value pairs of the message ID and the translations.

Use curly braces to add parameters.

// messages/en.json
{
	// The $schema key is automatically ignored
	"$schema": "https://inlang.com/schema/inlang-message-format",

	"hello_world": "Hello World!",
	"greetings": "Greetings {name}."
}

Learn more about the format in the Inlang Message Format Documentation.

## Using Messages in Code

Use messages by importing them from @/paraglide/messages.js. By convention, we do a wildcard import as m.

import * as m from "@/paraglide/messages.js"

export function Home() {
	return (
		<>
			<h1>{m.homepage_title()}</h1>
			<p>{m.homepage_subtitle({ some: "param" })}</p>
		</>
	)
}

Only messages used in client components are sent to the client. Messages in Server Components don't impact bundle size.

Using the Language in Code

You can get the current language by calling the languageTag() function.

import { languageTag } from "@/paraglide/runtime"

export function Home() {
	return <h1>{languageTag()}</h1>
}

This is scoped to the current request, it's safe to use in server-components.

Examples

You can find example projects in our GitHub repository, or try them on StackBlitz:

People Love It

/@inlang/paraglide-next/

    Package Sidebar

    Install

    npm i @inlang/paraglide-next

    Weekly Downloads

    902

    Version

    0.4.4

    License

    none

    Unpacked Size

    3.41 MB

    Total Files

    396

    Last publish

    Collaborators

    • inlangbot
    • samuelstroschein