function getI18nLanguages()

in src/middleware/files.js [258:287]


function getI18nLanguages(headers) {
  const overrideValue = cookieValue(
    headers.cookie,
    "firebase-language-override"
  );
  if (overrideValue) {
    return overrideValue.includes(",")
      ? overrideValue.split(",")
      : [overrideValue];
  }

  const acceptLanguage = headers["accept-language"];
  if (!acceptLanguage) {
    return [];
  }

  const languagesSeen = {};
  const languagesOrdered = [];
  for (const v of acceptLanguage.split(",")) {
    const l = v.split("-")[0];
    if (!l) {
      continue;
    }
    if (!languagesSeen[l]) {
      languagesOrdered.push(l);
    }
    languagesSeen[l] = true;
  }
  return languagesOrdered;
}