setDefaults();
readConfig();
if (args.length > 0) {
Set<Parameter> rules = new HashSet<Parameter>();
// -[[l|lang] en|hu]
rules.add(new Parameter(ARGUMENTS, LANGUAGE, ZERO_OR_ONE, "-(l|lang)", "[a-zA-Z]{2}", "Koll3ctions.usage.lang"));
// -[r|readable]
rules.add(new Parameter(FLAG, READABLE_OUTPUT, ZERO_OR_ONE, "-(r|readable)", "Koll3ctions.usage.readable"));
// -[b|backup]
rules.add(new Parameter(FLAG, CREATE_BACKUP, ZERO_OR_ONE, "-(b|backup)", "Koll3ctions.usage.backup"));
// -[s|scan] [a|p|ap]
rules.add(new Parameter(ARGUMENTS, CL_SCAN, ZERO_OR_ONE, "-(s|scan)", "(a|p|ap|pa)", "Koll3ctions.usage.scan"));
// -[k|kindle] [drive letter]
rules.add(new Parameter(ARGUMENTS, KINDLE_PATH, ZERO_OR_ONE, "-(k|kindle)", "^(.+)[\\\\|/]?([^/]+)$", "Koll3ctions.usage.kindle"));
// -[?|h|help]
rules.add(new Parameter(FLAG, CL_HELP, ZERO_OR_ONE, "-(\\?|h|help)", "Koll3ctions.usage.help"));
// -[la|latinAlphabet]
rules.add(new Parameter(FLAG, LATIN_ALPHABET, ZERO_OR_ONE, "-(la|latinAlphabet)", "Koll3ctions.usage.latinAlphabet"));
// -[d|debug]
rules.add(new Parameter(FLAG, DEBUG_MODE, ZERO_OR_ONE, "-(d|debug)", ""));
KommandLine cl = new KommandLine(rules, "Koll3ctions.usage.general", "Koll3ctions.usage.example", BUNDLE_NAME);
cl.parse(args);
String s;
boolean needHelp = false;
for (Parameter param : rules) {