Interface languages

Interface translations and the languages option are available since Rigel 1.1.0. Follow Getting started to install or upgrade.

Rigel’s interface can use the languages below. This changes editor controls and built-in messages, not your website’s content or HTML language.

Choose languages for your site

Set languages inside the existing rigel() call in astro.config.mjs. Preserve your schema, collections and other options:

import { defineConfig } from "astro/config";
import { rigel } from "@rigel-cms/rigel";

export default defineConfig({
  integrations: [
    rigel({ languages: ["es"] }),
  ],
});

This includes English and Spanish. It does not also include French: an explicit list replaces the default list of additional languages. English is always included and remains the initial language and fallback.

Configuration Languages included
rigel() English and French
rigel({ languages: ["es"] }) English and Spanish
rigel({ languages: ["fr", "de"] }) English, French and German
rigel({ languages: [] }) English only

Repeated codes are deduplicated. Restart the development server after changing configuration, and rebuild the site before deploying the new selection.

Supported languages

Code Language Selector label
en English English
fr French Français
es Spanish Español
ru Russian Русский
zh Simplified Chinese 中文(简体)
ja Japanese 日本語
it Italian Italiano
de German Deutsch
nl Dutch Nederlands

Use these exact base codes in configuration. Regional codes such as es-ES or zh-CN, unsupported codes and non-array values are configuration errors. zh provides Simplified Chinese, not a separate Traditional Chinese translation.

The starter explicitly enables all nine languages:

rigel({
  languages: ["en", "fr", "es", "ru", "zh", "ja", "it", "de", "nl"],
});

Remove languages your editors do not need. The integration defaults and the starter’s explicit example are different: omitting languages includes English and French, not all nine.

Switch the editor interface

Open Settings and choose Language. The selector lists only the languages included in that site’s build. Rigel remembers the selection in that browser. If a later build excludes the saved language, the editor returns to English.

Missing translated messages also fall back to English. Counted built-in messages use the selected language’s plural rules.

Keep the browser bundle small

Rigel’s package contains all translation catalogs, but the integration imports only the selected catalogs into the generated browser and server bundles. Removing a language from configuration excludes that catalog from those bundles; it does not remove files from the installed npm package.

The exact size difference depends on the selected languages and the build. Language selection does not remove the editor’s other features.

What stays unchanged

Interface translations do not translate page copy, article bodies, schema labels supplied by your project, custom extension labels or content. JSON keys, document identifiers, URLs and Git branch names stay unchanged too.

To publish a multilingual website, model and render that content in your Astro project. The languages option controls the CMS interface only. For custom controls and widgets, see Svelte extensions.

Documentation

On this page