#1 [Programm] Benennungshelferchen von Nharun 30.12.2020 12:11

avatar

Da ich mit Okaru gerade eine mir größtenteils unbekannte Gegend meiner Welt bearbeite und wieder einmal viel Zeug zu benennen habe, habe ich mir ein kleines Programm zusammengeschrieben, um mir bei diesem Vorhaben zu helfen. Auch wenn das mit Sicherheit nicht für jeden nützlich ist, möchte ich das Programm hier mit euch teilen - vielleicht kann jemand von euch es ja doch gebrauchen.

Hinweis


Das Programm ist mit Lazarus programmiert (und das sicherlich nicht ganz so gut), aber es funktioniert und enthält laut meinem Virenscanner auch keine Viren; eine registrierte Signatur besitzt das Programm natürlich nicht, weshalb Windows und/oder Virenscanner da natürlich meckern könnten.

Inhalt des Zip-Files


Das Zip-File enthält eine EXE-Datei (das Programm selbst) und einen "data"-Ordner, in dem sich als Beispiel der Ordner "Tshjin" und eine "PatternListExample.txt" befinden. Der "Tshjin"-Ordner enthält 36 TXT-Files mit Beispieldaten.

Das Programm benutzen


Schritt 1: Eine Sprache wählen


Klicke als Erstes auf den Button "Select Language", um eine Sprache zu wählen. Es öffnet sich ein Dialog in dem du jetzt irgendeine Datei aus dem Ordner der gewünschten Sprache auswählst. Es ist völlig egal, welche Datei du wählst, weil das Programm die Datei selbst ignoriert und sich nur den Pfad merkt [Dieses Vorgehen war das einfachste und schnellste, das mir eingefallen ist ].

Beispiel: Wähle "Adj_GER.txt" in \data\Tshjin\ um den Ordner "Tshjin" im Programm zu wählen.

Schritt 2: Ein Muster erstellen


Um einen Namen zu generieren, musst du dem Programm mindestens ein Muster anbieten, nachdem es arbeiten kann. Dafür hast du ein Eingabefeld, in das du entweder selbst schreiben oder es mit Hilfe der darüber stehenden Buttons befüllen kannst.

Die Buttons stehen für die Elemente, die das Programm mit Hilfe der Sprachdateien umwandeln kann. Buttons von Elementen, für die das Programm keine Dateien ermitteln konnte, sind ausgegraut und können nicht geklickt werden - wenn du diese Elemente dennoch in deine Muster eingibst, kann das Programm abstürzen, wenn du etwas generierst, weil ich es an dieser Stelle nicht so sauber programmiert habe, dass es überprüft ob die Dateien auf die es dort zugreift überhaupt existieren.

Sämtliche Zeichen, die du zusätzlich zu den Elementen eingibst, werden bei der Umwandlung des Musters ignoriert und so ausgegeben, wie sie im Muster stehen, du kannst also bspw. einen festen Suffix eingeben, den alle Wörter haben sollen. [Eine Ausnahme davon sind die Großbuchstaben A bis F, diese stehen für die Elemente Nature bis Custom und werden genauso umgewandelt, als hättest du die eingeklammerten Elemente ins Eingabefeld geschrieben).

Du kannst den Button [>] benutzen, um das eingegebene Muster in der "Pattern List" abzulegen.

Schritt 3: Einen Namen generieren


Wenn du mindestens ein Muster eingegeben hast (oder du Elemente in der Pattern List abgelegt hast) kannst du mit einem Klick auf "Generate" einen Namen im Ausgabefeld generieren.

Dir stehen drei Optionen zur Verfügung:
"+ Translate" ist vorgewählt und fügt dem generierten Namen eine Wort-für-Wort Übersetzung hinzu (wenn die Daten dafür vorhanden sind). ACHTUNG: Wenn du keine Dateien für die Übersetzung geschrieben hast, deaktiviere diese Option, weil das Programm sonst auf eine Datei zugreifen will, die es nicht gibt!

"+ IPA" fügt dem Namen eine Angabe zur Aussprache im International Phonetic Alphabet hinzu (wenn die Daten dafür vorhanden sind). ACHTUNG: Wenn du keine Dateien für die IPA deiner Elemente geschrieben hast, aktivere diese Option nicht, sonst will das Programm auf eine Datei zugreifen, die es nicht gibt!

"Use Pattern List": Wenn Elemente in der Pattern List abgelegt sind und du diese Option aktivierst, ignoriert das Programm das Eingabefeld und wählt stattdessen bei jedem Klick auf den [Generate]-Button ein zufälliges Muster aus der Liste.

Für eigene Sprachen nutzen


Schritt 1: Einen Ordner anlegen


Der erste Schritt besteht darin einen Ordner anzulegen, in den die Dateien deiner Sprache kommen. Die Beispielsprache Tshjin hat ihren Ordner im data-Ordner des Programms, aber es ist letztlich egal, wo du diesen Ordner erstellst; das Programm erfährt den Pfad zu diesem Ordner, sobald du eine Sprache im Programm auswählen willst.

Schritt 2: Dateien anlegen


Dieser Schritt ist der aufwändigste. In dem angelegten Ordner für deine Sprache musst du jetzt Textdateien (.txt) für die Elemente anlegen, die du benutzen möchtest. Dabei ist es wichtig genau auf Groß-/Kleinschreibung zu achten und die Dateien exakt so zu benennen, weil das Programm sie sonst nicht finden kann.

Für jedes Element werden im Prinzip drei Textdateien benötigt:
(Element)_LANG.txt: Hier kommen die Wörter deiner Sprache rein.
(Element)_IPA.txt: Hier kommen die IPA-Notationen der Wörter rein, die du in _LANG abgelegt hast
(Element)_GER.txt: Hier kommen die Übersetzungen für die Wörter aus _LANG rein

Verwendete in diesen Dateien für jeden Eintrag eine neue Zeile und achte darauf, dass die Reihenfolge jeweils identisch ist.

Wenn du keine Lust auf IPA oder Übersetzungen hast, kannst du die _IPA und _GER Dateien auch weglassen, achte dann nur darauf die Funktionen nicht zu benutzen, die auf sie zugreifen.

Das Programm merkt sich die Anzahl der Einträge in _LANG, um zufällige Einträge auswählen zu können. Wenn du +IPA oder +Translate benutzt, versucht es automatisch den entsprechenden Eintrag aus _IPA bzw _GER zu nehmen, sollten die Dateien nicht existieren oder kürzer sein als _LANG, kann es hier zu Programmfehlern kommen.

Im folgenden Spoiler habe ich für jedes Element die drei benötigten Dateien aufgelistet, das Prinzip ist eigentlich ganz einfach, aber für (Num) und (Att) gibt es Ausnahmen


    (Adj)
  • Adj_LANG.txt
  • Adj_IPA.txt
  • Adj_GER.txt


    (Nani)
  • Nani_LANG.txt
  • Nani_IPA.txt
  • Nani_GER.txt


    (Nina)
  • Nina_LANG.txt
  • Nina_IPA.txt
  • Nina_GER.txt



    (Prep)
  • Prep_LANG.txt
  • Prep_IPA.txt
  • Prep_GER.txt


    (Num)!
  • Numeral_LANG.txt
  • Numeral_IPA.txt
  • Numeral_GER.txt


    (Male)
  • Male_LANG.txt
  • Male_IPA.txt
  • Male_GER.txt



    (Female)
  • Female_LANG.txt
  • Female_IPA.txt
  • Female_GER.txt


    (Thing)
  • Thing_LANG.txt
  • Thing_IPA.txt
  • Thing_GER.txt


    (Att)!
  • Attribute_LANG.txt
  • Attribute_IPA.txt
  • Attribute_GER.txt


    (Nature)
  • Nature_LANG.txt
  • Nature_IPA.txt
  • Nature_GER.txt


    (Plant)
  • Plant_LANG.txt
  • Plant_IPA.txt
  • Plant_GER.txt


    (Place)
  • Place_LANG.txt
  • Place_IPA.txt
  • Place_GER.txt


    (Animal)
  • Animal_LANG.txt
  • Animal_IPA.txt
  • Animal_GER.txt


    (Magic)
  • Magic_LANG.txt
  • Magic_IPA.txt
  • Magic_GER.txt


    (Custom)
  • Custom_LANG.txt
  • Custom_IPA.txt
  • Custom_GER.txt


Xobor Forum Software von Xobor
Datenschutz