export function langToLocale()

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;
}