{"id":23972486,"url":"https://github.com/olavoparno/translate-serverless-vercel","last_synced_at":"2025-04-13T19:40:38.787Z","repository":{"id":39007559,"uuid":"268970509","full_name":"olavoparno/translate-serverless-vercel","owner":"olavoparno","description":"Translation API using Vercel Serverless Functions and Google's API","archived":false,"fork":false,"pushed_at":"2023-10-15T03:16:24.000Z","size":19807,"stargazers_count":25,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T07:00:09.828Z","etag":null,"topics":["google-translate-api","lambda","node","redis","serverless","typescript","vercel-serverless"],"latest_commit_sha":null,"homepage":"https://translate-serverless.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olavoparno.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-03T02:32:26.000Z","updated_at":"2025-02-22T12:02:36.000Z","dependencies_parsed_at":"2023-02-07T16:00:58.358Z","dependency_job_id":null,"html_url":"https://github.com/olavoparno/translate-serverless-vercel","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olavoparno%2Ftranslate-serverless-vercel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olavoparno%2Ftranslate-serverless-vercel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olavoparno%2Ftranslate-serverless-vercel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olavoparno%2Ftranslate-serverless-vercel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olavoparno","download_url":"https://codeload.github.com/olavoparno/translate-serverless-vercel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248770100,"owners_count":21158909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-translate-api","lambda","node","redis","serverless","typescript","vercel-serverless"],"created_at":"2025-01-07T03:29:27.525Z","updated_at":"2025-04-13T19:40:38.763Z","avatar_url":"https://github.com/olavoparno.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Translate Serverless Vercel\n\n\u003e Translate API Vercel Serverless Functions\n\n### Resume\n\n- Serverless function for translating text using `@vitalets/google-translate-api`.\n- Built following [Vercel's documentation](https://vercel.com/docs/v2/serverless-functions/supported-languages#using-typescript).\n\n### Deploy it yourself\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/olavoparno/translate-serverless-vercel)\n\n- Keep in mind that by using the lib `@vitalets/google-translate-api` you would have to setup a environment variable called `XDG_CONFIG_HOME` to `/tmp/.config/` in order to store its cookies.\n\n### Endpoints\n\n- {POST} /translate\n\n### Translate\n\n- This request accepts its payload configuration both as queryString or as body.\n- See below the request and response respective interfaces.\n\n```ts\ninterface ITranslateOptions {\n  message: string\n  from: string\n  to: string\n}\n\ninterface ITransResult {\n  dst: string\n  src: string\n}\n\ninterface ITranslateResponse {\n  from: string\n  to: string\n  trans_result: ITransResult\n}\n```\n\n- Examples:\n\n```js\nfetch('https://translate-serverless.vercel.app/api/translate', {\n  method: 'POST',\n  headers: {\n    'content-type': 'application/json',\n  },\n  body: JSON.stringify({\n    message: 'Translate me now!',\n    from: 'en',\n    to: 'pt',\n  }),\n})\n  .then((data) =\u003e data.json())\n  .then((response) =\u003e {\n    console.log(response)\n  })\n  .catch((err) =\u003e {\n    console.log(err)\n  })\n```\n\n```sh\ncurl --request POST \\\n  --url https://translate-serverless.vercel.app/api/translate \\\n  --header 'content-type: application/json' \\\n  --data '{\n\t\"message\": \"Translate me now!\",\n\t\"from\": \"en\",\n\t\"to\": \"pt\"\n}'\n```\n\n### Current supported languages abbreviations\n\n```js\nconst languages = {\n  'zh-CN': 'Chinese (Simplified)',\n  'zh-TW': 'Chinese (Traditional)',\n  af: 'Afrikaans',\n  am: 'Amharic',\n  ar: 'Arabic',\n  auto: 'Automatic',\n  az: 'Azerbaijani',\n  be: 'Belarusian',\n  bg: 'Bulgarian',\n  bn: 'Bengali',\n  bs: 'Bosnian',\n  ca: 'Catalan',\n  ceb: 'Cebuano',\n  co: 'Corsican',\n  cs: 'Czech',\n  cy: 'Welsh',\n  da: 'Danish',\n  de: 'German',\n  el: 'Greek',\n  en: 'English',\n  eo: 'Esperanto',\n  es: 'Spanish',\n  et: 'Estonian',\n  eu: 'Basque',\n  fa: 'Persian',\n  fi: 'Finnish',\n  fr: 'French',\n  fy: 'Frisian',\n  ga: 'Irish',\n  gd: 'Scots Gaelic',\n  gl: 'Galician',\n  gu: 'Gujarati',\n  ha: 'Hausa',\n  haw: 'Hawaiian',\n  he: 'Hebrew',\n  hi: 'Hindi',\n  hmn: 'Hmong',\n  hr: 'Croatian',\n  ht: 'Haitian Creole',\n  hu: 'Hungarian',\n  hy: 'Armenian',\n  id: 'Indonesian',\n  ig: 'Igbo',\n  is: 'Icelandic',\n  it: 'Italian',\n  iw: 'Hebrew',\n  ja: 'Japanese',\n  jw: 'Javanese',\n  ka: 'Georgian',\n  kk: 'Kazakh',\n  km: 'Khmer',\n  kn: 'Kannada',\n  ko: 'Korean',\n  ku: 'Kurdish (Kurmanji)',\n  ky: 'Kyrgyz',\n  la: 'Latin',\n  lb: 'Luxembourgish',\n  lo: 'Lao',\n  lt: 'Lithuanian',\n  lv: 'Latvian',\n  mg: 'Malagasy',\n  mi: 'Maori',\n  mk: 'Macedonian',\n  ml: 'Malayalam',\n  mn: 'Mongolian',\n  mr: 'Marathi',\n  ms: 'Malay',\n  mt: 'Maltese',\n  my: 'Myanmar (Burmese)',\n  ne: 'Nepali',\n  nl: 'Dutch',\n  no: 'Norwegian',\n  ny: 'Chichewa',\n  pa: 'Punjabi',\n  pl: 'Polish',\n  ps: 'Pashto',\n  pt: 'Portuguese',\n  ro: 'Romanian',\n  ru: 'Russian',\n  sd: 'Sindhi',\n  si: 'Sinhala',\n  sk: 'Slovak',\n  sl: 'Slovenian',\n  sm: 'Samoan',\n  sn: 'Shona',\n  so: 'Somali',\n  sq: 'Albanian',\n  sr: 'Serbian',\n  st: 'Sesotho',\n  su: 'Sundanese',\n  sv: 'Swedish',\n  sw: 'Swahili',\n  ta: 'Tamil',\n  te: 'Telugu',\n  tg: 'Tajik',\n  th: 'Thai',\n  tl: 'Filipino',\n  tr: 'Turkish',\n  uk: 'Ukrainian',\n  ur: 'Urdu',\n  uz: 'Uzbek',\n  vi: 'Vietnamese',\n  xh: 'Xhosa',\n  yi: 'Yiddish',\n  yo: 'Yoruba',\n  zu: 'Zulu',\n}\n```\n\n### Thanks\n\n- Special thanks to [Lucas Mendes](https://github.com/LucasMendesl) a.k.a. mister snack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folavoparno%2Ftranslate-serverless-vercel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folavoparno%2Ftranslate-serverless-vercel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folavoparno%2Ftranslate-serverless-vercel/lists"}