Reggie() Geschrieben 25. Mai 2018 Melden Share Geschrieben 25. Mai 2018 Hi, es geht nun in die heisse Phase der Planung meines ersten Spiels. Ich denke es macht Sinn eine Mehrsprachige Version d/eng von Beginn an zu planen, oder? Ich würde so vorgehen Alle Strings speichere ich in eine Text-Datei. Bei den Spracheinstellngen im Spiel werden dann alle Strings aus der entsprechenden Sprachdatei gelesen. Vorteil: Für jede neue Sprache brauche ich nur die Texte in der Datei übersetzen. Oder gibt es dafür eine andere, einfacherere Methode? Reggie() Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thewhiteshadow Geschrieben 25. Mai 2018 Melden Share Geschrieben 25. Mai 2018 Professionelle Multilanguage-Frameworks machen es auch nicht anders. Meißtens noch mit Dependency-Injection (falls die das was sagt). Das komplizierteste dürfte hierbei das Beschriften von Buttons und dergleichen sein, aber auch nichts, was man durch gute Vorabüberlegung nicht lösen könnte. Ich könnte die noch vorschlagen den Asset-Store zu durchsuchen, falls du noch nicht selbst drauf gekommen bist.^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Reggie() Geschrieben 25. Mai 2018 Autor Melden Share Geschrieben 25. Mai 2018 wie schnell geht denn das Einlesen einer Datei? kann ich das on-demand im Programm machen oder sollte ich das zu Spielbeginn komplett einlesen und in static variablen speichern? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thewhiteshadow Geschrieben 25. Mai 2018 Melden Share Geschrieben 25. Mai 2018 zum Spielstart werden gigabytes geladen. Wie groß wird deine Textdatei schon werden? Vergleich es mit nem ebook. also maximal 1-2 mbytes für ein ausgereiftes Rollenspiel. Lege eine pro Szene an (+ eine für Systemtexte) und lade die Datei jeweis zu beginn. Ist auch übersichtlicher als alles in einer. Wenn dein Spielkonzept nur wenig Text hat, macht das Aufteilen natürlich keinen Sinn. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Thariel Geschrieben 26. Mai 2018 Melden Share Geschrieben 26. Mai 2018 Bei meinem Spiel Lost in Nature verwende ich auch eine Textdatei. Die sieht ungefähr so aus: $BUTTON_OK=Ok $ITEM_NAME_STONE=Stein $ITEM_DESC_STONE=Ein ganz normaler Stein. Davon gibt es für jede Sprache eine eigene Datei. In Unity habe ich dann statt den richtigen Text für den Button $BUTTON_OK genommen. Auf dem Canvas GameObject liegt ein Script das alles automatisch übersetzt indem es alle wichtigen Komponenten durchgeht: void Start() { Text textArray = GetComponentsInChildren<Text>(true); foreach (Text text in textArray) { text.text = Localization.Get(text.text); } } Dann das selbe noch mit Button. Die Funktion Localization.Get ist eine statische Klasse, die vorher die Textdatei gelesen hat (nur einmal beim Spielstart) und den Inhalt in ein Dictionary<string,string>() speichert aus den geforderten Content zurück gibt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thewhiteshadow Geschrieben 27. Mai 2018 Melden Share Geschrieben 27. Mai 2018 Ein kleiner Hinweis. Manche Frameworks verwenden den englischen Text als Schlüssel. Damit sind Teilübersetzungen auch verwendbar und falls alle Stricke reißen kann man es trotzdem noch lesen. Vor allem auch im Editor. stone=Stein start new game=Neues Spiel starten Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.