Salve,
avevo intenzione di costruire un traduttore dall'inglese all'italiano (una cosa un po' grossolana) del tipo una parola inglese corrisponde ad una parola italiana e se non lo si trova si scrive la parola italiana in questo modo: /*parola*/.

Ora, ci sono due file di testo, un testo di inglese con delle frasi:

I love you
the dog sleep
the cat is on the table
my name is Earl
e un dizionario:

I io
love amo
you tu
the il
dog cane
sleep dorme
cat gatto
is è
on su
table tavolo
name nome
E questo è il codice Java:

codice:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.PrintWriter;

public class Traduttore
{
    public static void main(String[] args) throws FileNotFoundException
    {
        Scanner testo = new Scanner(new File(args[1]));
        Scanner dizionario = new Scanner(new File(args[0]));
        PrintWriter testoTradotto = new PrintWriter(new File("testoTradotto.txt"));
        String parola = "";
        boolean tradotto = false;
        while(testo.hasNext())
        {
            parola = testo.next();
            while(dizionario.hasNextLine())
            {
                String parolaTradotta = dizionario.next();
                if (parolaTradotta.compareToIgnoreCase(parola) == 0)
                {
                    parola = dizionario.next();
                    tradotto = true;
                }
            }
            if(tradotto == false){parola = ("/*"+parola+"*/");}
            testoTradotto.print(parola+" ");
        }
        testoTradotto.close();
        testo.close();
        dizionario.close();
    }

}
Se avvio il programma però mi traduce solo la prima parola, dov'è il problema secondo voi?

Ringrazio anticipatamente per la pazienza data