TemplaVoila Framework mit Übersetzung

Durch ein paar Hinweise im Web bin ich auf das TemplaVoila Framework von Ron Hall aufmerksam geworden. Es ist eine ziemlich geniale Verbindung zwischen den Segnungen von TV für Redakteure (FCE) un co. und der Freiheit für den Programmierer die Templates über Typoscript an die Notwendigkeiten des Projektes anzupassen. Die Standardtemplates sind fest gemappt(kein remapping mehr ;-) und können über umschaltbare Skins an fast jede Situation angepasst werden. Gute TypoScript und CSS Kenntnisse sind nicht von Nachteil. Die Contentbereiche im Backend haben leider einen festen englischen Namen. Bei einer von mir häufig genutzten HTML Konstruktion war der Hauptinhalt im Content 1 bereich und der Inhalt der linken Spalte im Main Content.
Das lässt sich ziemlich einfach ändern: Eine Änderung über eine Hook von TV ist seit 1.4.2 nicht machbar, da die entsprechende Hook entfern wurde, zu xclass muss ich bei einer so aktiv entwickelten Extension nix sagen. Daher die Überlegung das ganze Skinbasiert zu machen, wo es am meisten Sinn macht. Ein js Ordner ist ja schon vorhanden. In diesem habe ich eine skin_localize.js Datei angelegt und im PageTS der Startseite eingebunden.
## This link will need to be edited to reflect your skin path if
## you want special styling and classes to show up in the RTE
RTE.default.contentCSS = fileadmin/templates/skins/skin_tk_standard/css/rte.css

##add translation for contentarea and fce
mod.web_txtemplavoilaM1.javascript {
  file2 = ../fileadmin/templates/skins/skin_tk_standard/js/skin_localize.js
} Die rte.css muss eh Skinbasiert eingebunden werden. Das ganze funktioniert übrigens erst ab TV 1.4.2. Das TemplaVoila verwendet im BE sowieso Prototype, also bin ich dabei geblieben. Sprache feststellen: var userLang = (navigator.language) ? navigator.language : navigator.userLanguage;

Wer eine Möglichkeit kennt die beuser.lang an das Skript zu übergeben melde sich bitte.


Dann Abhängig von der Sprache if(!userLang || userLang == 'en'){
        //Page
        if ($('tvFeatureContentTab')) {
            $('tvFeatureContentTab').update('Feature');
        } die Tabs umbeschriften und in einer Schleife die FCEs //FCE
        var f = $$('h3.fceTypeHeader');
        for(var i=0; i<f.length; i++){
            if(f[i].innerHTML == 'Single Module')f[i].update('Single Module');
            else if(f[i].innerHTML == '2 Column Group')f[i].update('2 Column Group');
} Damit kann ich die Beschriftungen verändern und übersetzten. UPDATEes geht auch einfacher ;-) Patch Der Rest steht in der Mailinglist.
Artikel Suchen