private void selectLanguage(final String server) throws IOException{
        slnversion = LoLPatcher.getVersion("solutions", "lol_game_client_sln", server); // temporarily use EUW to get language list
        String branch = (server.equals("PBE") ? "pbe" : "live");
        getSolutionManifest(slnversion, branch);
        File solutionmanifest = new java.io.File("RADS/solutions/lol_game_client_sln/releases/" + slnversion + "/solutionmanifest");
        BufferedReader br = new BufferedReader(new FileReader(solutionmanifest));
        String line;
        final ArrayList<String> languages = new ArrayList<>();
        while((line = br.readLine()) != null){
            if(line.matches("lol_game_client_[a-z]+_[a-z]+")){
                String nlang = line.substring("lol_game_client_".length());
                boolean found = false;
                for(String lang : languages){
                    if(lang.equals(nlang)){
                        found = true;
                        break;
                    }
                }
                if(!found){
                    languages.add(nlang);
                }
            }
        }
        final Window languageSelector = new Window(new Point(50, 10), "Select language");
        
        final SelectList languagelist = new SelectList(
                    languages.toArray(new String[languages.size()]), 2
                    , null, null, 0);
        languageSelector.addComponent(languagelist);
        languageSelector.addComponent(new Button("Save", new Listener() {
            @Override
            public void click(Component c) {
                main.wm.closeWindow(languageSelector);
                language = languages.get(languagelist.selected);

                Properties props = new Properties();
                try {
                    props.setProperty("server", server);
                    props.setProperty("language", language);
                    try(FileWriter fw = new FileWriter("settings.txt")){
                        props.store(fw, null);
                    }
                } catch (IOException ex) {
                    error = ex;
                    Logger.getLogger(ConfigurationTask.class.getName()).log(Level.SEVERE, null, ex);
                }
                addPatchers();
            }
        } , null));
        
        main.wm.addWindow(languageSelector);
    }