export function localeToLang()

in src/amo/i18n/utils.js [20:44]


export function localeToLang(
  locale?: string,
  log_?: typeof log = log,
): void | string {
  let lang;
  if (locale && locale.split) {
    const parts = locale.split('_');
    if (parts.length === 1) {
      lang = 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();
      lang = `${parts[0].toLowerCase()}-${pt2}`;
    } else if (parts.length === 3) {
      // sr_RS should be sr-RS
      lang = `${parts[0].toLowerCase()}-${parts[2].toUpperCase()}`;
    } else {
      log_.error(`Unable to map a language from locale code [${locale}]`);
    }
  }
  return lang;
}