public RealTranslationFile load()
	{
		translations.clear();
		RealTools.renameFile(
			"plugins/" + plugin.getDescription().getName() + "/" + fileName + ".lang",
			"plugins/" + plugin.getDescription().getName() + "/" + fileName + ".lang.txt"
		);
		if (!RealTools.fileExists(
			"plugins/" + plugin.getDescription().getName() + "/" + fileName + ".lang.txt"
		)) {
			RealTools.extractDefaultFile(plugin, fileName + ".lang.txt");
		}
		try {
			BufferedReader reader = new BufferedReader(new FileReader(
				"plugins/" + plugin.getDescription().getName() + "/" + fileName + ".lang.txt"
			));
			String buffer;
			StringTokenizer line;
			while ((buffer = reader.readLine()) != null) {
				if ((buffer.length() > 0) && (buffer.charAt(0) != '#')) {
					line = new StringTokenizer(buffer, "=");
					if (line.countTokens() >= 2) {
						String key = line.nextToken();
						String value = line.nextToken();
						if (!key.equals("") && !value.equals("")) {
							translations.put(key, value);
						}
					}
				}
			}
			reader.close();
		} catch (Exception e) {
			if (fileName.equals("en")) {
				plugin
					.getServer()
					.getLogger()
					.log(
						Level.INFO,
						"You can create plugins/" + plugin.getDescription().getName() + "/" + fileName
							+ ".lang.txt file" + " to change texts"
					);
			} else {
				plugin
					.getServer()
					.getLogger()
					.log(
						Level.WARNING,
						"Needs plugins/" + plugin.getDescription().getName() + "/" + fileName + ".lang.txt file"
							+ " (check your language configuration)"
					);
			}
		}
		return this;
	}