//------------------------------------------------------------
        // Force to reload the locale manager
        //------------------------------------------------------------
        private void resetLocaleManager(String loc_name)
        {
            // Reload Locale Manager
            ColossalFramework.Globalization.LocaleManager.ForceReload();

            string[] locales = ColossalFramework.Globalization.LocaleManager.instance.supportedLocaleIDs;
            for (int i = 0; i < locales.Length; i++)
            {
                #if (DEBUG)
                DebugOutputPanel.AddMessage(PluginManager.MessageType.Message, String.Format("Locale index: {0}, ID: {1}", i, locales[i]));
                #endif
                if (locales[i].Equals(loc_name))
                {
                    #if (DEBUG)
                    DebugOutputPanel.AddMessage(PluginManager.MessageType.Message, String.Format("Find locale {0} at index: {1}", loc_name, i));
                    #endif
                    ColossalFramework.Globalization.LocaleManager.instance.LoadLocaleByIndex(i);

                    //thanks to: https://github.com/Mesoptier/SkylineToolkit/commit/d33f0bae67662df25bdf8ee2170d95a6999c3721
                    ColossalFramework.SavedString lang_setting = new ColossalFramework.SavedString("localeID", "gameSettings");
                    #if (DEBUG)
                    DebugOutputPanel.AddMessage(PluginManager.MessageType.Message, String.Format("Current Language Setting: {0}", lang_setting.value));
                    #endif
                    lang_setting.value = locale_name;
                    ColossalFramework.GameSettings.SaveAll();
                    break;
                }
            }
        }
        public static string text(string index)
        {
            ColossalFramework.SavedString lang_setting = new ColossalFramework.SavedString("localeID", "gameSettings");
            if (GameLanguage == null || GameLanguage != lang_setting.value) {

                try {
                    GameLanguage = lang_setting.value;
                    if (GameLanguage == "nl") {
                        ColumnWidths = new int[] {43,160,207,276,380};
                        nl = new Dictionary<string, string> ();

                        nl ["SELECT_ALL"] = "Selecteer alles";
                        nl ["SELECT_NONE"] = "Selecteer niets";
                        nl ["NAME"] = "Naam";
                        nl ["STOPS"] = "Haltes";
                        nl ["PASSENGERS"] = "Passagiers";
                        nl ["TRIPS_SAVED"] = "Ritten bespaard";
                        nl ["VEHICLES"] = "Voertuigen";
                        nl ["DELETE_LINE"] = "Hef lijn op";
                        nl ["NONE"] = "(Geen)";
                        nl ["BUS_LINES"] = "Buslijnen ({0})";
                        nl ["METRO_LINES"] = "Metrolijnen ({0})";
                        nl ["TRAIN_LINES"] = "Treinlijnen ({0})";
                        return nl [index];
                    } else if (GameLanguage == "de") {
                        ColumnWidths = new int[] {43,150,225,300,380};
                        de = new Dictionary<string, string> ();

                        de ["SELECT_ALL"] = "Alle wählen";
                        de ["SELECT_NONE"] = "Nichts wählen ";
                        de ["NAME"] = "Name";
                        de ["STOPS"] = "Haltestellen";
                        de ["PASSENGERS"] = "Passagiere";
                        de ["TRIPS_SAVED"] = "Ritte erspart";
                        de ["VEHICLES"] = "Fahrzeuge";
                        de ["DELETE_LINE"] = "Linie aufheben";
                        de ["NONE"] = "(Keine)";
                        de ["BUS_LINES"] = "Buslinien ({0})";
                        de ["METRO_LINES"] = "Metrolinien ({0})";
                        de ["TRAIN_LINES"] = "Bahnlinien ({0})";
                        return de [index];
                    } else if (GameLanguage == "it") {
                        //ColumnWidths = new int[] {43,160,207,276,380};
                        it = new Dictionary<string, string> ();

                        it ["SELECT_ALL"] = "Seleziona tutto";
                        it ["SELECT_NONE"] = "Seleziona niente ";
                        it ["NAME"] = "Nome";
                        it ["STOPS"] = "Fermate";
                        it ["PASSENGERS"] = "Viaggiatori";
                        it ["TRIPS_SAVED"] = "Corse risparmiate";
                        it ["VEHICLES"] = "Veicolo";
                        it ["DELETE_LINE"] = "Sollevamento linea";
                        it ["NONE"] = "(Niente)";
                        it ["BUS_LINES"] = "Linee autobus ({0})";
                        it ["METRO_LINES"] = "Linee metro ({0})";
                        it ["TRAIN_LINES"] = "Linee treni ({0})";
                        return it [index];
                    } else {
                        en = new Dictionary<string, string> ();

                        en ["SELECT_ALL"] = "Select All";
                        en ["SELECT_NONE"] = "Select None";
                        en ["NAME"] = "Name";
                        en ["STOPS"] = "Stops";
                        en ["PASSENGERS"] = "Passengers";
                        en ["TRIPS_SAVED"] = "Trips Saved";
                        en ["VEHICLES"] = "Vehicles";
                        en ["DELETE_LINE"] = "Delete Line";
                        en ["NONE"] = "(None)";
                        en ["BUS_LINES"] = "Bus Lines ({0})";
                        en ["METRO_LINES"] = "Metro Lines ({0})";
                        en ["TRAIN_LINES"] = "Train Lines ({0})";
                        return en [index];

                    }
                } catch (Exception e) {
            //					Debug.Error ("EPTUI Language File Error " + e.ToString ());
                    DebugOutputPanel.AddMessage(ColossalFramework.Plugins.PluginManager.MessageType.Error, "EPTUI Language File Error " + e.ToString ());
                    return "Error";
                }

            } else {
                if (GameLanguage == "nl") {
                    return nl [index];
                }
                if (GameLanguage == "it") {
                    return it [index];
                }
                if (GameLanguage == "de") {
                    return de [index];
                }
                return en [index];
            }
        }