useInternationalization
Category:
Context & Language
Composable for internationalization management.
Types
ts
export function useInternationalization(
pathResolver?: (path: string) => string,
): UseInternationalizationReturn
ts
export type UseInternationalizationReturn = {
/**
* StorefrontUrl is needed to specify language of emails
*
* @returns {string} storefront URL
*/
getStorefrontUrl(): string;
/**
* Get available languages from backend
*
* @returns {Promise<operations['readLanguages post /language']['body']>} list of languages
*/
getAvailableLanguages(): Promise<
operations["readLanguages post /language"]["response"]
>;
/**
* Change current language
*
* @param {string} languageId
* @returns {Promise<Schemas['ContextTokenResponse']>} context object
*/
changeLanguage(
languageId: string,
): Promise<operations["updateContext patch /context"]["response"]>;
/**
* Get language code from backend language id
*
* @param {string} languageId
* @returns {string} language code
*/
getLanguageCodeFromId(languageId: string): string;
/**
* Get backend language id from language code
*
* @param {string} languageCode
* @returns {string} language
*/
getLanguageIdFromCode(languageCode: string): string;
/**
* Replace to dev url if it is set
*
* @param {string} url
* @returns {string} prefixed url
*/
replaceToDevStorefront(url: string): string;
/**
* List of available languages
*/
languages: Ref<Schemas["Language"][]>;
/**
* Currently used language
*/
currentLanguage: Ref<string>;
/**
* Current prefix from the context
*/
currentPrefix: Ref<string>;
/**
* Add prefix to the Url
* @param {string | RouteObject} link
*/
formatLink(link: string | RouteObject): string | RouteObject;
};
ts
export type RouteObject = {
path: string;
[key: string]: unknown;
};