Moin zusammen !
Ich habe hier ein kleines Problem wo ich mal eure Hilfe bräuchte bzgl. möglichem Umsetzungsvarianten und Best Practice.
Ein Programm soll mehrsprachig programmiert werden. Diverse Standardsprachen werden werden als Resourcen innerhalb der JAR im src Ordner mit ausgeliefert.
Der Anwender soll die Möglichkeit haben weitere Sprachen / Varianten hinzuzufügen. Diese werden außerhalb der JAR in einem separaten Ordner abgelegt (in meinem Fall im Home Verzeichnis in einem versteckten Ordner).
Die Auswahl der entsprechenden Datei im Programm funktioniert auch, aber das Problem ist, da sich die Property Files in unterschiedlichen Ordner befinden funktioniert die unten aufgeführte Ladestrategie bei fehlenden Schlüsseln nicht.
Ich hoffe das Problem ist verständlich.
Was wäre jetzt hier die BestPractice das so umzusetzen das die Ladestrategie wieder funktioniert ?
1.
In der API habe ich nirgends eine Möglichkeit gefunden 2 unterschiedliche Ordner als Quelle für das RessourceBundle anzugeben. Falls es doch eine Möglichkeit gibt dann gebt mir bitte einen Hinweis, das wäre dann wahrscheinlich die beste Lösung
2.
Alternativ könnte ich zur Laufzeit sämtliche Property Files in EINEN externen, temporären Ordner kopieren, nur auf diesen Ordner zugreifen und diesen bei Programmende wieder löschen.
3.
Eine weitere Möglichkeit wäre statt über ResourceBundle die Properties-Klasse zu nutzen. Hier könnte ich für jede Locale ein Properties Objekt erstellen und diese dann entsprechend der gewünschten Ladestrategie miteinander verketten.
Vielen Dank für eure Hilfe !
Ich habe hier ein kleines Problem wo ich mal eure Hilfe bräuchte bzgl. möglichem Umsetzungsvarianten und Best Practice.
Ein Programm soll mehrsprachig programmiert werden. Diverse Standardsprachen werden werden als Resourcen innerhalb der JAR im src Ordner mit ausgeliefert.
Der Anwender soll die Möglichkeit haben weitere Sprachen / Varianten hinzuzufügen. Diese werden außerhalb der JAR in einem separaten Ordner abgelegt (in meinem Fall im Home Verzeichnis in einem versteckten Ordner).
Die Auswahl der entsprechenden Datei im Programm funktioniert auch, aber das Problem ist, da sich die Property Files in unterschiedlichen Ordner befinden funktioniert die unten aufgeführte Ladestrategie bei fehlenden Schlüsseln nicht.
- bundleName_localeLanguage_localeCountry_localeVariant
- bundleName_localeLanguage_localeCountry
- bundleName_localeLanguage
- bundleName_defaultLanguage_defaultCountry_defaultVariant
- bundleName_defaultLanguage_defaultCountry
- bundleName_defaultLanguage
- bundleName
Ich hoffe das Problem ist verständlich.
Was wäre jetzt hier die BestPractice das so umzusetzen das die Ladestrategie wieder funktioniert ?
1.
In der API habe ich nirgends eine Möglichkeit gefunden 2 unterschiedliche Ordner als Quelle für das RessourceBundle anzugeben. Falls es doch eine Möglichkeit gibt dann gebt mir bitte einen Hinweis, das wäre dann wahrscheinlich die beste Lösung
2.
Alternativ könnte ich zur Laufzeit sämtliche Property Files in EINEN externen, temporären Ordner kopieren, nur auf diesen Ordner zugreifen und diesen bei Programmende wieder löschen.
3.
Eine weitere Möglichkeit wäre statt über ResourceBundle die Properties-Klasse zu nutzen. Hier könnte ich für jede Locale ein Properties Objekt erstellen und diese dann entsprechend der gewünschten Ladestrategie miteinander verketten.
Vielen Dank für eure Hilfe !