Skip to content

tbaddade/redaxo_sprog

Repository files navigation

Sprog

AddOn für Sprachen

Platzhalter

  • einfaches Erstellen von Platzhaltern und deren Ersetzungen
  • Eine Sprache kann die Ersetzungen einer anderen Sprache verwenden (Sprachbasis)

Anwendung

Das Anlegen des Platzhalters erfolgt ohne das öffnende bzw. schließende Tag.

Beispiel

platzhalter 

Das Notieren des Platzhalters im Code (Klassen, Funktionen, Templates, Module, etc.), in Artikelinhalten oder Tabellendaten usw. erfolgt mit öffnenden und schließenden Tag.

Beispiel

{{ platzhalter }}

Filter verwenden

Filter werden direkt am Platzhalter im Code notiert und haben Einfluss auf deren Übersetzung.

Mögliche Filter


  • format (sprintf)
  • limit
  • lower
  • markdown
  • raw (kein nl2br)
  • title
  • upper
  • words
Verwendung Ersetzung Ausgabe
{{ sprog|format(5, Baum) }} %s Affen sitzen auf einem %s 5 Affen sitzen auf einem Baum
{{ sprog|limit(5,...) }} 5 Affen sitzen auf einem Baum 5 Aff...
{{ sprog|lower }} 5 Affen sitzen auf einem Baum 5 affen sitzen auf einem baum
{{ sprog|markdown }} **5 Affen sitzen auf einem Baum** <p><strong>5 Affen sitzen auf einem Baum</strong></p>
{{ sprog|raw }} 5 Affen sitzen auf einem Baum 5 Affen sitzen auf einem Baum
{{ sprog|title }} 5 Affen sitzen auf einem Baum 5 Affen Sitzen Auf Einem Baum
{{ sprog|upper }} 5 Affen sitzen auf einem Baum 5 AFFEN SITZEN AUF EINEM BAUM
{{ sprog|words(4) }} 5 Affen sitzen auf einem Baum 5 Affen sitzen auf

Helferfunktionen

Text ersetzen lassen

echo sprogdown($text, $clang_id = null);

Übersetzung eines einzelnen Platzhalters

echo sprogcard($wildcard, $clang_id = null);

Tabellenfeld mit dem Suffix der aktuellen Sprache

echo sprogfield($field, $separator = '_');

// field
// about_1,  about_2
echo sprogfield('about');


// oder in Yorm Dataset Class
public function getAbout()
{
    return trim($this->{sprogfield('about')});
}
// normal
foreach ($items as $item) {
    echo $item->getValue('name_' . rex_clang::getCurrentId());
}

// sprogfield
foreach ($items as $item) {
    echo $item->getValue(sprogfield('name'));
}

Optionale Synchronisierung von

  • Artikelname mit Kategoriename innerhalb derselben Sprache
  • Kategoriename mit Artikelname innerhalb derselben Sprache
  • Status (Online/Offline) zwischen den Sprachen
  • Template zwischen den Sprachen

Inhalte kopieren/synchronisieren

  • Inhalte können von einer Sprache zur anderen Sprache kopiert werden
  • Metadaten der Artikel/Kategorien können von einer Sprache zur anderen Sprache synchronisiert werden

Bugtracker

Du hast einen Fehler gefunden oder ein nettes Feature parat? Lege ein Issue an. Bevor du ein neues Issue erstellts, suche bitte ob bereits eines mit deinem Anliegen existiert und lese die Issue Guidelines (englisch) von Nicolas Gallagher.

Changelog

siehe CHANGELOG.md

Lizenz

siehe LICENSE

Autor

Thomas Blum

Übersetzungen