# Localization von Java Enums



## Iam_Fiction (28. Oktober 2008)

Hi, wie kann ich denn Enums die ich in meinem Programm verwende lokalisieren? Java bietet ja mit den Klassen Locale und ResourceBundle etc schon eine geeignete Klassensammlung für die Internationalisierung, jedoch wie kann ich damit auch Enums lokalisieren? Oder befinde ich mich mit der Idee auf einem Holzweg und sollte Abstand von dem Gedanken nehmen, da man Enums nicht lokalisiert sondern dies anders umsetzt? Wenn ja wie?

Zudem werden ja bei dem von Sun angestrebten Konzept meist die Internationalisierung in mehrere logische ResourceBundles geteilt. Gibt es einen guten Ansatz der diese anschließend wieder zu einer lang File zusammenpackt oder ähnliches, um eine einfachere Verbreitbarkeit der Locales zu gewährleisten?

Gruß Stefan


----------



## Oliver Gierke (28. Oktober 2008)

Im Endeffekt benutzen ResourceBundles ja nur Strings als Schlüssel. Im Standardfall ist die toString() Representation eines Enums einfach sein Name. Wenn du die Enums also als Schlüssel im Propertiesfile anlegst sollte das tun. 

Gruß
Ollie


----------



## Thomas Darimont (29. Oktober 2008)

Hallo,

schau mal hier:

```
/**
 * 
 */
package de.tutorials;

import java.util.ResourceBundle;

/**
 * @author Thomas.Darimont
 */
public class EnumTranslationExample {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ResourceBundle bundle = ResourceBundle.getBundle(Colors.class.getName());
		System.out.println(bundle.getString(Colors.RED.name()));
	}
	
	enum Colors{
		RED,GREEN,BLUE;
	}
}
```

EnumTranslationExample$Colors_de_DE.properties:

```
RED=rot
BLUE=blau
GREEN=grün
```

Gruß Tom


----------



## Iam_Fiction (29. Oktober 2008)

Super! Herzlichen Dank für eure Antworten  Hat mir sehr geholfen!


----------

