Package Exports
- adonisjs-i18n-router
- adonisjs-i18n-router/i18n_router_provider
Readme
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 prefixed default locale (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 = {
/**
* 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.
*/
route: (
pattern:
| string
| {
[locale: string]: string
},
methods: string[],
handler:
| string
| RouteFn
| [any, GetControllerHandlers<Constructor<any>>?],
fillMissingLocales?: boolean,
) => RouteGroup
/**
* 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.
*/
any: I18nRouterMethodRoute
/**
* 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.
*/
get: I18nRouterMethodRoute
/**
* 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.
*/
post: I18nRouterMethodRoute
/**
* 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.
*/
put: I18nRouterMethodRoute
/**
* 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.
*/
patch: I18nRouterMethodRoute
/**
* 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.
*/
delete: I18nRouterMethodRoute
/**
* 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.
*/
on: (
pattern:
| string
| {
[locale: string]: string
},
fillMissingLocales?: boolean,
) => BriskRouteRouteGroup
/**
* 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: (callback: () => void) => Omit<RouteGroup, "prefix"> & {
/**
* 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:
| string
| {
[locale: string]: string
},
fillMissingLocales?: boolean,
) => unknown
}
}
Contributors
![]() |