Java-Resource-Pakete

SDL Passolo erkennt und verarbeitet sowohl ListResourceBundles als auch ArrayResourceBundles.

Dabei berücksichtigt Passolo sowohl die Struktur der Klasse als auch den Namen der Basisklasse, der in der Regel ListResourceBundle oder ArrayResourceBundle lautet. Damit Passolo auch ResourceBundles verarbeitet, die von anderen Basisklassen abgeleitet sind, können in den Einstellungen des Java Add-In weitere Basisklassen definiert werden.

Wie bei Java-Property-Dateien können die Quelltextdateien sowohl im ANSI- als auch im UNICODE-Format vorliegen und werden nach der Übersetzung im gleichen Format, gegebenenfalls unter Berücksichtigung der Ziel-Codepage, ausgegeben. Kompilierte ResourceBundles sind hingegen immer in UNICODE kodiert.

Ein weiterer wichtiger Unterschied zwischen Quelltext-Ressourcen und kompilierten ResourceBundles besteht in der Code-Optimierung, die Auswirkungen auf die Lokalisierung haben kann. Wird die folgende Quelltextdatei mit Passolo lokalisiert, können beide Einträge bearbeitet und – möglicherweise verschieden – übersetzt werden.
import java.util.ListResourceBundle;  public class Passolo extends ListResourceBundle { static final Object[][] resources = { {"SEARCH_COMMAND", "Search"}, {"FIND_COMMAND", "Search"} };  public Object[][] getContents() { return resources; } }

Die kompilierte Version der Klasse enthält jedoch den Text „Search“ nur noch einmal, da der Code-Optimierer nur einen der beiden identischen Text-Konstanten übernimmt. Deshalb kannPassolo nur noch eine Zeile anzeigen und beide Texte müssen gleich übersetzt werden.