Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Übersetzungen mit XML -> So? (https://www.delphipraxis.net/161609-uebersetzungen-mit-xml-so.html)

torud 12. Jul 2011 07:05

Übersetzungen mit XML -> So?
 
Hallo,

da ich gerade ein Programm schreibe, welches in der Datenausgabe mehrsprachig arbeiten muss, würde ich gern wissen, ob das unten stehende Modell so trgbar ist oder wie man es besser machen könnte.

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<translations>
 <item>
  <Item>goal_diff_long</Item>
  <German>Tordifferenz</German>
  <English>Goal difference</English>
  <Polish>bilans bramek</Polish>
 </item>
 <item>
  <Item>coach</Item>
  <German>Trainer</German>
  <English>Coach</English>
  <Polish>trener</Polish>
 </item>
 <item>
  <Item>referee</Item>
  <German>Schiedsrichter</German>
  <English>Referee</English>
  <Polish>sedzia</Polish>
 </item>
 <item>
 <item>
  <Item>missed_next_match</Item>
  <German>Nächstes Spiel gesperrt</German>
  <English>Missed next match</English>
  <Polish>pauzuje w nastepnym meczu</Polish>
 </item>
</translations>

himitsu 12. Jul 2011 07:40

AW: Übersetzungen mit XML -> So?
 
Möglich ist alles (bis auf das doppelte <item>, da unten)

Code:
<item name="goal_diff_long">
  <german>Tordifferenz</german>
  <english>Goal difference</english>
  <polish>bilans bramek</polish>
</item>
via XPath bekommt man dann über "item[name=goal_diff_long]" alle Sprachen
und mit "item[name=goal_diff_long]\German" geziehlt an eine Übersetzung.

oder
Code:
<goal_diff_long>
  <german>Tordifferenz</german>
  <english>Goal difference</english>
  <polish>bilans bramek</polish>
</goal_diff_long>

Ich würde mich aber konsequent für eine Schreibweise entscheiden ... entweder alles Großgeschrieben oder kleingeschrieben.
<ITEM><GERMAN> (OK, das sieht blöd aus)
<Item><German>
<item><german>

FredlFesl 12. Jul 2011 08:14

AW: Übersetzungen mit XML -> So?
 
Schade, das das Schema geändert werden muss, wenn eine Sprache dazukommt.

So ginge es auch:
XML-Code:
<item name="goal_diff_long">
  <translations>
    <translation language="german">Tordifferenz</translation>
    <translation language="english">Goal difference</translation>
    <translation language="polish">bilans bramek</translation>
  <translations>
</item>

s.h.a.r.k 12. Jul 2011 12:36

AW: Übersetzungen mit XML -> So?
 
Ich persönlich würde es in einzlene Dateien aufsplitten, d.h. je Sprache eine Datei. Dann würde eine Datei so aussehen:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<translations language="german">
    <item name="goal_diff_long">Tordifferenz</item>
    <item name="coach">Trainer</item>
    <item name="referee">Schiedsrichter</item>
</translations>
So ließe sich auch sehr leicht eine Weiche im Programm einbauen, ohne mit XPath arbeiten zu müssen etc. Und wenn man eine Sprache nachliefern will, bedarf es nur einer weiteren Datei im "language"-Ordner, keinerlei Änderungen bestehender Dateien.

ele 12. Jul 2011 13:12

AW: Übersetzungen mit XML -> So?
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1111312)
Ich persönlich würde es in einzlene Dateien aufsplitten, d.h. je Sprache eine Datei. Dann würde eine Datei so aussehen:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<translations language="german">
    <item name="goal_diff_long">Tordifferenz</item>
    <item name="coach">Trainer</item>
    <item name="referee">Schiedsrichter</item>
</translations>
So ließe sich auch sehr leicht eine Weiche im Programm einbauen, ohne mit XPath arbeiten zu müssen etc. Und wenn man eine Sprache nachliefern will, bedarf es nur einer weiteren Datei im "language"-Ordner, keinerlei Änderungen bestehender Dateien.

Mit dem Nachteil, dass wenn mal neue Elemente hinzukommen, die Übersetzt werden müssen, X Dateien bearbeitet werden müssen...
Ich persönlich würde (und habe in der Vergangenheit) den Vorschlag nach Art von FredlFesl umsetzen.

Du kannst natürlich auch ein kleines Tool schreiben, welche das erstellen von Übersetzungs-XML-Dateien vereinfacht. Dann wäre es meiner Meinung nach auch möglich der Vorschlag von s.h.a.r.k umzusetzen.

Leider darf ich meine Klassen und Programme zu diesem Thema nicht freigeben (closed source), aber es sollte auch nicht schwer sein sowas selber zu basteln.

s.h.a.r.k 12. Jul 2011 13:17

AW: Übersetzungen mit XML -> So?
 
Zitat:

Zitat von ele (Beitrag 1111323)
Du kannst natürlich auch ein kleines Tool schreiben, welche das erstellen von Übersetzungs-XML-Dateien vereinfacht. Dann wäre es meiner Meinung nach auch möglich der Vorschlag von s.h.a.r.k umzusetzen.

Das mit dem Tool ist imho ein absolutes Muss, da man sonst ja vor allem bei großen Dateien ewige Zeiten rumfrickeln muss, wenn Änderungen anstehen. Hab das einfach mal vorausgesetzt, dass sowas da ist bzw. implementiert wird :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz