OK, so before I can give a proper answer to this question, I have to set up a few assumptions:
Did your company know or not know that the people they were hiring were total newbies with zero experience? Given that you said "the company decided to invest", I'm guessing the company knew this beforehand and this was not a mistake.
Did you know or not know the above? I'm also guessing you knew they were newbies, but not quite the extent of their lack of knowledge; you were prepared for rough terrain but not quite this rough.
What do you think about the quality of the course that your company has purchased? Of course, as someone who knows the material your judgment is cloudy at best, but if you were able to objectively assess the course, would you say it's good? I'm going to assume that the course is sufficient, assuming the students have reasonable aptitude.
Now, as someone who's done a bit of teaching myself (both in software development and other disciplines), one of the tenets of proper teaching is that it's really a two-way street. You can't just force information into someone's brain by talking at them for 8 hours a day. If the students are not engaged, then they're not going to learn anything. Based on the fact that your team is saying they understand everything and have no questions, what that says to me is that either they're trying to impress you (by showing how smart they are because they get it all immediately) or the complete opposite, that they are so completely lost that they don't even know how to ask a question about how lost they are.
In either case, what you've found through your own examination is that they're lying to you when they said that they get it, because they're not able to apply the concepts they learned to a simple example. Well, that's only part of the story. The other part of the story is that perhaps the assignment you've given them is too complicated. Without knowing the contents of the course or the specifics of your assignment, I can't say which is which; I'm going to assume that based on your experience you believe that the assignment you gave is appropriate, but I'm going to encourage you to once again check your biases and see if you can simplify the assignment further to something that might be more palatable. One thing you can do is to break it down, like this:
Rather than "Create a Person class with XYZ fields, create a Student class with W field and extends Person, and create some data in a DB and flush that to screen in a browser", you can phrase your problem like this:
Problem 1: Create a class called Person. It should have the fields X, Y, Z.
Problem 2: Create a class called Student. It should extend the Person class you created, and have the field W in addition
Problem 3: Create a script (however you want to say this) to put Student data in a database.
Problem 4: Using your script, put some Student data in your DB. You can connect to the DB hosted at [credentials (you should give them a DB instance and not make them use their own)].
Problem 5: By reading the DB you created, dump your Student info in raw text onto a blank webpage.
Problem 6: Add CSS to your webpage to make it look pretty.
The difference is, in the first case, you've thrown them an extremely abstract problem and made them fill in the details. Of course, this is expected of them at the company, but this is far too much to expect of a new developer with 2 days of training. In the second case, you've broken down the problem into step-by-step pieces that they can build using only the tools they know and don't need to do any sort of extrapolating or filling in pieces. Once again, of course filling in the details and pieces is an important part of development and is necessary for work, but it isn't necessary at this point right now (and if it is, then you have a bigger problem).
Once you've broken down the problem into extremely small components, then if they're still unable to do it, you have a problem. You need to pull them aside and tell them, specifically and directly: "If you don't understand this course, you need to tell me. I can teach you whatever you need (or I can ask the instructor to repeat material, go in-depth, etc), but only if you tell me that you're having trouble. It's OK to be having trouble, but it's not OK to tell me everything is fine when it's not, because that's lying and I don't like liars". Of course, your precise wording and tone may vary.
Now you've at least gotten to the point where they're telling you that they don't understand the material (hopefully). Continue testing them as you've been doing, that's good. You may also want to ask the instructor of the course if there's any kind of interactive exercises that they can do during class so it's not 8 hours of cramming information into someone's head by talking at them. If there's no interactive exercises in the course, you're going to have trouble; I'll go ahead and say that the course is flat-out garbage if it only contains 8 hours a day of talking at the students and has no practical element. Once you've gotten your new hires to tell you that they don't understand and what they don't understand, then you have actionable feedback that you can use to resolve the problems; that's the end goal of the whole exercise. Once you have that, then you can use that to solve the problems. Remember to be patient and understand your audience, don't get flustered, be kind, etc all that good stuff.
Now, as an aside, regarding the one person who doesn't understand English: He's going to be a big problem. The fact of the matter is that the job requires a minimal proficiency in English, this was (presumably) on the job description, and this person doesn't meet that bar. Based on this, I would talk to those responsible (probably HR) about firing this person, as he lied on his application and doesn't have the basic skills of the job. Failing that, you have an additional problem: If the course is in English and he doesn't understand English, then he's obviously not going to learn. If he doesn't know enough to know that the "if" in an if-statement is a keyword and translating code into Italian is not a good idea for trying to understand it (particularly in Javascript), there is very little hope for this person. Understanding what a keyword is, is so basic to programming that it's even more basic that "the basics"; it's complete lack of a fundamental principle. Short of firing this person (that would be my first choice), you need to specifically instruct him not to try to translate code into Italian and to read it as written, and explain to him why (as you said, "you can imagine what an if statement became"). Then see what happens. If he doesn't improve and his English level continues to be a barrier, you may want to push HR to get rid of him, as he is unproductive. Failing that, you may have to bench him and give him lower priority tasks only, which would be sad.
As another aside, Powershell is a fairly loose way of teaching someone to code. My advice would be to use WSL (Windows Subsystem for Linux) if you insist on Windows-based machines, or having true Linux environments (Mac is also a good idea if you don't want true Linux) is best. Windows sucks for development and Powershell doesn't make it much better. Giving them shoddy tools and telling them to "make do" doesn't help their learning curve issue.