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
Nharun
hat folgende Dateien an diesen Beitrag angehängt
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden!