S
Spontex
Gast
Hallo,
um meinem Progrämmchen Multi-Language-Support zu verpassen habe ich eine Klasse von ResourceBundle abgeleitet um davon dann verschiedene Sprachen, wie MyResource_de und MyResource_en zu erstellen. Nur habe ich jetzt das Problem, das wenn ich auf ein Bundle zugreifen möchte er dieses nicht findet:
java.util.MissingResourceException: Can't find bundle for base name CLanguage, locale de
CMainFrame.java
Ok, die Spracheresourcen liegen in einem anderem package aber daran liegt es nicht habe sie mal herüberkopiert. An den endungen der Resourcen "de" "DE" oder "de_DE" scheint es auch nicht zu liegen da ich sie schon durchprobiert habe.
CLangAdapter.java
CLanguage.java
CLanguage_de.java
CLanguage_en.java
Ich danke für eure Hilfe!
um meinem Progrämmchen Multi-Language-Support zu verpassen habe ich eine Klasse von ResourceBundle abgeleitet um davon dann verschiedene Sprachen, wie MyResource_de und MyResource_en zu erstellen. Nur habe ich jetzt das Problem, das wenn ich auf ein Bundle zugreifen möchte er dieses nicht findet:
java.util.MissingResourceException: Can't find bundle for base name CLanguage, locale de
CMainFrame.java
Code:
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.util.Locale;
import java.util.ResourceBundle;
import resource.lang.*;
public class CMainForm extends JFrame {
private JPanel m_Panel;
private ResourceBundle m_Language;
private Locale m_Locale;
public CMainForm() {
super("Resource Language test");
m_Locale = Locale.GERMAN;
m_Language = ResourceBundle.getBundle("CLanguage", m_Locale);
m_Panel = new JPanel(new BorderLayout());
setContentPane(m_Panel);
}
public static void main( String[] args ) {
CMainForm frame = new CMainForm();
frame.setLocation(150,100);
frame.setSize(500, 300);
frame.setVisible(true);
}
}
Ok, die Spracheresourcen liegen in einem anderem package aber daran liegt es nicht habe sie mal herüberkopiert. An den endungen der Resourcen "de" "DE" oder "de_DE" scheint es auch nicht zu liegen da ich sie schon durchprobiert habe.
CLangAdapter.java
Code:
package resource.lang;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.ResourceBundle;
public class CLangAdapter extends ResourceBundle {
protected Hashtable data = new Hashtable();
public Enumeration getKeys() {
return data.keys();
}
protected Object handleGetObject(String key) {
return data.get(key);
}
public ResourceBundle getParent() {
return parent;
}
}
CLanguage.java
Code:
package resource.lang;
public class CLanguage extends CLangAdapter {
public CLanguage() {
/* Cross language used items */
this.data.put("ok", "OK");
}
}
CLanguage_de.java
Code:
package resource.lang;
public class CLanguage_de extends CLangAdapter {
public CLanguage_de() {
/* Generally used items */
this.data.put("abort", "Abbrechen");
this.data.put("print", "Drucken");
this.data.put("help", "Hilfe");
this.data.put("mainmenu", "Hauptmenü");
this.data.put("overview", "Übersicht");
this.data.put("back", "Zurück");
this.data.put("exit", "Beenden");
this.data.put("exitprog", "Programm beenden");
/* Mainmenu & toolbar items */
this.data.put("file", "Datei");
this.data.put("report", "Bericht");
this.data.put("maintain", "Pflege");
this.data.put("exectute", "Ausführen");
this.data.put("window", "Fenster");
this.data.put("printer", "Drucker einrichten");
this.data.put("connection", "Verbindung einrichten");
this.data.put("user", "Benutzerdefiniert...");
}
}
CLanguage_en.java
Code:
package resource.lang;
public class CLanguage_en extends CLangAdapter {
public CLanguage_en() {
/* Generally used items */
this.data.put("abort", "Abort");
this.data.put("print", "Print");
this.data.put("help", "Help");
this.data.put("mainmenu", "Mainmenu");
this.data.put("overview", "Overview");
this.data.put("back", "Back");
this.data.put("exit", "Exit");
this.data.put("exitprog", "Exit programm");
/* Mainmenu & toolbar items */
this.data.put("file", "File");
this.data.put("report", "Report");
this.data.put("maintain", "Maintain");
this.data.put("exectute", "Execute");
this.data.put("window", "Window");
this.data.put("printer", "Printer setup");
this.data.put("connection", "Connection setup");
this.data.put("user", "User-defined...");
}
}
Ich danke für eure Hilfe!