diff --git a/src/main/java/de/neemann/digital/core/element/Key.java b/src/main/java/de/neemann/digital/core/element/Key.java index 46953fdc5..471be05d3 100644 --- a/src/main/java/de/neemann/digital/core/element/Key.java +++ b/src/main/java/de/neemann/digital/core/element/Key.java @@ -68,7 +68,7 @@ public class Key { * @return the keys description */ public String getDescription() { - String d=Lang.getNull(langKey + "_tt"); + String d = Lang.getNull(langKey + "_tt"); if (d != null) return d; else @@ -162,7 +162,17 @@ public class Key { names = new String[values.length]; for (int i = 0; i < values.length; i++) - names[i] = Lang.get("key_" + key.replace(" ", "") + "_" + values[i].name()); + names[i] = Lang.get(getLangKey(values[i])); + } + + /** + * creates the language key for the enum values + * + * @param value the value + * @return the language key + */ + public String getLangKey(E value) { + return getLangKey() + "_" + value.name(); } /** diff --git a/src/test/java/de/neemann/digital/lang/TestKeyConsistence.java b/src/test/java/de/neemann/digital/lang/TestKeyConsistence.java index a3adb7ccd..49bb6089b 100644 --- a/src/test/java/de/neemann/digital/lang/TestKeyConsistence.java +++ b/src/test/java/de/neemann/digital/lang/TestKeyConsistence.java @@ -31,6 +31,12 @@ public class TestKeyConsistence extends TestCase { Key key = ((Key) f.get(null)); checkKey(key.getLangKey()); checkKey(key.getLangKey() + "_tt"); + + if (key instanceof Key.KeyEnum) { + Key.KeyEnum ke = (Key.KeyEnum) key; + for (Enum v : ke.getValues()) + checkKey(ke.getLangKey(v)); + } } }