LangFiles v0.1

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • LangFiles v0.1


    Guten Tag.
    wer meine Website ab und zu mal besucht (also keiner), der wird sie seit ca. 1 Woche kennen.
    Meine neueste Include: LangFiles v0.1.


    Vorwort:


    Ich weiß, sowas wird es schon einige Male geben. Das hindert mich aber nicht daran, meine aus Langeweile entstandenen Projekte zu veröffentlichen ;)


    Erklärung zum System:


    Dabei handelt es sich um ein kleines System, das es erlaubt, bestimmte Bereiche im Script oder auch den kompletten Code ohne feste Texte zu scripten.
    In erster Linie ist es dazu gedacht, das Script mehrsprachig halten zu können, ohne jedes Mal alles mehrfach mit if-Abfragen, ...Ex Funktionen mit tausenden Parametern oder sogar Übersetzungen per Google vollzuklatschen.
    Eine kurze Funktion, die durch direkte Eingabe des jeweiligen Sprachkürzels (z.b. "DE" oder "FR", man kann auch eigene Namen verwenden) oder Abfrage der Sprache (z.b. über ein GeoIP-System oder eine Frage an den Spieler) die passende Sprachvariable aus selbstdefinierten Sprachvariablen (in selbst erstellten Dateien, so sind z.b. auch eigene "Sprachen" wie z.b. Klingonisch oder Dialekte möglich (wenn man es nötig hat)) ausliest, ermöglicht es dem Nutzer, über format(...) die Texte individuell anzupassen (Strings, Zahlen usw dazwischenformatieren) und zu ändern/korrigieren, ohne das Script neu kompilen zu müssen (solange die Arraygröße der Strings passt).


    Lange Rede, kurzer Sinn, hier das Beispiel aus der Include: (Ich hab bei dem Text oben selbst mehrmals überlegen müssen :D)
    format(string, sizeof(string), "%s%s%s", GetLangVar("DE", "HelloText"), playername, GetLangVar("DE", "HelloText2"));print(string);
    // Hallo, Peter, willkommen auf unserem Server!


    format(string, sizeof(string), "%s%s%s", GetLangVar("ENG", "HelloText"), playername, GetLangVar("ENG", "HelloText2"));print(string);
    // Hello, Peter, welcome to our server!


    format(string, sizeof(string), "%s%s%s", GetLangVar("JP", "HelloText"), playername, GetLangVar("JP", "HelloText2"));print(string);
    // Kon'nichiwa, Peter, Watashi-tachi no sâba e yôkoso!
    Vorraussetzung ist, dass der Ordner scriptfiles/LangFiles existiert und die jeweilgen Dateien existieren, die bei GetLangVar abgerufen werden. Die Dateien müssen folgendermaßen benannt sein:

    Code
    "[Sprachkürzel].lang" - also z.b. "DE.lang"


    Die Sprachvariablen, wie hier z.b. HelloText und HelloText2 werden wie in einer typischen Godfather.ini Datei gespeichert.
    Beispiel (DE.lang:(

    Code
    HelloText=Hallo, 
    HelloText2=, willkommen auf unserem Server!


    Download:


    LangFiles v0.1 (.rar Paket und Quelltext)
    LangFiles v0.1 // Extern


    Pastebin


    Ich empfehle den Download der .rar Datei, da dort auch Beispieldateien enthalten sind.
    Sollten noch Fragen aufkommen, was ich auch vermute, einfach fragen. Entweder hier oder per PM ;)


    Viel Spaß damit,
    MfG


    PS: Ich verwende das System selbst auch nicht, hab es aber auf jeden Fall mehrmals getestet :D

    Einmal editiert, zuletzt von Meta ()

  • An sich keine schlechte Idee, doch man muss ja trotzdem jeden Text da drin mal abspeichern...

    Das ist klar, dass du die eintragen musst. Tragen sich ja nicht selbst ein ^^
    Die Sache ist nur, dass du alle deine Texte dann beisammen hast. Wenn du dann z.b. die Deutsche Datei hast, nimmst du sie und übersetzt alles auf ... spanisch ^^
    Dann ermöglichst du deinen Spielern, Spanisch zu wählen und die haben alles auf Spanisch, ohne, dass du viel im Script selbst ändern musst.

  • %s%s%s", GetLangVar("DE", "HelloText"), playername, GetLangVar("DE", "HelloText2"))


    hatten wir nicht erst vor paar tagen nen thema darüber, dass es nicht besser wäre, wenn man in der datei machen würde: "Hallo %NAME%, schön, dass du da bist" und dann %NAME% ersetzten, den der satzbau ist in unterschiedlichen sprachen unterschiedlich ;)


    aber sonst nice teil :)

  • %s%s%s", GetLangVar("DE", "HelloText"), playername, GetLangVar("DE", "HelloText2"))


    hatten wir nicht erst vor paar tagen nen thema darüber, dass es nicht besser wäre, wenn man in der datei machen würde: "Hallo %NAME%, schön, dass du da bist" und dann %NAME% ersetzten

    Es geht ja nicht nur um Namen :)


    Code
    ProdsRest1=Das Geschäft besitzt noch 
    ProdsRest2= Produkte.


    format(whatever, sizeof(whatever), "%s%d%s", GetLangVar("DE", "ProdsRest1"), anzahl, GetLangVar("DE", "ProdsRest2"));
    Da hast du's :D

    den der satzbau ist in unterschiedlichen sprachen unterschiedlich ;)

    Dann musst du die Variablen anders benennen, also die nötigen Satzteile in andere Variablen verschieben ^^