in src/amo/i18n/utils.js [46:70]
export function langToLocale(
language?: string,
log_?: typeof log = log,
): void | string {
let locale;
if (language && language.split) {
const parts = language.split('-');
if (parts.length === 1) {
locale = parts[0].toLowerCase();
} else if (parts.length === 2) {
let pt2 = parts[1];
pt2 =
pt2.length > 2
? pt2[0].toUpperCase() + pt2.slice(1).toLowerCase()
: pt2.toUpperCase();
locale = `${parts[0].toLowerCase()}_${pt2}`;
} else if (parts.length === 3) {
// sr-Cyrl-RS should be sr_RS
locale = `${parts[0].toLowerCase()}_${parts[2].toUpperCase()}`;
} else {
log_.error(`Unable to map a locale from language code [${language}]`);
}
}
return locale;
}