Guide
Development
RTL

Right-to-Left (RTL) Support Documentation

Overview

Right-to-Left (RTL) support is crucial for applications that are localized for languages that are written from right to left, such as Arabic. By implementing RTL support, you ensure that your application's layout and text direction are correctly aligned to accommodate users who speak RTL languages.

Implementation

To add RTL support to your Next.js admin template, follow these steps:

  1. Update i18n-config.ts: Open the i18n-config.ts file located in the root directory of your project. This file contains configuration settings for internationalization (i18n), including language dictionaries and locale definitions.

  2. Add RTL Locale: Include a locale entry for the RTL language in the locales array. Ensure that the code corresponds to the RTL language code (e.g., "ar" for Arabic), and provide the appropriate dictionary for that language.

    export const i18n = {
      defaultLocale: "en",
      locales: [
        {
          code: "en",
          name: "English",
          dictionary: en,
        },
        {
          code: "es",
          name: "Español",
          dictionary: es,
        },
        {
          code: "ar",
          name: "العربية",
          dictionary: ar, // Arabic dictionary
        },
      ],
      fullNames: {
        en: "English",
        es: "Español",
        ar: "العربية",
      },
    } as const;
  3. Update Text Direction: Ensure that the direction property in the theme settings is set to "rtl" for RTL languages. This will change the text direction of the application to right-to-left.

    const themeSettings = {
      appSettings: {
        // Other settings...
        direction: "rtl", // Set text direction to RTL for Arabic language
      },
    };

Testing

After implementing RTL support, thoroughly test your application to ensure that:

  • Text and UI elements are correctly aligned from right to left.
  • Navigation menus, buttons, and other interactive elements function as expected in RTL mode.
  • Any custom components or layouts maintain proper alignment and readability in RTL languages.

Conclusion

By implementing RTL support in your Next.js admin template, you enhance the accessibility and usability of your application for users who speak RTL languages such as Arabic. This ensures a seamless user experience and demonstrates your commitment to inclusivity and internationalization.

For more information on RTL support and best practices, refer to the documentation provided by Next.js and internationalization standards for RTL languages.