Also ist meine eh schon wackelige Theorie...... ziemlich klar widerlegt
Aber die grundsätzliche Idee war gut ;-)
Für das Projekt, wo ich gerade arbeite, gibt es ja auch Blacklist's mit Forbidden Folder- and Filenames, ist eine durchaus übliche Methode.
Der "Haken" ist halt nur, das Anno intern alles über die GUID abwickelt und zu jeder GUID gibt es einen zugeordneten Namen, der dann wiederum in englisch verarbeitet wird. Über die vorhandenen Sprachdateien kann dann dieser GUID ein Text zugewiesen werden. Dieser Text muß UTF8-Formatiert sein und kann somit jedes Schriftzeichen enthalten, egal, in welcher Sprache.
Im Ordnernamen von Saladin oben sehe ich auf Anhieb kein Problem. Die Datei- und Ordnernamenskonvention erlaubt max 256 Zeichen, wobei eben alles mitzählt, Sonderzeichen wie die eckigen Klammern oder auch Leerzeichen, die auch mehrfach vorhanden sein können. Existiert eine entsprechende Struktur (z.b. in einem Webprojekt) könnte man auch Umlaute und alle möglichen Sonderzeichen verwenden, dazu benötigt es dann aber Interpreter, die, einfach gesagt, solch komplizierte Namen "übersetzen". Anno verwendet eher eine einfache Struktur, was dann bedeutet: keine Umlaute und nur begrenzte Sonderzeichen wie runde und eckige Klammern, Leerzeichen, das Kaufmanns-UND &, das Prozentzeichen usw
Der ModLoader liest das Verzeichnis /mods ordnerweise. Er hat dann vorgegebene Ordnerstrukturen, die durchsucht werden, die bekannteste Reihenfolge ist z.b.
\data\config\export\main\asset
Dort befindet sich dann die assets.xml oder (je nach Mod) auch eine templates.xml oder properties.xml. Diese Dateien enthalten dann weitere Verweise, z.b. zu Grafiken, Sounds usw., wobei solche Dateien wieder aus dem Original kommen können oder von der Mod mitgebracht werden.
Alles, was in den XML-Dateien dieser Mod steht, wird in den Cache geschrieben. Wurde dieser Vorgang schon einmal erledigt oder ist abgeschlossen, geht der Modloader zum nächsten Ordner über.
Im speziellen Fall (Beispiel von Saladin oben) würde ich mir mal die Mod anschauen, die in der Ordnerstruktur vor besagter Mod geladen werden soll. Wird dort z.B. ein <ModOp> oder <ModOps> nicht geschlossen, sucht der Code nach einem Ende für diesen Abschnitt und das ggf auch in den folgenden Mods