Hier will ich das Langtool von Windapple beschreiben.
:deal:Ich gebe keine Garantie ob das die Effizientesten Methoden sind :bg:
Wir öffnen die Datei "LanguagePack.gml" mit den Editor:
Alles anzeigen
Diese zerstückeln wir in diese 3 Scripte:
1. scr_lang_zaelen
Alles anzeigen
2. scr_lang
3. scr_lang_fopen
Alles anzeigen
Diese 3 Skripe kommen gleich in unser Spiel.
---------------------------------------------------------------------------------------------------
Jetzt öffnen wir die *.exe Datei.
Dort auf "Datei -> Neu Erstellen".
In diesem bekannten Fenster Speicherort, Dateiname und co. eingeben.
Jetzt gebt ihr bei Schlüssel den Variablenname ein, und bei Wert den Text (alles noch auf Deutsch). Dann auf hinzufügen.
Bei mir sieht das in etwa so aus:
(schlüssel = wert)
Sooo, jetzt klicht ihr auf "Datei -> Speichern" und dann "Übersetzung -> Neu erstellen"
Alle fett gedruckten Schlüssel sind noch nicht übersetzt.
Jetzt klickt ihr Schlüssel für Schlüssel durch und schreibt in das Feld "Übersetzter Wert" z. B. die englischen Worte hin.
Wieder: "Übersetzung -> Speichern".
-----------------------------------------------------------------------
Ab ins Spiel, vergewissere dich das Spiel und Übersetzungsdatein im selben Ordner liegen.
Im system/controller/was_auch_immer - Objekt kommt ins Create event:
Ob man die Englische oder die Deutsche Datei braucht kann man mit z.B. einer Abfrage als String in einer Variable weitergeben...
und sonst wird aus:
das:
Ein gutes Verwendungsbeispiel ist "Shoot and Cash".
:deal:Ich gebe keine Garantie ob das die Effizientesten Methoden sind :bg:
Wir öffnen die Datei "LanguagePack.gml" mit den Editor:
GML-Quellcode
- #define ls_count
- /*
- argument0 = Stringrumpf, der gezählt werden soll
- Zählt die Anzahl von Strings mit einem bestimmten Prfäfix. Sehr nützlich, wenn die Übersetzungen
- verschiedene Anzahlen von "Textboxen" für eine vorgegebene Nachricht benötigen.
- */
- var i;
- i=1;
- while ds_map_exists(global.langpack1223,argument0+'_'+string(i))
- i+=1;
- return i-1;
- #define lsg
- /*
- Skript Langstring_get, benutze es um den Text einer Sprache zu bekommen.
- argument0 = Schlüssel des gewünschten Strings
- Gibt den Sprachtext zurück.
- */
- return ds_map_find_value(global.langpack1223,argument0);
- #define lp_load
- /*
- argument0 = einzulesendes Sprachpaket (string)
- Dieses Skript liest eine Sprachdatei in eine Map im Speicher ein.
- */
- var file_id, tmp_string, div_pos;
- file_id=file_text_open_read(argument0);
- global.langpack1223=ds_map_create();
- file_text_readln(file_id);
- while (!file_text_eof(file_id)) {
- tmp_string=file_text_read_string(file_id);
- if (tmp_string!='') {
- div_pos=string_pos('=',tmp_string);
- ds_map_add(global.langpack1223,string_copy(tmp_string,1,div_pos-1),string_copy(tmp_string,div_pos+1,string_length(tmp_string)-div_pos));}
- file_text_readln(file_id);
- }
- file_text_close(file_id);
Diese zerstückeln wir in diese 3 Scripte:
1. scr_lang_zaelen
GML-Quellcode
- /*
- argument0 = Stringrumpf, der gezählt werden soll
- Zählt die Anzahl von Strings mit einem bestimmten Prfäfix. Sehr nützlich, wenn die Übersetzungen
- verschiedene Anzahlen von "Textboxen" für eine vorgegebene Nachricht benötigen.
- */
- var i;
- i=1;
- while ds_map_exists(global.langpack1223,argument0+'_'+string(i))
- i+=1;
- return i-1;
2. scr_lang
3. scr_lang_fopen
GML-Quellcode
- /*
- argument0 = einzulesendes Sprachpaket (string)
- Dieses Skript liest eine Sprachdatei in eine Map im Speicher ein.
- */
- var file_id, tmp_string, div_pos;
- file_id=file_text_open_read(argument0);
- global.langpack1223=ds_map_create();
- file_text_readln(file_id);
- while (!file_text_eof(file_id)) {
- tmp_string=file_text_read_string(file_id);
- if (tmp_string!='') {
- div_pos=string_pos('=',tmp_string);
- ds_map_add(global.langpack1223,string_copy(tmp_string,1,div_pos-1),string_copy(tmp_string,div_pos+1,string_length(tmp_string)-div_pos));}
- file_text_readln(file_id);
- }
- file_text_close(file_id);
Diese 3 Skripe kommen gleich in unser Spiel.
---------------------------------------------------------------------------------------------------
Jetzt öffnen wir die *.exe Datei.
Dort auf "Datei -> Neu Erstellen".
In diesem bekannten Fenster Speicherort, Dateiname und co. eingeben.
Jetzt gebt ihr bei Schlüssel den Variablenname ein, und bei Wert den Text (alles noch auf Deutsch). Dann auf hinzufügen.
Bei mir sieht das in etwa so aus:
(schlüssel = wert)
Sooo, jetzt klicht ihr auf "Datei -> Speichern" und dann "Übersetzung -> Neu erstellen"
Alle fett gedruckten Schlüssel sind noch nicht übersetzt.
Jetzt klickt ihr Schlüssel für Schlüssel durch und schreibt in das Feld "Übersetzter Wert" z. B. die englischen Worte hin.
Wieder: "Übersetzung -> Speichern".
-----------------------------------------------------------------------
Ab ins Spiel, vergewissere dich das Spiel und Übersetzungsdatein im selben Ordner liegen.
Im system/controller/was_auch_immer - Objekt kommt ins Create event:
Ob man die Englische oder die Deutsche Datei braucht kann man mit z.B. einer Abfrage als String in einer Variable weitergeben...
und sonst wird aus:
das:
Ein gutes Verwendungsbeispiel ist "Shoot and Cash".
Ich gebs zu, Masterchief ist nicht besser