CultureListDialog(java.awt.Frame parent) {
            super(parent, "Cultures", false);
            
            GenericObject cultureGroups =
                    EUGFileIO.load(Main.filenameResolver.resolveFilename("common/cultures.txt"),
                    ParserSettings.getNoCommentSettings());
            
            // No easy way to do this with an array, so use vector instead.
            Vector<Vector<String>> cultureGroupNameTable =
                    new Vector<Vector<String>>();
            
            for (GenericList group : cultureGroups.lists) {
                String groupName = group.getName();
//                String groupText = Text.getText(groupName);
                
                for (String culture : group) {
                    Vector<String> vector = new Vector<String>(2);
                    vector.add(groupName);
//                    vector.add(groupText);
                    vector.add(culture);
//                    vector.add(Text.getText(culture));
                    cultureGroupNameTable.add(vector);
                }
            }
            
            Vector<String> labels = new Vector<String>(4);
            labels.add("Group");
//            labels.add("Group display name");
            labels.add("Culture");
//            labels.add("Culture display name");
            
            JTable cultureTable = new JTable(cultureGroupNameTable, labels);
            cultureTable.setDefaultEditor(Object.class, null);
            
            if (supportsRowSorter) {
                cultureTable.setAutoCreateRowSorter(true);
            } else {
                System.out.println("Table sorting not supported.");
            }
            
            setLayout(new BorderLayout());
            add(new JScrollPane(cultureTable), BorderLayout.CENTER);
            
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            pack();
        }