Lokalisierung - Möglichkeiten...
-
Danke werd ich mir mal ansehen.
Allerdings hasse ich jegliches unnützes Zeug, und sei es eine einzige Funktion.
Sorry, mein PerfektionismusAber dürfte doch nicht so schwer sein... Muss ja wirklich nur das können was ich beschrieben habe. Statt einen String zu schreiben halt auf eine Resource verweisen.
MfG
-
Hey schrieb:
Danke werd ich mir mal ansehen.
Allerdings hasse ich jegliches unnützes Zeug, und sei es eine einzige Funktion.
Sorry, mein PerfektionismusAber dürfte doch nicht so schwer sein... Muss ja wirklich nur das können was ich beschrieben habe. Statt einen String zu schreiben halt auf eine Resource verweisen.
MfG
Was du willst ist eine Ressourcen-DLL welche nur Strings enthält und per Nummer identifiziert wird. Wenn du das ganze mit Visual Studio entwickelst ist das sehr einfach über den Ressourcen-Editor zu realisieren.
Ansonsten scheinst du nicht lokalisieren zu wollen, sondern nur zu übersetzen. Denn zur Lokalisierung gehören auch so Dinge wie Formatierung von Uhrzeit, Datum, Zahlen, Geldbeträge, ... und dann natürlich noch die Textrichtung. Außerdem musst du auch die Textgröße beachten. I.A. wird deine deutsche Version mehr Platz für Text verbrauchen als es in der englischen Version nötig ist.
Nur um mal ein paar Beispiele zu nennen.Übrigens bietet auch C++ schon eine Lokalisierungsunterstützung, sogar das was du willst nämlich einen String in der gewünschten Sprache aufzufinden. Allerdings ist das Framework nur ein Gerüst das ganze 'Meat' muss man selber implementieren. Aber das nur nebenbei...
-
Hey schrieb:
Ich möchte halt nicht Nummern zum ansprechen der Texte verwenden.
Standard ist Englisch und die Klasse gibt dann den entsprechenden String zurück jenachdem welche Sprache vorher eingestellt wurde:Tippgeber schrieb:
Was du willst ist eine Ressourcen-DLL welche nur Strings enthält und per Nummer identifiziert wird. Wenn du das ganze mit Visual Studio entwickelst ist das sehr einfach über den Ressourcen-Editor zu realisieren.
Wer lesen kann, ist klar im Vorteil. Außerdem hat er keinerlei Plattform erwähnt und eine DLL (Resourcen-DLL an sich) für Lokalisierung zu verwenden ist schlichtweg overkill...
-
devkid schrieb:
Hey schrieb:
Ich möchte halt nicht Nummern zum ansprechen der Texte verwenden.
Standard ist Englisch und die Klasse gibt dann den entsprechenden String zurück jenachdem welche Sprache vorher eingestellt wurde:Tippgeber schrieb:
Was du willst ist eine Ressourcen-DLL welche nur Strings enthält und per Nummer identifiziert wird. Wenn du das ganze mit Visual Studio entwickelst ist das sehr einfach über den Ressourcen-Editor zu realisieren.
Wer lesen kann, ist klar im Vorteil. Außerdem hat er keinerlei Plattform erwähnt und eine DLL (Resourcen-DLL an sich) für Lokalisierung zu verwenden ist schlichtweg overkill...
Da dir offensichtlich die Ressourcen-DLLs ein Begriff sind weißt du auch sicher, dass die Nummer normal nicht von einem Programmierer verwaltet wird und er diese auch nie anfassen muss...
-
@Tippgeber
"Resource" meinte ich allgemein, sorry. Soll einfach in eine Textdatei würd ich meinen, ist wohl das einfachste. Die Textdatei könnte ich dann ja in die .exe einbinden.
Ja stimmt, eher übersetzen wobei deine genannten Beispiele für mein Programm bis auf die Textgröße irrelevant sind.Trotzdem interessiert mich: Wie wäre denn eine richtige Lokalisierung zu implementieren?
C++ bietet Unterstützung? Welche denn?
Jedenfalls wäre eine ständige Stringsuche mit dem Index-Operator auch irgendwie overkill, da müsste ich noch verbessern, hmm...
Ach, aber da ich sowieso keine Windows Controls verwende sondern das GUI selbst zeichne, werde ich auch einen Editor erstellen. Dort könnte ich dann gleich die Texte definieren und den Controls zuweisen. Jeder Text und jedes Control mit einer ID und bei Sprachenwechsel wird jedes Control durchiteriert und der Text entsprechend geändert.
Ich denke, so mache ich es...
MfG
-
Tippgeber schrieb:
Übrigens bietet auch C++ schon eine Lokalisierungsunterstützung, sogar das was du willst nämlich einen String in der gewünschten Sprache aufzufinden. Allerdings ist das Framework nur ein Gerüst das ganze 'Meat' muss man selber implementieren. Aber das nur nebenbei...
Ach ja?
Na dann zeig mal her!
-
hustbaer schrieb:
Tippgeber schrieb:
Übrigens bietet auch C++ schon eine Lokalisierungsunterstützung, sogar das was du willst nämlich einen String in der gewünschten Sprache aufzufinden. Allerdings ist das Framework nur ein Gerüst das ganze 'Meat' muss man selber implementieren. Aber das nur nebenbei...
Ach ja?
Na dann zeig mal her!Geh in eine Bibliothek und blätter mal ein wenig in Standard C++ IOStreams and Locales | ISBN: 0201183951, da steht alles über die IOStreams und Locales drin.
-
devkid schrieb:
ine DLL für Lokalisierung zu verwenden ist schlichtweg overkill...
rofl halts m0wl wenn du keine ahnung hast. das is standard technik und was is daran "overkill" rofl.
-
Du bist lustig.
Wie kann ich denn mit iostreams und locales einen String in der gewünschten Sprache auffinden?
-
hustbaer schrieb:
Du bist lustig.
Wie kann ich denn mit iostreams und locales einen String in der gewünschten Sprache auffinden?Ich weiß nicht worauf du herumhacken willst, daher spiel ich mal mit:
es gibt ein "standard facet" namens "messages"