import axios from 'axios';

const languagesMap = {
    afrikaans: 'af-ZA',
    albanian: 'sq-AL',
    arabic: 'ar-SA',
    armenian: 'hy-AM',
    bengali: 'bn-IN',
    bulgarian: 'bg-BG',
    catalan: 'ca-ES',
    chinese: 'zh-CN',
    croatian: 'hr-HR',
    czech: 'cs-CZ',
    danish: 'da-DK',
    dutch: 'nl-NL',
    english: 'en-US',
    estonian: 'et-EE',
    filipino: 'fil-PH',
    finnish: 'fi-FI',
    french: 'fr-FR',
    german: 'de-DE',
    greek: 'el-GR',
    gujarati: 'gu-IN',
    hebrew: 'he-IL',
    hindi: 'hi-IN',
    hungarian: 'hu-HU',
    icelandic: 'is-IS',
    indonesian: 'id-ID',
    italian: 'it-IT',
    japanese: 'ja-JP',
    kannada: 'kn-IN',
    korean: 'ko-KR',
    latvian: 'lv-LV',
    lithuanian: 'lt-LT',
    malay: 'ms-MY',
    malayalam: 'ml-IN',
    marathi: 'mr-IN',
    norwegian: 'no-NO',
    polish: 'pl-PL',
    portuguese: 'pt-PT',
    punjabi: 'pa-IN',
    romanian: 'ro-RO',
    russian: 'ru-RU',
    serbian: 'sr-RS',
    slovak: 'sk-SK',
    slovenian: 'sl-SI',
    spanish: 'es-ES',
    swahili: 'sw-KE',
    swedish: 'sv-SE',
    tamil: 'ta-IN',
    telugu: 'te-IN',
    thai: 'th-TH',
    turkish: 'tr-TR',
    ukrainian: 'uk-UA',
    urdu: 'ur-PK',
    vietnamese: 'vi-VN',
    welsh: 'cy-GB',
    zulu: 'zu-ZA'
  };
  
  

const translateText = async (text, language) => {
  const apiKey = 'AIzaSyDPQrmSMJZ7vYG1aV_8EgiWmxGmtnUWVGo'; // Replace with your actual API key
  const targetLangCode = languagesMap[language.toLowerCase()];

  if (!targetLangCode) {
    console.error('Unsupported language');
    return null;
  }

  try {
    const response = await axios.post(`https://translation.googleapis.com/language/translate/v2`, null, {
      params: {
        q: text,
        target: targetLangCode,
        key: apiKey
      }
    });
    return response.data.data.translations[0].translatedText;
  } catch (error) {
    console.error('Translation error', error);
    return null;
  }
};

export default translateText;
