Hallo zusammen,
ich weiß nicht, ob es hilft, aber ich habe mir mal angesehen, was der FM eigentlich macht, wenn man die Sprache umschaltet. Ich hatte gehofft, dass man da vielleicht irgendeinen Fehler auf Dateiebene feststellen kann, was aber nicht wirklich so ist.
Allerdings habe ich folgendes beobachtet:
1) Nach dem Umschalten werden einige xml-Dateien eingelesen.
2) Danach wird die Sprachdatei (german.ltc, french.ltc, etc.) in Häppchen zu 4096 Byte gelesen.
3) Die passende Datei im Ordner "[...] \data\updates\update-1210\languages\changes\" wird eingelesen, ebenfalls in Häppchen zu 4096 Byte.
4) Im Anschluss werden wieder xmls gelesen.
Dieses Vorgehen ist bei allen mitgelieferten Sprachen gleich (spannend sind 2 und 3).
Schaltet man allerdings auf Deutsch um, will er bei Punkt 3 die passende Datei "german.ltc" lesen, findet diese aber verständlicherweise nicht. Deshalb springt er wieder zu Punkt 1 zurück und ließt bei Punkt 2 die "english.ltc" als Default ein.
Deutsch ist danach nicht mehr in der Liste. Löscht man die "german.ltc", startet den FM neu, setzt die "german.ltc" wieder ein und startet nochmal, ist "Deutsch" wieder auswählbar und man kann das beschriebene Verhalten reproduzieren.
Dass er einzelne Zeilen nach bestimmten "Schlüsselworten" o.ä. in den Sprachdateien absucht, lässt sich aus dem Dateizugriffsverhalten nicht ersehen, da er alle auf gleiche Weise mit den o.g. Häppchen einliest. Es ist natürlich viel wahrscheinlicher, dass solche Prüfungen erst gemacht werden, wenn er sich die Sprachdatei komplett in den Speicher geladen hat - was an den Dateizugriffen natürlich nicht erkennbar ist.
Ohne zu wissen, wie die Lokalisierung des FM tatsächlich funktioniert, vermute ich anhand dieser Beobachtung, dass der FM seit Version 12.1 zwingend eine passende Sprachdatei in dem changes-Ordner erwartet. Leider habe ich überhaupt keine Ahnung, was der FM in diesen Dateien erwartet, bzw. was man dort reinschreiben müsste, sonst würde ich das mal testen.
Grüße
Chris