Resourcebundle implementierung

delphiking1980

Bekanntes Mitglied
Hallo zusammen,

ich habe mit eine Übersetzung für meine Java Swing Anwendung implementiert welche wiefolgt aussieht

Die Import deklarationen habe ich entfernt.

Translation.java

Java:
public final class Translation {

    private PropertieHandler propertieHandler = PropertieHandler.getInstance();
    private static Translation instance;
    private static Logger logger = Logger.getInstance();
    private Sprache sprache;
    private ResourceBundle bundle;

    private Translation() {
        loadSprache();
        this.bundle = loadResourceBundle();
        initOptionPaneButtons();
    }

    public static Translation getInstance() {
        if (instance == null) {
            instance = new Translation();
        }
        return instance;
    }

    public void setSprache(final Sprache inSprache) {
        this.sprache = inSprache;
        this.bundle = loadResourceBundle();
    }

    public String getText(final String text) {
        String result = null;
        try {
            result = this.bundle.getString(text);
        } catch (MissingResourceException | NullPointerException e) {
            logger.log(Level.ERROR, e, Translation.class);
        } finally {
            if (result == null) {
                result = "!!".concat(text).concat("!!");
            }
        }
        return result;
    }

    private void loadSprache() {
        Integer spracheId = this.propertieHandler.getIntegerPropertie(MouseRecorderStatics.SPRACHE);
        this.sprache = Sprache.getSpracheByIndex(spracheId);
        setSprache(this.sprache);
    }

    private ResourceBundle loadResourceBundle() {
        ResourceBundle innerBundle = null;
        File file = new File(MouseRecorderStatics.LANGUAGE_PATH);
        ClassLoader loader = null;
        try {
            URL[] urls = { file.toURI().toURL() };
            loader = new URLClassLoader(urls);
            innerBundle = ResourceBundle.getBundle(MouseRecorderStatics.LANGUAGE_FILE_SUFFIX, this.sprache.getLocale(), loader);
        } catch (MalformedURLException e) {
            logger.log(Level.ERROR, e, Translation.class);
        }
        return innerBundle;
    }

    public Sprache getSprache() {
        return this.sprache;
    }

    private void initOptionPaneButtons() {
        UIManager.put("OptionPane.yesButtonText", bundle.getString("Yes")); 
        UIManager.put("OptionPane.noButtonText", bundle.getString("No")); 
        UIManager.put("OptionPane.cancelButtonText", bundle.getString("Cancel"));
    }

}

Der Aufruf

Java:
public void t(){
 Translation translation = Translation.getInstance();
 translation.getText("Hallo");
}

Meine Idee für eine Optimierung

Java:
public static final String TXT_HALLO = "Hallo";


public void t(){
 Translation translation = Translation.getInstance();
 translation.getText(TXT_HALLO);
}

Immer wenn jetzt der String "Hallo" verwendet werden soll wird die Variable "TXT_HALLO" verwendet.


Was haltet Ihr davon ?
 

Thallius

Top Contributor
Warum erfindest du das Rad neu?

Ich weiß ja nicht mit welcher IDE du arbeitest aber bei Eclipse muss man nur "Source -> Externalize Strings" anklicken und schon wird genau das für einen automatisch erzeugt.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
P Erste Schritte ResourceBundle getStringArray Methode Java Basics - Anfänger-Themen 11
D java.util.ResourceBundle - exception Java Basics - Anfänger-Themen 4
D Resourcebundle-Strings konkatenieren? Java Basics - Anfänger-Themen 4
G ResourceBundle - Properties Java Basics - Anfänger-Themen 3
B Singleton und Resourcebundle Java Basics - Anfänger-Themen 7
L Sprachauswahl - ResourceBundle Java Basics - Anfänger-Themen 6
V ResourceBundle (& JFormdesigner) Java Basics - Anfänger-Themen 4
D ResourceBundle - zwischen Sprachen wechseln Java Basics - Anfänger-Themen 7
A Problem mit ResourceBundle Java Basics - Anfänger-Themen 2
ruutaiokwu JRE-/JDK-unabhängige PBKDF2WithHmacSHA512-Implementierung Java Basics - Anfänger-Themen 16
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
K Fehler bei der Implementierung Java Basics - Anfänger-Themen 6
J Implementierung gcd();square() Java Basics - Anfänger-Themen 98
J Implementierung von Observer und Singleton-Pattern Java Basics - Anfänger-Themen 9
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
G Projekt architektur (implementierung) Java Basics - Anfänger-Themen 3
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
J Implementierung Listen-ADT Java Basics - Anfänger-Themen 131
J Implementierung eines Zustandsdiagramms Java Basics - Anfänger-Themen 19
I GenericQueue / Implementierung als Ringspeicher Java Basics - Anfänger-Themen 4
MiMa Log4j2 implementierung Java Basics - Anfänger-Themen 4
S Interface Interface und seine Implementierung Java Basics - Anfänger-Themen 5
G Array implementierung Java Basics - Anfänger-Themen 23
J ANTLR Installierung und Implementierung Java Basics - Anfänger-Themen 2
E Hilfe bei Implementierung von Methoden Java Basics - Anfänger-Themen 10
S SkipList Implementierung Java Basics - Anfänger-Themen 1
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
E hashCode implementierung Java Basics - Anfänger-Themen 9
S Implementierung der Klasse Konto und Nutzung bereits vorhandener Klassen Java Basics - Anfänger-Themen 7
H Implementierung eines Interfaces erweitern Java Basics - Anfänger-Themen 13
O Generics - Implementierung Java Basics - Anfänger-Themen 7
A Hilfestellung zur Implementierung des Gaußsches Eliminationsverfahren Java Basics - Anfänger-Themen 4
B OOP Implementierung eines Heaps Java Basics - Anfänger-Themen 13
K Bucketsort Implementierung Java Basics - Anfänger-Themen 0
K Mergesort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
K Quicksort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
S Klassen Klassendiagramm Implementierung? Java Basics - Anfänger-Themen 5
J Bucketsort Implementierung Java Basics - Anfänger-Themen 0
C Stack - listenbasierte Implementierung Java Basics - Anfänger-Themen 4
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
T Collections LinkedList<LinkedList<T>> - Implementierung Java Basics - Anfänger-Themen 10
F Implementierung von Interfaces -> Problem mit main Java Basics - Anfänger-Themen 12
M Implementierung des Knuth-Morris-Pratt-Algorithmus Java Basics - Anfänger-Themen 0
Q Implementierung von Listenern Java Basics - Anfänger-Themen 4
B Klassen Hilfe bei Implementierung Java Basics - Anfänger-Themen 5
N Compiler-Fehler Comparable / compareTo implementierung Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
I Erste Schritte Implementierung der API Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
G Implementierung eines Kontos Java Basics - Anfänger-Themen 11
M Quicksort implementierung Java Basics - Anfänger-Themen 23
SexyPenny90 Implementierung einer doubly linked list Java Basics - Anfänger-Themen 5
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
U Doppelte Interfcae Implementierung Java Basics - Anfänger-Themen 10
K Kleiner Fehler bei Methoden Implementierung Java Basics - Anfänger-Themen 6
M Collections Problem bei Überschreibung von hashcode() und equals() bei Hashset-Implementierung Java Basics - Anfänger-Themen 5
S OOP Implementierung Komposition, Aggregation, Assoziation und Generalisierung Java Basics - Anfänger-Themen 2
C Klassenhirarchien zur Implementierung von Fahrzegen Java Basics - Anfänger-Themen 26
BinaryLogic Datentypen Statistik Interface - untersch. Implementierung Java Basics - Anfänger-Themen 5
E Performante Implementierung eines "Hintergrundprogramms" Java Basics - Anfänger-Themen 10
S Saubere Implementierung Java Basics - Anfänger-Themen 2
K Dijkstra implementierung 2.0 Java Basics - Anfänger-Themen 19
K dijskral implementierung Java Basics - Anfänger-Themen 14
U Probleme mit Server-Client implementierung Java Basics - Anfänger-Themen 5
K Game of Life Implementierung Java Basics - Anfänger-Themen 30
B OOP Problem bei Implementierung von Interface Java Basics - Anfänger-Themen 6
J HashSet Implementierung Java Basics - Anfänger-Themen 16
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
X Frage zur Implementierung von equals() Java Basics - Anfänger-Themen 2
B Effektive Implementierung für Darstellung großer Datenmengen in Jogl Java Basics - Anfänger-Themen 5
D Datentypen Implementierung eines Binärbaumes Java Basics - Anfänger-Themen 7
B Implementierung Java Basics - Anfänger-Themen 2
N Implementierung Tic tac toc Java Basics - Anfänger-Themen 25
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
Y Implementierung einer Potenzturm Funktion Java Basics - Anfänger-Themen 4
S Implementierung gegen Interfaces / List, ArrayList, LinkedList Java Basics - Anfänger-Themen 11
J Quicksort Implementierung-- Exception ArrayOutOfBounds Java Basics - Anfänger-Themen 6
U Implementierung Constructor Java Basics - Anfänger-Themen 7
T Problem mit Implementierung von einer HashMap aufgabe Java Basics - Anfänger-Themen 2
G Implementierung des Observer/Observable Patterns - Gut so? Java Basics - Anfänger-Themen 3
I Zugriff auf Implementierung verhindern Java Basics - Anfänger-Themen 8
D Implementierung nach MVC Java Basics - Anfänger-Themen 6
B Theoretische Frage zum Programmbau (nun zur Implementierung) Java Basics - Anfänger-Themen 8
H Implementierung von Interfaces Java Basics - Anfänger-Themen 4
G Implementierung von Bäumen Java Basics - Anfänger-Themen 2
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
B Wie funktioniert die implementierung von c code in Java? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben