Init Language Picker
This commit is contained in:
parent
754bb02c06
commit
89e66da351
25 changed files with 610 additions and 61 deletions
|
@ -26,6 +26,7 @@ function getLocaleMessages(locale: string): LocaleMessagesType {
|
|||
export type LocaleDirection = 'ltr' | 'rtl';
|
||||
|
||||
export type LocaleType = {
|
||||
availableLocales: Array<string>;
|
||||
i18n: LocalizerType;
|
||||
name: string;
|
||||
direction: LocaleDirection;
|
||||
|
@ -65,6 +66,7 @@ function getLocaleDirection(
|
|||
}
|
||||
|
||||
function finalize(
|
||||
availableLocales: Array<string>,
|
||||
messages: LocaleMessagesType,
|
||||
backupMessages: LocaleMessagesType,
|
||||
localeName: string,
|
||||
|
@ -80,6 +82,7 @@ function finalize(
|
|||
logger.info(`locale: Text info direction for ${localeName}: ${direction}`);
|
||||
|
||||
return {
|
||||
availableLocales,
|
||||
i18n,
|
||||
name: localeName,
|
||||
direction,
|
||||
|
@ -99,10 +102,12 @@ export function _getAvailableLocales(): Array<string> {
|
|||
|
||||
export function load({
|
||||
preferredSystemLocales,
|
||||
localeOverride,
|
||||
hourCyclePreference,
|
||||
logger,
|
||||
}: {
|
||||
preferredSystemLocales: Array<string>;
|
||||
localeOverride: string | null;
|
||||
hourCyclePreference: HourCyclePreference;
|
||||
logger: LoggerType;
|
||||
}): LocaleType {
|
||||
|
@ -117,10 +122,11 @@ export function load({
|
|||
const availableLocales = _getAvailableLocales();
|
||||
|
||||
logger.info('locale: Supported locales:', availableLocales.join(', '));
|
||||
logger.info('locale: Preferred locales: ', preferredSystemLocales.join(', '));
|
||||
logger.info('locale: Preferred locales:', preferredSystemLocales.join(', '));
|
||||
logger.info('locale: Locale Override:', localeOverride);
|
||||
|
||||
const matchedLocale = LocaleMatcher.match(
|
||||
preferredSystemLocales,
|
||||
localeOverride != null ? [localeOverride] : preferredSystemLocales,
|
||||
availableLocales,
|
||||
'en',
|
||||
{ algorithm: 'best fit' }
|
||||
|
@ -132,6 +138,7 @@ export function load({
|
|||
const englishMessages = getLocaleMessages('en');
|
||||
|
||||
return finalize(
|
||||
availableLocales,
|
||||
matchedLocaleMessages,
|
||||
englishMessages,
|
||||
matchedLocale,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue