ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
430
430
EMPFEHLEN
-
Hallo,
ich möchte für mein mit einer Sprachdatei in XML umsetzen. Alle Texte etc. sind in dieser Datei dann enthalten.
Nachdem ich mir den Aufbau der XML Datei überlegt habe und mir auch schon die von z.B. Notepad++ angeschaut habe ich mal zwei Entwürfe gemacht.
Als Beispiel sind dort die Texte für das Menu und deren Items enthalten.
Erster:
Code xml:1 2 3 4 5 6 7 8 9 10 11 12 13
<Content> <Menu> <Item ID="1">Datei</Item> <Item ID="2">Bearbeiten</Item> <Item ID="3">Hilfe</Item> </Menu> <MenuItem> <Item menuID="1" ID="1">Neu</Item> <Item menuID="1" ID="2">Schließen</Item> <Item menuID="2" ID="3">Rückgängig</Item> <Item menuID="2" ID="4">Wiederherstellen</Item> </MenuItem> </Content>
Zweiter:
Code xml:1 2 3 4 5 6 7 8 9 10 11 12 13 14
<Content> <Menu> <Item ID="1" name="Datei"> <MenuItem ID="1" name="Neu" /> <MenuItem ID="2" name="Öffnen" /> <MenuItem ID="3" name="Schließen" /> </Item> <Item ID="2" name="Bearbeiten"> <MenuItem ID="1" name="Rückgängig" /> <MenuItem ID="2" name="Wiederherstellen" /> </Item> <Item ID="3" name="Hilfe"></Item> </Menu> </Content>
Beim 1. ist der Vorteil das jedes Item bei MenuItem eindeutig über die ID ist. Der Nachteil wenn ich jetzt beim 1. bei MenuItem das Item "Öffnen" einfügen will, bekommt es die ID 5, obwohl es eigentlich an 2ter Stelle sollte unter "Neu".
Beim 2. ist der Vorteil das man sofort erkennt welches MenuItem zu welchem Menu gehört. Der Nachteil ist das man alleine an der MenuItem ID das Item nicht eindeutig ist.
Was ist die bessere Lösung oder habt ihr vielleicht vorschläge?
-
Moin,
wenn es bei dieser Sprachdatei wirklich primär darum gehen soll, alle Texte dort abzuspeichern, finde ich diese Ansätze eigentlich als untauglich
Es sollte dann unerheblich sein, ob etwas zum Menu gehört, oder sonstwohin. Die Struktur deines Menues und anderer Inhalte solltest du woanders verwalten.
Ich würde da eher an soetwas denken:
...Du kannst da jedes Phrase anhand des Elementnamens selektieren, und bist auch vorbereitet auf Mehrsprachigkeit.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
<lang> <edit> <de>Bearbeiten</de> <en>edit</en> </edit> <new> <de>Neu</de> <en>new</en> </new> <close> <de>Schliessen</de> <en>close</en> </close> </lang>
-
Hallo,
warum machst Du es nicht wie im Rechnungswesen ala Kontenplan(nummern)?
Als0 zb.
Kundenkonto: 2300
Kunde: 3
dann wird ein Account/Buchungsnummer dann 23003 ...
usw.
Gruß
jens
-
Hallo,
das verstehe ich überhaupt nicht:
Da in einem XML-Dokument die Reihenfolge der Elemente relevant ist, könnte man es auch folgendermaßen machen:
... wobei ich den Vorschlag von Sven viel übersichtlicher finde.Code xml:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
<Menu> <Item> <name lang="de">Datei</name> <name lang="en">File</name> <Item> <name lang="de">Neu</name> <name lang="en">New</name> </Item> <Item> <name lang="de">Öffnen</name> <name lang="en">Open></name> </Item> <Item> <name lang="de">Schließen</name> <name lang="en">Close</name> <!-- über folgenden XPath-Ausdr. erreichbar: /Menu/Item[1]/Item[3]/name[@lang='en'] --> </Item> </Item> <Item> <name lang="de">Bearbeiten"</name> <name lang="en">Edit</name> <Item> <name lang="de">Rückgängig</name> <name lang="de">Undo</name> </Item> <Item> <name lang="de">Wiederherstellen</name> <name lang="en">Redo</name> </Item> </Item> <Item> <name lang="de">Hilfe</name> <name lang="en">Help</name> </Item> </Menu>
-
Hallo, Danke erstmal für eure Antworten.
Was mit bei Sven's Lösung nicht gefällt ist das man dann im Programm über Strings zum Text navigieren würde. Wobei ich es gut finde das die Texte unabhängig vom Layout sind.
@Hela: Was ich gemeint hab in meinem ersten Post war, das z.B. das MenuItem "Schließen" nur dann eindeutig über die ID ist, wenn es mit der ID des Menu's "Datei" zusammengebracht wird. Also 1 & 3.
-
-
Hallo,
muss es denn unbedingt XML sein? Ansonsten könntest du auch eine etablierte, getestete Komponente wie gettext einsetzen.
Im Übrigen stimme ich Sven zu: die Menüstruktur hat in der Übersetzungsdatei nichts zu suchen.
@Sven: Mit deinem Vorschlag bin ich allerdings nicht ganz einverstanden. Die Tagnamen als Daten zu missbrauchen macht es schwierig, die XML-Dateien mit einer DTD/XSD zu validieren. Man müsste bei jeder neuen Phrase und Sprache die DTD/XSD aktualisieren. Ich würde vorschlagen, mit einem festen Satz von Tags zu arbeiten:
Die Phrasen werden (ähnlich wie bei gettext) über ihre englische Übersetzung identifiziert. Außerdem bekommt jede Sprache ihre eigene XML-Datei (in der Regel will man sowieso nur eine Sprache gleichzeitig benutzen, also warum sollte man alle anderen auch laden?).Code xml:1 2 3 4 5 6 7
<?xml version="1.0" encoding="utf-8"?> <translation xml:lang="de"> <message id="File">Datei</message> <message id="New">Neu</message> <message id="Close">Schließen</message> <!-- etc. --> </translation>
Die Qt-Bibliothek verwendet übrigens auch ein XML-Format für Übersetzungen.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
-
Hallo,
erstmal vielen Dank für die Antworten.
@Sven: Ich habe das so gemeint: Ich finde es besser wenn ich eine Methode getItem() habe, der ich als Parameter eine ID als Zahl übergebe anstatt ein String wie "edit". Aber das ist eigentlich nur meine persönliche Meinung.
Das mit gettext ist auch eine Idee, die mir bisher noch nicht bekannt war.
Ich finde es mit einer XML Datei einfach sehr einfach und elegant, den diese kann man überall öffnen und bearbeiten. Somit kann leicht von anderen Usern die Datei in eine andere Sprache übersetzt werden.
Das man die Menu-Struktur vielleicht lieber nicht in die Datei machen sollte habt ihr wahrscheinlich recht. Es sieht halt so Übersichtlicher aus, man findet sehr leicht das, was man sucht. Man muss hinzu sagen das nicht nur Menu in die Datei mit aufgenommen wird, alles was an Text auffällt kommt rein, also Buttons, Tooltip, Titel etc.Geändert von zer0 (19.08.10 um 19:09 Uhr)
Ähnliche Themen
-
Sprachdatei für C4D 11
Von shurikn im Forum Cinema 4DAntworten: 2Letzter Beitrag: 06.06.09, 13:02 -
FrontPage-Deutsche Sprachdatei
Von Siegmund im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 23.03.05, 16:59 -
FrontPage-Deutsche Sprachdatei
Von Siegmund im Forum HTML-EditorenAntworten: 1Letzter Beitrag: 23.03.05, 16:18 -
AW: Deusche Sprachdatei für Photoshop
Von renderblack im Forum PhotoshopAntworten: 5Letzter Beitrag: 02.06.04, 13:42 -
Deutsche Sprachdatei Photoshop 7.0
Von funnytommy im Forum PhotoshopAntworten: 1Letzter Beitrag: 31.05.04, 14:57





Zitieren



Login




