Dobrý den,
udělal jsem si tento překladač:
package hlp;
import java.io.*;
import java.util.*;
public class Translator
{
private static Map<String,String> translateTable;
private static String language = "NULL";
public Translator()
{
translateTable = new HashMap<String,String>();
while(!setLanguage("EN")) {
System.out.println("nelze nacist coubor s jazykem EN");
}
}
public static boolean setLanguage(String newLanguage) {
if(language == null || newLanguage == null || language.equalsIgnoreCase(newLanguage)) {
return false;
}
translateTable = new HashMap<String,String>();
System.out.println(translateTable);
String line;
BufferedReader br = loadFile(newLanguage);
try {
while ((line = br.readLine()) != null) {
String[] a = line.split("=", 2);
translateTable.put(a[0], a[1].replace("\\n", "\n"));
System.out.println(a);
System.out.println();
}
}
catch(IOException e) {
app.Main.exit();
return false;
}
return true;
}
private static BufferedReader loadFile(String s) {
BufferedReader br;
try {
br = new BufferedReader(new FileReader(s+".lang"));
}
catch(IOException e) {
br = null;
app.Main.exit();
}
return br;
}
public static String translate(String code)
{
System.out.println(translateTable);
String s = translateTable.get(code);
if(s == null || s.isEmpty() || s=="") {
app.Main.exitWithoutTranslate();
return "";
}
else {
return s;
}
}
}
Ale když vyvolám translate("neco"), tak mi to nic nevrátí. V kódu jsou system.out.println(translateTable); ale nic to nevypisuje (vypíše to { } ). Na začátku public static void main(String[] args) mám vyvoláno new Translator() pro načtení jazyka.
Prosím o pomoc, nevím co s tím je.