# Umlaute



## Gast2 (7. Dez 2009)

Hallo zusammen,

ich hab ein Problem mit den Umlauten sobald ich meinen eclipse RCP mit dem eclipse build baue und die exe starte sind alle Umalute komisch...
Wenn ich es aus eclipse rausstarte klappt alles, es ist UTF-8 eingestellt.

Wie macht ihr das mit Umlauten? Oder kann ich beim builden noch was einstellen?


----------



## Wildcard (7. Dez 2009)

Java Property Files sollen ISO Encoded sein und Unicodes (und eben auch Umlaute) werden per Unicode Entity eingetragen. Am besten du überlässt das dem Tooling:
Eclipse ResourceBundle Editor | Get Eclipse ResourceBundle Editor at SourceForge.net


----------



## Gast2 (8. Dez 2009)

Wildcard hat gesagt.:


> Java Property Files sollen ISO Encoded sein und Unicodes (und eben auch Umlaute) werden per Unicode Entity eingetragen. Am besten du überlässt das dem Tooling:
> Eclipse ResourceBundle Editor | Get Eclipse ResourceBundle Editor at SourceForge.net



Danke für das Plugin muss ich mir morgen mal anschaun...
Aber mit diesem eintrag im in der build.properties klappts auch

```
javacDefaultEncoding.. = UTF-8
```


----------



## Gast2 (11. Dez 2009)

Der Bundleeditor funktioniert gut danke nochmal...

Kann man sich mit dem auch gleich die Klasse generieren lassen wie er ein key ausliest und Platzhalter({0} {1} etc.) einfügt?


----------



## Wildcard (11. Dez 2009)

Dafür gibt es doch schon die Externalize String Funktion. Damit erzeugst du die initiale Properties Datei und mit Resource Bundle Editor übersetzt du die Properties Datei in n Sprachen.


----------



## Gast2 (12. Dez 2009)

Wildcard hat gesagt.:


> Dafür gibt es doch schon die Externalize String Funktion. Damit erzeugst du die initiale Properties Datei und mit Resource Bundle Editor übersetzt du die Properties Datei in n Sprachen.



Ja mit der hab ich es mit auch erzeugen lassen aber irgendwie fehlt mir da die methode, in der man die platzhalter einfügen kann...


----------



## Wildcard (13. Dez 2009)

Was meinst du mit Platzhalter einfügen? Die baut man normalerweise von Anfang an ein:

```
MessageFormat.format("my string to externalize {0} some  {1}", "with", "parameters");
```


----------



## Gast2 (13. Dez 2009)

Ah ok super die Klasse hilft mir echt weiter...

Was mir noch aufgefallen ist die Funktion macht mit bei Java-Projekten und bei Plugins unterschiedliche Klassen... welche findest du besser??


```
public class Messages {
	private static final String BUNDLE_NAME = "messages"; //$NON-NLS-1$

	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
			.getBundle(BUNDLE_NAME);

	private Messages() {
	}

	public static String getString(String key) {
		try {
			return RESOURCE_BUNDLE.getString(key);
		} catch (MissingResourceException e) {
			return '!' + key + '!';
		}
	}
}
```


```
import org.eclipse.osgi.util.NLS;

public class Messages extends NLS {
	private static final String BUNDLE_NAME = "test.messages"; //$NON-NLS-1$
	public static String TEXT_1;
	public static String TEXT_2;
	public static String TEXT_3;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
```


----------



## Wildcard (13. Dez 2009)

Ich finde die Eclipse Variante besser (die zweite), weil dabei automatisch überprüft werden kann ob 
1. jeder String in jeder Sprache vorliegt
2. alle Strings auch gebraucht werden
3. Du keine falschen Keys verwenden kannst


----------



## Gast2 (14. Dez 2009)

Wildcard hat gesagt.:


> Ich finde die Eclipse Variante besser (die zweite), weil dabei automatisch überprüft werden kann ob
> 1. jeder String in jeder Sprache vorliegt
> 2. alle Strings auch gebraucht werden
> 3. Du keine falschen Keys verwenden kannst



Gute Argumente...
Machst bei deinen Anwendungen für jedes package eine eigene propertie oder eine für die ganze Anwendungen eine?


----------



## Wildcard (14. Dez 2009)

Eine, das liegt aber an externen Anforderungen


----------

