public void executeLookupAction(String base, String sourceLocale, String targetLocale){
		log("lookup in base \"" + base + "\" from locale \"" + sourceLocale + "\" to locale \"" + targetLocale + "\":");
		log();
		
		log("reading target word storage from disk...");
		WordStorage sourceWordStorage = (WordStorage)WordStorage.loadFromFile(WordStorage.getFileName(base, sourceLocale));
		if(sourceWordStorage == null) err("could not read target word storage!");
		log("reading target word storage from disk...");
		WordStorage targetWordStorage = (WordStorage)WordStorage.loadFromFile(WordStorage.getFileName(base, targetLocale));
		if(targetWordStorage == null) err("could not read target word storage!");
		log();
		
		log("reading dictionary from disk...");
		Dictionary dictionary = (Dictionary)Dictionary.loadFromFile(Dictionary.getFileName(base, sourceLocale, targetLocale));
		if(dictionary == null) err("could not read dictionary data!");
		log();

		log("listening on stdin... (type words here)\n");
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String s;
		try {
			while ((s = in.readLine()) != null && s.length() != 0){
				lookup(s, sourceWordStorage, targetWordStorage, dictionary);
				log();
			}
		} catch (IOException ex) {
			err("could not read from stdin!");
		}
		
		log("lookup in base \"" + base + "\" from locale \"" + sourceLocale + "\" to locale \"" + targetLocale + "\" done.");
	}