Contao unterstütz im Seitenbaum "lokalisierte Sprachen" - in der Beschreibung steht zwar nur der Hinweis auf die ISO 639-1 für den Sprachencode wie de, en, fr usw., dieser kann aber um einen Lokalisierungscode nach ISO 3166-1 erweitert werden z. B. de-CH, de-AT, en-CA
siehe https://wiki.selfhtml.org/wiki/Sprachk%C3%BCrzel oder https://www.w3.org/TR/ltli/
Im Prinzip wären auch Auszeichnungen wie de-DE-1996 ("Alte Rechtschreibung") gültig.
In der "Welt der Prorammierung" ist der Trenner aber kein Strich sondern ein Unterstrich - siehe https://de.wikipedia.org/wiki/Locale#POSIX - und daher muss das immer wieder zwischen TL_LANGUAGE und Symfony/MM/... konvertiert werden. Ein Grund warum das in MM bisher nicht unterstützt wurde.
Infos von Contao dazu: https://github.com/contao/core-bundle/issues/233
Nun ist es aber soweit - MM unterstütz Locale.
Da die Umstellung recht weitreichend ist und nicht alle Anwendungsfälle gestestet werden konnten, stellen wir das Feature als Beta-Version in MM 2.2 zum Testen zur Verfügung. Wer das für sein Projekt testen möchte, soll sich bitte bei uns melden und bekommt einen (zeitlich begrenzten) Testkey für MM 2.2 - Mail an mail@metamodel.me
Folgende Hinweise:
Vorhandene mehrsprachige Models können nicht einfach von z. B. Englisch (en) auf Kanadisches-Englisch (en-CA) umgestellt werden - in der Tabelle mit den Übersetzungen muss dann der Key auch von en auf en_CA in der DB (tl_metamodel_translatedtext,... usw.) umgestellt werden.
Im Backend haben wir ein "Zwischen-Fallback" eingebaut, d.h. wenn man z. B. die Sprachen en (Fallback), de und de-CH hat und im Backend mit der Sprache de-CH eingeloggt ist, wird erst geprüft, ob eine Legend, Title usw. in de-CH vorhanden ist (klaro...) - dann wird auf die reine Sprache also de geprüft und ggf. angezeigt und erst wenn auch die nicht gesetzt ist, kommt der eigentliche Fallback mit en.
Einschränkung: Attribut Levenshtein ist noch nicht umgebaut, da noch andere Änderungen vorab eingefügt werden müssen.
Lesezeichen