The match test ought to be simple enough. Each French card could have an instance variable that contains the English phrase that it will accept as a match. For example the Bonjour card could have an instance variable called correctMatch that contains "hello", etc. When you drop two cards in the box it compares the English string to what the French card is looking for and tells you if it hits or not.
You'll have to make sure that both halves of a correct match get put on the same screen together so you don't end up with a jumble of random card words that don't match up. So maybe at level start you could pull matches out of the array to populate both sides of the cards. Eg
Level start - set French card 1 to random thing from array.
For example the game pulls "Maison"
Now pull the English translation and populate French card 1's correctMatch variable and also one of the English display cards at random.
So, French card 1's correctMatch = "House"
[random English card] - eg English card 7 becomes "House".
If you set up the array so the French and English are always next to each other this oughtn't to be too hard to do.
0,0 = "Maison"
0,1 = "House"
1,0 = "Carotte"
1,1 = "Carrot"
2,0 = "Ours"
2,1 = "Bear"
and so on.