I don't know if anything currently does all four of the things you want at one time for a batch of words, but Wiktionary and Google Translate are good options to get all of that information for single word lookups.
If you dig into the Python NLTK libraries, you will probably find enough modules and APIs to put together a bespoke program to 1) translate, if needed, a batch of words from another language to English, 2) provide the dictionary meaning, 3) give you the part of speech, and 4) provide an inflectional paradigm (the forms).
If you know a little bit of NLP or NLTK (Natural Language ToolKit) in Python, you can get pretty quickly write some code to access Google Translate (for the translation), Wiktionary(for all of it if needed), or WordNet (for meaning and part of speech). The inflectional paradigm portion is difficult, though, as most databases and APIs (i.e. for WordNet or Wiktionary) do not have this information in an easy table.
If you are able to use python, I recommend the module Lemminflect, which can very quickly give the inflections for an English word. The command getAllInflections('learn') will give a Penn-Treebank tagged dictionary:
{'VBD': ('learned', 'learnt'),
'VBN': ('learned',),
'VBG': ('learning',),
'VBZ': ('learns',),
'VB': ('learn',),
'VBP': ('learn',)}