Verbesserung
Top-Thema
Wichtig
Kleinigkeit
Wichtig
Ein literaler Resource-Key #("Hallo"@de, "Hello"@en) enthält bisher nur seine Übersetzungen (aber keinen Key - er wird ja nie in den Übersetzungstabellen nachgeschlagen).
Möchte man einen literalen Resource-Key allerdings dafür verwenden eine an der GUI eingegebene Übersetzung in den Übersetzungstabellen zu speichern, kann es sinnvoll sein, wenn man auch den Key mit in das Literal kodieren kann, unter dem die so eingegebenen Übersetzungen später abgelegt werden sollen (den Key dessen existierende Übersetzungen mit den neuen Übersetzungen überschrieben werden sollen).
Verwendung
#!java Builder builder = ResKey.builder("my.key"); builder.add(en(), "foo"); builder.add(de(), "bar"); ResKey key = builder.build();
Dann liefert key.getKey() den Wert my.key.
Außerdem ist ein besseres XML-Format für Resource-Keys notwendig, wenn man literale Keys verwenden möchte, um die aktuellen Übersetzungen (mit) zu exportieren:
Statt <a text='#("foo"@en, "bar"@de)'/> besser:
#!xml <a> <text> <en>foo</en> <de>bar</de> </text> </a>
Dieses Format kann auch einen Ziel-Key mitspeichern:
#!xml <a> <text key="my.key"> <en>foo</en> <de>bar</de> </text> </a>
Test
- test.com.top_logic.basic.util.TestResKeyXMLBinding