Multilinguale Spieltexte
Übersicht

![]() |
M0rgensternBetreff: Multilinguale Spieltexte |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute.
Nachdem ich im Smalltalk ne Diskussion über mutlilinguale Spiele losgetreten habe wollte ich ausprobieren, wie schwierig sowas umzusetzen ist. Ich muss sagen: Es war erstaunlich simpel. Auf jeden Fall dachte ich, dass ich vielleicht nicht der einzige bin, der sowas gebrauchen kann. Also möchte ich den Code einfach hier ins Forum packen. Aber zuerst eine Erklärung: Die Klasse liest erstmal alle vorhandenen Sprachen aus einer Datei aus. Dann liest sie aus einer anderen Datei für jede Sprache die Namen für jede Taste auf der Tastatur aus (sowas kann man ja immer mal gebrauchen). Und zum Schluss liest sie aus noch einer anderen Datei für jede Sprache alle strings aus, die im Spiel genutzt werden sollen. Bei den strings und den Tasten ist darauf zu achten, dass gleiche strings auch die gleiche Kennung (bei Tasten ist das die zugehörige Nummer) haben. Das seht ihr aber unten in der Beispieldatei nochmal. Edit: Habe noch einen Zusatz eingefügt. Die Klasse beherrscht jetzt auch alternative Dateipfade. Dazu benötigt man nur noch eine zusätzliche Datei, die für jede Sprache und jede Datei (die betroffen ist) den Default Pfad und den zu der Sprache zugehörigen Pfad angibt. Code und Download wurden entsprechend angepasst. Also: Beispielprojekt: https://www.blitzforum.de/upload/file.php?id=11675 Code: BlitzMax: [AUSKLAPPEN] Type TTranslator Beispielprogramm: BlitzMax: [AUSKLAPPEN] SuperStrict Die Dateien sehen dann zum Beispiel so aus: Sprachen: Zitat: English
Deutsch Alternative Medienpfade: Zitat: [Deutsch]
Data/gfx/backgrounds/default/TestBack.png=Data/gfx/backgrounds/de/TestBack.png [English] Data/gfx/backgrounds/default/TestBack.png=Data/gfx/backgrounds/en/TestBack.png Beispielstrings: Zitat: [Deutsch]
Score=Punktestand: &1 LifeEnergy=Energie: &1 Stats=Statistik: Energie: &1 | Punktestand: &2 | Leertaste betätigt: &3 [English] Score=Score: &1 LifeEnergy=Energy: &1 Stats=Statistics: Energy: &1 | Score: &2 | Space Presses: &3 Tasten: Code: [AUSKLAPPEN] [English]
Backspace=8 Tab=9 Clear=12 Return=13 Enter=13 Pause=19 Caps Lock=20 Escape=27 Space=32 Page Up=33 Page Down=34 End=35 Home=36 Cursor (Left)=37 Cursor (Up)=38 Cursor (Right)=39 Cursor (Down)=40 Select=41 Print=42 Execute=43 Screen=44 Insert=45 Delete=46 Help=47 0=48 1=49 2=50 3=51 4=52 5=53 6=54 7=55 8=56 9=57 A=65 B=66 C=67 D=68 E=69 F=70 G=71 H=72 I=73 J=74 K=75 L=76 M=77 N=78 O=79 P=80 Q=81 R=82 S=83 T=84 U=85 V=86 W=87 X=88 Y=89 Z=90 Sys key (Left)=91 Sys key (Right)=92 Ziffernblock 0=96 Ziffernblock 1=97 Ziffernblock 2=98 Ziffernblock 3=99 Ziffernblock 4=100 Ziffernblock 5=101 Ziffernblock 6=102 Ziffernblock 7=103 Ziffernblock 8=104 Ziffernblock 9=105 Ziffernblock *=106 Ziffernblock +=107 Ziffernblock /=108 Ziffernblock -=109 Ziffernblock .=110 Ziffernblock /=111 F1=112 F2=113 F3=114 F4=115 F5=116 F6=117 F7=118 F8=119 F9=120 F10=121 F11=122 F12=123 Num Lock=144 Scroll Lock=145 Shift (Left)=160 Shift (Right)=161 Control (Left)=162 Control (Right)=163 Alt key (Left)=164 Alt key (Right)=165 Tilde=192 Minus=107 Equals=109 Bracket (Open)=219 Bracket (Close)=221 Backslash=226 Semicolon=186 Quote=222 Comma=188 Period=190 Slash=191 [Deutsch] Rücktaste=8 Tab=9 Löschen=12 Return=13 Enter=13 Pause=19 Caps Lock=20 Escape=27 Leertaste=32 Bild Aufwärts=33 Bild Abwärts=34 End=35 Home=36 Pfeiltaste (Links)=37 Pfeiltaste (Hoch)=38 Pfeiltaste (Rechts)=39 Pfeiltaste (Runter)=40 Select=41 Drucken=42 Ausführen=43 Bildschirm=44 Einfügen=45 Löschen=46 Hilfe=47 0=48 1=49 2=50 3=51 4=52 5=53 6=54 7=55 8=56 9=57 A=65 B=66 C=67 D=68 E=69 F=70 G=71 H=72 I=73 J=74 K=75 L=76 M=77 N=78 O=79 P=80 Q=81 R=82 S=83 T=84 U=85 V=86 W=87 X=88 Y=89 Z=90 Systemtaste (Links)=91 Systemtaste (Rechts)=92 Ziffernblock 0=96 Ziffernblock 1=97 Ziffernblock 2=98 Ziffernblock 3=99 Ziffernblock 4=100 Ziffernblock 5=101 Ziffernblock 6=102 Ziffernblock 7=103 Ziffernblock 8=104 Ziffernblock 9=105 Ziffernblock *=106 Ziffernblock +=107 Ziffernblock /=108 Ziffernblock -=109 Ziffernblock .=110 Ziffernblock /=111 F1=112 F2=113 F3=114 F4=115 F5=116 F6=117 F7=118 F8=119 F9=120 F10=121 F11=122 F12=123 Num Lock=144 Scroll Lock=145 Shift (Links)=160 Shift (Rechts)=161 Steuerung (Links)=162 Steuerung (Rechts)=163 Alt=164 AltGr=165 Tilde=192 Minus=107 Gleich=109 Klammer (Offen)=219 Klammer (Geschlossen)=221 Backslash=226 Semicolon=186 Quote=222 Komma=188 Punkt=190 Slash=191 Lg, M0rgenstern Edit v BladeRunner: Habe mir erlaubt die Tastendingsis in eine Codebox zu packen damit der Post nicht so ewig lang ist. Edit von M0rgenstern: Wünsche Eingebaut. |
||
- Zuletzt bearbeitet von M0rgenstern am Fr, Apr 27, 2012 15:57, insgesamt 2-mal bearbeitet
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Schaut subba aus ![]() Allerdings hab ich als absoluter fauler mensch dann doch was zu bemängeln: BlitzMax: [AUSKLAPPEN] TTranslator.GetFixedString("Stats", TTranslator.sCurrentLanguage, sArray3)
TTranslator.sCurrentLanguage ist in 99% der fälle wahrscheinlich das, was man nutzen möchte. Daher mein faulheitsvorschlag: Dreh die parameter um! BlitzMax: [AUSKLAPPEN] Function GetFixedString:String(psStringName:String, psVariables:String[], psLanguage:String = "") Dann isses doch absolut perfekt ![]() ![]() Ansonsten: Danke fürs teilen, super arbeit =) |
||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey PhillipK:
Habe das ganze umgebaut. Hast schon Recht, ist wirklich angenehmer so. Keine Ahnung, warum ichs in die Mitte gesteckt hatte, bei den anderen wars auch am Ende. Lg, M0rgenstern |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group