import { AppToaster } from "../components/Toaster";

export function getValidLanguageCode(input) {
  if (!input) return "";
  let lggCode = input.toLowerCase().trim().slice(0, 2);
  if (supportedLanguage.includes(lggCode)) {
    AppToaster.clear();
    return lggCode;
  } else {
    AppToaster.show({
      message:
        "Live AI: Incorrect language code for transcription, see instructions in settings panel.",
    });
    return "";
  }
}

// For translation
export const languages = [
  ["Arabic", "🇸🇦"],
  ["Bengali", "🇧🇩"],
  ["Dutch", "🇳🇱"],
  ["English", "🇺🇸"],
  ["French", "🇫🇷"],
  ["German", "🇩🇪"],
  ["Hindi", "🇮🇳"],
  ["Indonesian", "🇮🇩"],
  ["Italian", "🇮🇹"],
  ["Japanese", "🇯🇵"],
  ["Korean", "🇰🇷"],
  ["Mandarin Chinese", "🇨🇳"],
  ["Portuguese", "🇵🇹"],
  ["Russian", "🇷🇺"],
  ["Spanish", "🇪🇸"],
  ["Turkish", "🇹🇷"],
  ["Urdu", "🇵🇰"],
];

// For Whisper
const supportedLanguage = [
  "af",
  "am",
  "ar",
  "as",
  "az",
  "ba",
  "be",
  "bg",
  "bn",
  "bo",
  "br",
  "bs",
  "ca",
  "cs",
  "cy",
  "da",
  "de",
  "el",
  "en",
  "es",
  "et",
  "eu",
  "fa",
  "fi",
  "fo",
  "fr",
  "gl",
  "gu",
  "ha",
  "haw",
  "he",
  "hi",
  "hr",
  "ht",
  "hu",
  "hy",
  "id",
  "is",
  "it",
  "ja",
  "jw",
  "ka",
  "kk",
  "km",
  "kn",
  "ko",
  "la",
  "lb",
  "ln",
  "lo",
  "lt",
  "lv",
  "mg",
  "mi",
  "mk",
  "ml",
  "mn",
  "mr",
  "ms",
  "mt",
  "my",
  "ne",
  "nl",
  "nn",
  "no",
  "oc",
  "pa",
  "pl",
  "ps",
  "pt",
  "ro",
  "ru",
  "sa",
  "sd",
  "si",
  "sk",
  "sl",
  "sn",
  "so",
  "sq",
  "sr",
  "su",
  "sv",
  "sw",
  "ta",
  "te",
  "tg",
  "th",
  "tk",
  "tl",
  "tr",
  "tt",
  "uk",
  "ur",
  "uz",
  "vi",
  "yi",
  "yo",
  "zh",
];
