using System;

namespace trxGui
{
    static class language
    {
        public static String[] en = new String[]
        {
            "Pluto Address:",
            "local USB",
            "enter IP address of the Pluto",
            "Loadspeaker/Headphone:",
            "Microphone:",
            "Receiver Frequency:",
            "Transmitter Frequency:",
            "Spectrum/Waterfall Speed:",
            "Cancel",
            "MHz ( enter center frequency corresponding to 10489.750 MHz )",
            "MHz ( enter center frequency corresponding to 2400,250 MHz )",
            "Hz (correction value for the Pluto TCXO, or use CAL calibration function)",
            "Hz (correction value for the LNB, or use CAL calibration function)",
            "normal CPU",
            "to reduce CPU load on slower computers",
            "Help",
            "Language:",
            "Open Manual",
            "Mouse:",
            "Color Palette:",
            "Pluto TX power [dBm], allowed values: -40 to 0",
            "TX power:",

            "1. click the CALIB LNB button: ",
            "2. Click the center of the BPSK beacon with the left mouse button to move it to the 0 Hz line",
            "LNB calibration:",
            "439 FINISHED",
            "LNB FINISHED",
            "4. when you are done, click the 439 FINISHED button:",
            "2. transmit a 439,000 MHz carrier using a 70cm transceiver",
            "1. click the CALIB439 button: ",
            "PLUTO clock (TCXO) calibration",
            "3. Click the peak with the left mouse button to move it to the center 0 Hz line",
            "3. when you are done, click the LNB FINISHED button:",
            "Close",
            "Example:",
            "Referenz Frequency Calibration",
            "Do you want to shut down the computer?",
        };

        public static String[] de = new String[]
        {
            "Pluto Adresse:",
            "USB lokal",
            "gebe IP Adresse des Plutos ein",
            "Lautsprecher/Kopfhörer:",
            "Mikrofon:",
            "Empfangsfrequenz:",
            "Sendefrequenz:",
            "Spekt./Wasserf. Auflösung:",
            "Abbrechen",
            "MHz ( Mittenfrequenz bezogen auf 10489,750 MHz )",
            "MHz ( Mittenfrequenz bezogen auf 2400,250 MHz )",
            "Hz (Korrekturwert für den Pluto TCXO, oder benutze die CAL Funktion)",
            "Hz (Korrekturwert für den LNB, oder benutze die CAL Funktion)",
            "normale CPU",
            "Reduziere die CPU Last auf langsamen Rechnern",
            "Hilfe",
            "Sprache:",
            "Bedienungsanleitung",
            "Maus:",
            "Farbpalette:",
            "Pluto TX Ausgangsleistung [dBm], erlaubte Werte: -40 bis 0",
            "TX Leistung:",

            "1. klicke CALIB LNB: ",
            "2. Klicke in die Mitte der BPSK Bake um sie auf die 0 Hz Linie zu schieben",
            "LNB Kalibration:",
            "439 fertig",
            "LNB fertig",
            "4. wenn fertig klicke auf \"439 fertig\":",
            "2. sende einen Träger auf 439,000 MHz mit einem 70cm Transceiver",
            "1. klicke auf CALIB439: ",
            "PLUTO Takt (TCXO) Kalibration",
            "3. Klicke auf die Spitze um sie zur 0 Hz Linie zu schieben",
            "3. wenn fertig klicke \"LNB fertig\":",
            "Schließen",
            "Beispiel:",
            "Referenz Frequenz Kalibration",
            "Wollen sie den Rechner wirklich herunterfahren?",
        };

        public static String[] fr = new String[]
        {
            "Adresse Pluto :",
            "USB local",
            "entrer l'adresse IP du Pluto",
            "Loadspeaker/Headphone :",
            "Microphone :",
            "Fréquence du récepteur :",
            "Fréquence de l'émetteur :",
            "Spectre/Vitesse de chute d'eau :",
            "Annuler",
            "MHz (entrer la fréquence centrale correspondant à 10489,750 MHz)",
            "MHz (entrer la fréquence centrale correspondant à 2400,250 MHz)",
            "Hz (valeur de correction pour le TCXO de Pluto, ou utiliser la fonction de calibration CAL)",
            "Hz (valeur de correction pour le LNB, ou utiliser la fonction de calibrage CAL)",
            "CPU normal",
            "pour réduire la charge du CPU sur les ordinateurs plus lents",
            "Aide",
            "Langue :",
            "Ouvrir le manuel",
            "Souris :",
            "Palette de couleurs :",
            "Puissance TX Pluto [dBm], valeurs autorisées : -40 à 0",
            "Puissance TX :",

            "1. Cliquez sur le bouton CALIB LNB : ",
            "2. Cliquez sur le centre de la balise BPSK pour la déplacer sur la ligne 0 Hz",
            "Calibration du LNB :",
            "439 FINI",
            "LNB FINI",
            "4. Lorsque vous avez terminé, cliquez sur le bouton 439 FINI :",
            "2. Transmettre une porteuse de 439 000 MHz à l'aide d'un émetteur-récepteur de 70 cm.",
            "1. Cliquez sur le bouton CALIB439 : ",
            "Calibrage de l'horloge PLUTO (TCXO)",
            "3. Cliquez sur le pic pour le déplacer au centre de la ligne 0 Hz",
            "3. Lorsque vous avez terminé, cliquez sur le bouton LNB FINI :",
            "Fermer",
            "Exemple:",
            "Referenz Calibrage de la fréquence",
            "Voulez-vous éteindre l'ordinateur ?",
        };

        public static String[] es = new String[]
        {
            "Dirección de Pluto:",
            "USB local",
            "introduzca la dirección IP del Pluto",
            "Altavoz/Auricular:",
            "Micrófono:",
            "Frecuencia del receptor:",
            "Frecuencia del transmisor:",
            "Espectro/Velocidad de caída:",
            "Cancelar",
            "MHz ( introduzca la frecuencia central correspondiente a 10489,750 MHz )",
            "MHz ( introduzca la frecuencia central correspondiente a 2400,250 MHz )",
            "Hz (valor de corrección para el TCXO de Plutón, o utilice la función de calibración CAL)",
            "Hz (valor de corrección para el LNB, o utilice la función de calibración CAL)",
            "CPU normal",
            "para reducir la carga de la CPU en ordenadores más lentos",
            "Ayuda",
            "Idioma:",
            "Abrir manual",
            "Ratón:",
            "Paleta de colores:",
            "Potencia de transmisión de Plutón [dBm], valores permitidos: -40 a 0",
            "Potencia TX:",

            "1. Pulse el botón CALIB LNB: ",
            "2. Haga clic en el centro de la baliza BPSK para moverla a la línea de 0 Hz",
            "LNB calibración:",
            "439 FINALIZADO",
            "LNB FINALIZADO",
            "4. Cuando haya terminado, haga clic en el botón 439 FINALIZADO:",
            "2. transmitir una portadora de 439.000 MHz con un transceptor de 70 cm",
            "1. Haga clic en el botón CALIB439:",
            "Calibración del reloj PLUTO (TCXO)",
            "3. Haga clic en el pico para moverlo a la línea central de 0 Hz",
            "3. Cuando haya terminado, pulse el botón LNB FINALIZADO:",
            "Cerrar",
            "Ejemplo:",
            "Calibración de la frecuencia de referencia",
            "¿Quieres apagar el ordenador?",

        };

        public static String[] pt = new String[]
        {
            "Endereço de Plutão:",
            "USB local",
            "introduzir o endereço IP do Plutão",
            "Loadspeaker/Headphone:",
            "Microfone:",
            "Receptor Frequência:",
            "Frequência do Transmissor:",
            "Spectrum/Waterfall Speed:",
            "Cancelar",
            "MHz ( introduzir a frequência central correspondente a 10489.750 MHz )",
            "MHz ( introduzir a frequência central correspondente a 2400,250 MHz )",
            "Hz (valor de correcção para o Pluto TCXO, ou utilizar a função de calibração CAL)",
            "Hz (valor de correcção para o LNB, ou utilizar a função de calibração CAL)",
            "CPU normal",
            "para reduzir a carga da CPU em computadores mais lentos",
            "Ajuda",
            "Língua:",
            "Manual Aberto",
            "Rato:",
            "Paleta de cores:",
            "Pluto TX potência [dBm], valores permitidos: -40 a 0",
            "TX power:",

            "1. clique no botão CALIB LNB: ",
            "2. Clique no centro do farol BPSK para o mover para a linha de 0 Hz",
            "LNB calibração:",
            "439 CONCLUÍDO",
            "LNB CONCLUÍDO",
            "4. Quando tiver terminado, clique no botão 439 CONCLUÍDO:",
            "2. transmitir uma portadora de 439.000 MHz utilizando um transceiver de 70cm",
            "1. clique no botão CALIB439:",
            "Calibração do relógio PLUTO (TCXO)",
            "3. Clique no pico para o mover para o centro da linha 0 Hz",
            "3. Quando tiver terminado, clique no botão LNB CONCLUÍDO:",
            "Fechar",
            "Exemplo:",
            "Calibração de frequência de referência",
            "Quer desligar o computador?",

        };

        public static String[] it = new String[]
        {
            "Indirizzo Pluto:",
            "USB locale",
            "inserire l'indirizzo IP del Pluto",
            "Altoparlante/Cuffia:",
            "Microfono:",
            "Frequenza del ricevitore:",
            "Frequenza del trasmettitore:",
            "Spettro/Velocità della cascata:",
            "Annulla",
            "MHz ( inserire frequenza centrale corrispondente a 10489,750 MHz )",
            "MHz ( inserire frequenza centrale corrispondente a 2400,250 MHz )",
            "Hz (valore di correzione per il TCXO Pluto, o usare la funzione di calibrazione CAL)",
            "Hz (valore di correzione per l'LNB, o usare la funzione di calibrazione CAL)",
            "CPU normale",
            "per ridurre il carico della CPU sui computer più lenti",
            "Aiuto",
            "Lingua:",
            "Aprire il manuale",
            "Mouse:",
            "Tavolozza dei colori:",
            "Potenza TX Pluto [dBm], valori ammessi: -40 a 0",
            "Potenza TX:",

            "1. cliccate sul pulsante CALIB LNB: ",
            "2. Fare clic sul centro del beacon BPSK per spostarlo sulla linea 0 Hz",
            "LNB calibrazione:",
            "439 FINITO",
            "LNB FINITO",
            "4. quando hai finito, clicca sul pulsante 439 FINITO:",
            "2. trasmettere una portante di 439.000 MHz usando un ricetrasmettitore da 70 cm",
            "1. cliccate sul pulsante CALIB439:",
            "Taratura del clock PLUTO (TCXO)",
            "3. Fare clic sul picco per spostarlo sulla linea centrale 0 Hz",
            "3. quando avete finito, cliccate sul pulsante LNB FINITO:",
            "Chiudere",
            "Esempio:",
            "Calibrazione della frequenza di riferimento",
            "Vuoi spegnere il computer?",

        };



        public static String GetText(String s)
        {
            if( en.Length != de.Length ||
                en.Length != fr.Length ||
                en.Length != es.Length ||
                en.Length != pt.Length ||
                en.Length != it.Length)
            {
                Console.WriteLine("***** incomplete translation *****" + en.Length + " " + de.Length + " " + fr.Length + " " + es.Length + " " + pt.Length + " " + it.Length);
                return s;
            }    

            for(int i=0; i<en.Length; i++)
            {
                if(s == en[i] || s==de[i] || s==fr[i] || s==es[i] || s==pt[i] || s==it[i])
                {
                    if (statics.language == 0) return en[i];
                    if (statics.language == 1) return de[i];
                    if (statics.language == 2) return fr[i];
                    if (statics.language == 3) return es[i];
                    if (statics.language == 4) return pt[i];
                    if (statics.language == 5) return it[i];
                }
            }

            return s;
        }
    }
}
