rem: dirName = WMRunInputPanel(scr, panel->win, "Create Directory", "Enter directory name", "", "OK", "Cancel");
add: dirName = WMRunInputPanel(scr, panel->win, _("Create Directory"), _("Enter directory name"), "", _("OK"), _("Cancel"));
context: createDir(WMButton *bPre, WMFilePanel *panel){    char *dirName, *directory, *file, *s;    WMScreen *scr = WMWidgetScreen(panel->win);    dirName = WMRunInputPanel(scr, panel->win, "Create Directory",                              "Enter directory name", "", "OK", "Cancel");    if (!dirName)        return;    directory = getCurrentFileName(panel);    s = strrchr(directory,'/');    if (s) s[1] = 0;    if (dirName[0] == '/') {        directory[0] = 0;    } else {        while ((s = strstr(directory,"//"))) {            int i;            for (i = 2;s[i] == '/';i++);            strcpy(s, &s[i-1]);        }        if ((s = strrchr(directory, '/')) && !s[1]) s[0] = 0;    }    while ((s = strstr(dirName,"//"))) {        int i;        for (i = 2;s[i] == '/';i++);        strcpy(s, &s[i-1]);    }    if ((s = strrchr(dirName, '/')) && !s[1]) s[0] = 0;    file = wmalloc(strlen(dirName)+strlen(directory)+1);    sprintf(file, "%s/%s", directory, dirName);    while ((s = strstr(file,"//"))) {        int i;        for (i = 2;s[i] == '/';i++);        strcpy(s, &s[i-1]);    }    if (mkdir(file,0xfff) != 0) {        switch (errno) {            case EACCES:                showError(scr, panel->win, "Permission denied.", NULL);                break;            case EEXIST:                showError(scr, panel->win, "'%s' already existes.", file);                break;            case ENOENT:                showError(scr, panel->win, "Path does not exist.", NULL);        }    }    else WMSetFilePanelDirectory(panel, file);    wfree(dirName);    wfree(directory);    wfree(file);}