/**
 * class Pirate is a English to Pirate translator
 * 
 * @author Chris Thiel
 * @version 15 September 2007
 * A "nifty assignment" from Dave Reed at Creighton University
 * presented at SIGCSE 2004
 * 
 * Talk like a Pirate Day is September 19th
 * http://www.talklikeapirate.com/
 * 
 * A fun way to introduce 2 dimensional arrays, Scanner class, 
 * and String comparison
 * 
 * Improvements that can be made:
 * more words
 * less sensitive to capitalization ( perhaps lowerCase() )
 * addition of random (50% chance) of "Arrrr"s in the translations
 * (care should be taken to avoid consecutive "Arrr"s)
 * 
 * Bugs to be repaired:
 * "hi" is translated as "yo-ho-ho" but
 * "this" is translated "tyo-ho-hos"
 */
import java.util.Scanner;

public class Pirate
{
    // instance variables 
    static final int ENGLISH=0;
    static final int PIRATE=1;
    
    static String [] [] dictionary = 
       {{"hello", "ahoy"}, 
        {"hi", "yo-ho-ho"}, 
        {"pardon me", "avast"},
        {"excuse me", "arrr"},
        {"my", "me"}, 
        {"friend", "me bucko"}, 
        {"sir", "matey"}, 
        {"madam", "proud beauty"}, 
        {"miss", "comely wench"}, 
        {"stranger", "scurvy dog"}, 
        {"officer", "foul blaggart"}, 
        {"where", "whar"}, 
        {"is", "be"}, 
        {"the", "th'"}, 
        {"you", "ye"},
        {"tell", "be tellin'"}, 
        {"know", "be knowin'"},
        {"how far", "how many leagues"}, 
        {"old", "barnacle-covered"},
        {"attractive", "comely"}, 
        {"happy", "grog-filled"}, 
        {"nearby", "broadside"}, 
        {"restroom", "head"}, 
        {"restaurant", "galley"},
        {"hotel", "fleabag inn"}, 
        {"pub", "Skull & Scuppers"},
        {"bank", "buried treasure"}
       };
    static String in="";
    static String translation="";
    public static void main(String[]args)
    {
        Scanner keyboard=new Scanner(System.in);
        System.out.print("Pirate translator\n(Type \"quit\" to end)\n");
        while (!in.equals("quit"))
        {
          System.out.print("Type English Here: ");
          in = keyboard.nextLine();
          translation=in;
          for (int i = 0; i< dictionary.length; i++)
            translation=translation.replaceAll(
            		dictionary[i][ENGLISH], dictionary[i][PIRATE]);
          System.out.println("Pirate Translation: "+translation);
        }
    }
}