@appsemble/utils
Version:
Utility functions used in Appsemble internally
21 lines (20 loc) • 862 B
TypeScript
/**
* Sort locales by specificity
*
* The languages are sorted in a way that more specific languages are preferred over less specific
* ones, but languages are never sorted before completely different languages.
*
* All languages are converted to lower case for convenience.
*
* For examples, see the test cases.
*
* @param languages The languages to sort. For example `navigator.languages`.
* @returns A sorted list of lower case languages in order of preference.
*/
export declare function sortLocales(languages: readonly string[]): string[];
/**
* @param languages A list of languages supported by the application.
* @param choices A list of languages preferred by the user in order of preference.
* @returns The best match
*/
export declare function detectLocale(languages: readonly string[], choices: readonly string[]): string | undefined;