0.0.23 • Published 5 months ago

adonisjs-i18n-router v0.0.23

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

adonisjs-i18n-router

Internationalized routing for AdonisJS apps.

Installation

# npm
npm install astro-i18n && node ace configure adonisjs-i18n-router
# yarn
yarn add astro-i18n && node ace configure adonisjs-i18n-router
# pnpm
pnpm add astro-i18n && node ace configure adonisjs-i18n-router

Configuration

{
	/**
	 * The default locale for the application.
	 */
	defaultLocale: string
	/**
	 * An array of supported locales. Must include the `defaultLocale`.
	 */
	supportedLocales?: string[]
	/**
	 * Determines whether the `defaultLocale` should be prefixed in the URL.
	 * For example, `"/about"` becomes `"/en/about"` when `true` and the `defaultLocale` is `"en"`.
	 */
	isDefaultLocalePrefixed?: boolean
	/**
	 * Enables URL-based locale switching (e.g., `"/es/articulos"` to `"/fr/articles"` by navigating to `"/fr/articulos"`).
	 */
	isUrlLocaleSwitchEnabled?: boolean
	/**
	 * When `isDefaultLocalePrefixed` is `true`, this redirects the root URL (`"/"`) to the detected locale or the default locale as a fallback (e.g., `"/en"`).
	 */
	isRootRedirected?: boolean
	/**
	 * When `isDefaultLocalePrefixed` is `true`, this redirects unprefixed routes (e.g., `"/posts"`) to their prefixed counterparts (e.g., `"/en/posts"`).
	 */
	isUnprefixedRedirected?: boolean
}

API

import router from "@adonisjs/core/services/router"

router.i18n
	/**
	 * Creates a group of routes. A route group can apply transforms to routes in bulk
	 * @returns A modified `RouteGroup` allowing to set prefixes only for specific locales.
	 */
	.group(() => {
		// ...
	})
	/**
	 * Define prefixes for the selected locales.
	 * @param prefix A string pattern for the default locale or an object mapping a locale to its pattern.
	 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same prefixes as the default locale.
	 */
	.prefix(prefix, fillMissingLocales)

/**
 * Returns a brisk route group instance for a given URL pattern
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A modified `RouteGroup` containing all the localized routes with proxy methods allowing you to interact with all the `BriskRoute` at once.
 */
router.i18n.on(pattern, handler, fillMissingLocales)

/**
 * Add route for a given pattern and methods
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param methods The available HTTP methods for this route.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.route(pattern, methods, handler, fillMissingLocales)

/**
 * Define a route that handles all common HTTP methods
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.any(pattern, handler, fillMissingLocales)

/**
 * Define `GET` route
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.get(pattern, handler, fillMissingLocales)

/**
 * Define `POST` route
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.post(pattern, handler, fillMissingLocales)

/**
 * Define `PUT` route
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.put(pattern, handler, fillMissingLocales)

/**
 * Define `PATCH` route
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.patch(pattern, handler, fillMissingLocales)

/**
 * Define `DELETE` route
 * @param pattern A string pattern for the default locale or an object mapping a locale to its pattern.
 * @param handler The handler for this route.
 * @param fillMissingLocales When true the supported locales which were not provided in `pattern` will get the same pattern as the default locale.
 * @returns A `RouteGroup` containing all the localized routes.
 */
router.i18n.delete(pattern, handler, fillMissingLocales)

Contributors

0.0.23

5 months ago

0.0.20

5 months ago

0.0.21

5 months ago

0.0.22

5 months ago

0.0.15

5 months ago

0.0.16

5 months ago

0.0.17

5 months ago

0.0.19

5 months ago

0.0.14

5 months ago

0.0.13

5 months ago

0.0.12

5 months ago

0.0.10

5 months ago

0.0.9

5 months ago

0.0.8

5 months ago

0.0.7

5 months ago

0.0.6

5 months ago

0.0.5

5 months ago

0.0.4

5 months ago

0.0.3

5 months ago