RewriteEngine On
RewriteBase /
[[babeltutorial|Weiter geht's mit der Schritt für Schritt-Anleitung mit Modx 2.8.1]]
===== Korrekte Datumsformate =====
Für die korrekte Übersetzung des Datumformats muss das Gateway-Plugin von Babel erweitert werden. Dazu wird für jede Sprache eine Zeile (im Beispiel Niederländisch/Dutch) eingefügt:
setlocale(LC_ALL, 'nl_NL.UTF-8');
Das Plugin für drei Sprachen sieht dann aus:
context->get('key') != "mgr" ) {
/* grab the current langauge from the cultureKey request var */
switch ( $_REQUEST['cultureKey'] ) {
case 'en':
/* switch the context */
$modx->switchContext('en');
setlocale(LC_ALL, 'en_US.UTF-8');
break;
case 'nl':
/* switch the context */
$modx->switchContext('nl');
setlocale(LC_ALL, 'nl_NL.UTF-8');
break;
default:
/* Set the default context here */
$modx->switchContext('web');
setlocale(LC_ALL, 'de_DE.UTF-8');
break;
}
/* unset GET var to avoid
* appending cultureKey=xy to URLs by other components */
unset($_GET['cultureKey']);
}
===== Babel-Links =====
[[BabelLinks? &showCurrent=`1` &tpl=`babellink-template`]]
[[+cultureKey]]
[[https://docs.modx.com/extras/revo/babel/babel.babellinks|MODX Extras Documentation: BabelLinks]]
==== Babel ID einer bestimmten Sprachversion ====
[[BabelTranslation? &contextKey=`de`]]
Referenz: https://docs.modx.com/3.x/en/extras/babel/babeltranslation
So ganz richtig funktioniert das nicht, mit dem Snippet. Was funktioniert ist diese Vorhergehensweise, wenn man die ID der deutschen Version einer Seite nutzen will:
Pagetitle: [[pdoField? &id=`[[BabelLinks? &tpl=`babel_id` &showCurrent=`1`]]` &field=`pagetitle`]]
Dabei legt man im Template folgenden Code ab:
[[+cultureKey:is=`de`:then=`[[+id]]`]]
Quelle für diese Funktionsweise war
https://forum.modmore.com/t/sync-images-between-translations-with-babel/806/2
===== Links =====
* Neu: [[https://nathanaelmcmillan.com/blog/multilingual-websites-with-modx/nathanaelmcmillan.com|]]
* Nicht mehr verfügbar: [[https://anyscreensize.com/blog/modx-multilingual/|Any Screen Size: MODX Multilingual]]
* So wie ich es gerade ausprobiert habe, funktioniert obige Anleitung. ABER: Im Gateway Plugin werden die Namen der Contexte eingesetzt, das funktionierte in Revo 2.7.1 nicht. Es klappte mit dem Einsetzen von culturekeys. Statt Context-Name im gateway (z.B. english) den culturekey dort einsetzen (Für english dann en). Das klappte dann endlich.
* [[http://www.multilingual-modx.com/|Babel: Multilingual MODX]]
* [[http://www.multilingual-modx.com/|Babel: Multilingual Websites With MODX And Babel]]
* [[http://www.multilingual-modx.com/blog/2011/seo-friendly-multilingual-websites-with-modx-and-babel.html|Babel: SEO Friendly Multilingual Websites With MODX And Babel]]
* [[https://docs.modx.com/extras/revo/babel|MODX Extras Documentation: Babel]]
Noch ein Tutorial, unter anderem auch mit Userrechten:
* [[https://www.inside-creative.com/research-and-development/2018/10/30/creating-multilingual-modx-websites-using-babel/|Multilanguage Site with Babel]]
Und ein Videotutorial
* [[https://www.youtube.com/watch?v=fSa_CdinTUE|MODX Multilingual - Setting up Babel and have a website with multiple languages von Menno Pieterson]]