127 lines
4.3 KiB
Plaintext
127 lines
4.3 KiB
Plaintext
import * as I18nInternals from '../i18n/index.js';
|
|
export { normalizeTheLocale, toCodes, toPaths } from '../i18n/index.js';
|
|
export type GetLocaleOptions = I18nInternals.GetLocaleOptions;
|
|
/**
|
|
* @param locale A locale
|
|
* @param path An optional path to add after the `locale`.
|
|
* @param options Customise the generated path
|
|
*
|
|
* Returns a _relative_ path with passed locale.
|
|
*
|
|
* ## Errors
|
|
*
|
|
* Throws an error if the locale doesn't exist in the list of locales defined in the configuration.
|
|
*
|
|
* ## Examples
|
|
*
|
|
* ```js
|
|
* import { getRelativeLocaleUrl } from "astro:i18n";
|
|
* getRelativeLocaleUrl("es"); // /es
|
|
* getRelativeLocaleUrl("es", "getting-started"); // /es/getting-started
|
|
* getRelativeLocaleUrl("es_US", "getting-started", { prependWith: "blog" }); // /blog/es-us/getting-started
|
|
* getRelativeLocaleUrl("es_US", "getting-started", { prependWith: "blog", normalizeLocale: false }); // /blog/es_US/getting-started
|
|
* ```
|
|
*/
|
|
export declare const getRelativeLocaleUrl: (locale: string, path?: string, options?: GetLocaleOptions) => string;
|
|
/**
|
|
*
|
|
* @param locale A locale
|
|
* @param path An optional path to add after the `locale`.
|
|
* @param options Customise the generated path
|
|
*
|
|
* Returns an absolute path with the passed locale. The behaviour is subject to change based on `site` configuration.
|
|
* If _not_ provided, the function will return a _relative_ URL.
|
|
*
|
|
* ## Errors
|
|
*
|
|
* Throws an error if the locale doesn't exist in the list of locales defined in the configuration.
|
|
*
|
|
* ## Examples
|
|
*
|
|
* If `site` is `https://example.com`:
|
|
*
|
|
* ```js
|
|
* import { getAbsoluteLocaleUrl } from "astro:i18n";
|
|
* getAbsoluteLocaleUrl("es"); // https://example.com/es
|
|
* getAbsoluteLocaleUrl("es", "getting-started"); // https://example.com/es/getting-started
|
|
* getAbsoluteLocaleUrl("es_US", "getting-started", { prependWith: "blog" }); // https://example.com/blog/es-us/getting-started
|
|
* getAbsoluteLocaleUrl("es_US", "getting-started", { prependWith: "blog", normalizeLocale: false }); // https://example.com/blog/es_US/getting-started
|
|
* ```
|
|
*/
|
|
export declare const getAbsoluteLocaleUrl: (locale: string, path?: string, options?: GetLocaleOptions) => string;
|
|
/**
|
|
* @param path An optional path to add after the `locale`.
|
|
* @param options Customise the generated path
|
|
*
|
|
* Works like `getRelativeLocaleUrl` but it emits the relative URLs for ALL locales:
|
|
*/
|
|
export declare const getRelativeLocaleUrlList: (path?: string, options?: GetLocaleOptions) => string[];
|
|
/**
|
|
* @param path An optional path to add after the `locale`.
|
|
* @param options Customise the generated path
|
|
*
|
|
* Works like `getAbsoluteLocaleUrl` but it emits the absolute URLs for ALL locales:
|
|
*/
|
|
export declare const getAbsoluteLocaleUrlList: (path?: string, options?: GetLocaleOptions) => string[];
|
|
/**
|
|
* A function that return the `path` associated to a locale (defined as code). It's particularly useful in case you decide
|
|
* to use locales that are broken down in paths and codes.
|
|
*
|
|
* @param locale The code of the locale
|
|
* @returns The path associated to the locale
|
|
*
|
|
* ## Example
|
|
*
|
|
* ```js
|
|
* // astro.config.mjs
|
|
*
|
|
* export default defineConfig({
|
|
* i18n: {
|
|
* locales: [
|
|
* { codes: ["it", "it-VT"], path: "italiano" },
|
|
* "es"
|
|
* ]
|
|
* }
|
|
* })
|
|
* ```
|
|
*
|
|
* ```js
|
|
* import { getPathByLocale } from "astro:i18n";
|
|
* getPathByLocale("it"); // returns "italiano"
|
|
* getPathByLocale("it-VT"); // returns "italiano"
|
|
* getPathByLocale("es"); // returns "es"
|
|
* ```
|
|
*/
|
|
export declare const getPathByLocale: (locale: string) => string;
|
|
/**
|
|
* A function that returns the preferred locale given a certain path. This is particularly useful if you configure a locale using
|
|
* `path` and `codes`. When you define multiple `code`, this function will return the first code of the array.
|
|
*
|
|
* Astro will treat the first code as the one that the user prefers.
|
|
*
|
|
* @param path The path that maps to a locale
|
|
* @returns The path associated to the locale
|
|
*
|
|
* ## Example
|
|
*
|
|
* ```js
|
|
* // astro.config.mjs
|
|
*
|
|
* export default defineConfig({
|
|
* i18n: {
|
|
* locales: [
|
|
* { codes: ["it-VT", "it"], path: "italiano" },
|
|
* "es"
|
|
* ]
|
|
* }
|
|
* })
|
|
* ```
|
|
*
|
|
* ```js
|
|
* import { getLocaleByPath } from "astro:i18n";
|
|
* getLocaleByPath("italiano"); // returns "it-VT" because that's the first code configured
|
|
* getLocaleByPath("es"); // returns "es"
|
|
* ```
|
|
*/
|
|
export declare const getLocaleByPath: (path: string) => string;
|