Sprachpakete

Aus MoodleDocs
Wechseln zu:Navigation, Suche


Sprachpakete installieren

Moodle ist in mehr als 100 Sprachen verfügbar. Diese werden als Sprachpakete für die Installation bereitgestellt. Als Administrator/in können Sie auf der Seite Website-Administration (oder im Block Einstellungen > Website-Administration) > Sprache > Sprachpakete die Sprachpakete Ihrer Moodle-Site verwalten. Wählen Sie ein oder mehrere Pakete aus der rechten Liste aus und klicken Sie auf den Button Sprachpaket installieren.

Sie können mehrere Sprachpakete gleichzeitig auswählen (Strg-Taste) und installieren.

Selbst wenn Sie mehr als 20 Sprachpakete installieren hat das kaum Einfluss auf die Geschwindigkeit von Moodle.

Sie können ein oder mehrere Sprachpakete gleichzeitig deinstallieren. Wählen Sie die entsprechenden Pakete in der Liste der installierten Sprachpakete aus und klicken Sie auf den Button Ausgewählte(s) Sprachpaket(e) deinstallieren.

Sprachpakete manuell herunterladen

Die Sprachpakete werden ständig weiter entwickelt. Wenn eine neue Moodle-Version neue Funktionalitäten bereitstellt, dann werden auch im Sprachpaket entsprechend neue Einträge hinzugefügt. Auf der Seite https://download.moodle.org/langpack/x.y/ können Sie die Sprachpakete herunterladen. Die Seite zeigt auch an, wie weit die Übersetzung der jeweiligen Sprachpakets fortgeschritten ist.

Eltern-Sprachpakete und Kind-Sprachpakete

Sprachpakete können eine hierarchische Beziehung haben: Einige Sprachpakete (die sogenannten Kind-Pakete) enthalten nur einen Teil der Texte, und zwar diejenigen, in denen sie sich von ihrem Eltern-Paket unterscheiden. Ein Beispiel ist das deutsche Sprachpaket "de", das alle Texte in der "Sie"-Variante enthält. Davon abgeleitet ist das Kind-Paket "de_du", das nur die modifizierten Texte in der "Du"-Variante enthält. Wenn Sie ein Kind-Paket verwenden möchten, müssen Sie immer auch das zugehörige Eltern-Paket installieren. Es gibt folgende Kind-Sprachpakete:

  • ca_valencià (erfordert ca)
  • de_du, de_kids und de_comm (erfordern de)
  • en_us, en_ar, en_kids (erfordern en)
  • es_ve (erfordert es)
  • es_ve, es_co (erfordert es)
  • es_mx_kids (erfordert es_mx)
  • fil (erfordert fi)
  • fr_ca (erfordert fr)
  • he_kids (erfordert he)
  • ja_kids (erfordert ja)
  • lt_uni (erfordert lt)
  • no_gr (erfordert no)
  • sv_fi (erfordert sv)
  • wo (erfordert fr)

Hinweis: Wenn Ihre Moodle-Site ein Kind-Sprachpaket verwendet (siehe Liste) und Sie den Filter Mehrsprachiger Inhalt verwenden, müssen Sie sorgfältig mit der Nutzung umgehen (siehe MDL-55197). Siehe Mehrsprachiger Inhalt für mehr Details und Beispiele.

Manuelle Installation der Sprachpakete

Im Allgemeinen ist es am einfachsten, die Sprachpakete direkt über die Moodle-Oberfläche zu installieren. Sie können ein Sprachpaket aber auch manuell installieren, indem Sie die entsprechende *.zip Datei von https://download.moodle.org/langpack/x.y herunterladen und im Verzeichnis moodledata/lang entpacken.

Aktualisierung des Sprachpakets

  • Sprachpakete können auf der Seite Website-Administration (oder im Block Einstellungen > Website-Administration) > Sprache > Sprachpakete aktualisiert werden.
  • Sie können sehen, für welche Sprachpakete Aktualisierungen vorliegen: Diese Pakete sind sowohl im Bereich Installierte Sprachpakete als auch im Bereich Verfügbare Sprachpakete aufgelistet.
  • Um die Pakete zu aktualisieren, klicken Sie auf den Button Sprachpakete aktualisieren.
  • Wenn Sie auf Moodle-Sites, die viele Sprachpakete installiert haben, nur einige Sprachpakete aktualisieren möchten, dann wählen Sie diese in der rechten Spalte Verfügbare Sprachpakete aus und klicken Sie auf den Button Ausgewähltes Sprachpaket installieren.
  • Das englische Sprachpaket wird bei der Aktualisierung von Moodle automatisch aktualisiert.
  • Da an allen Sprachpaketen regelmäßig gearbeitet wird, sollten Sie sie auch in regelmäßigen Abständen aktualisieren.

Die Aktualisierung der Sprachpakete wird als geplanter Vorgang gehandhabt. Standardmäßig wird dieser Vorgang täglich durchgeführt.

Fehler bei der Aktualisierung eines Sprachpakets

  • Sprachpakete können nicht aktualisiert werden, wenn Ihr Moodle-Hosting-Anbieter cURL so gesetzt hat, dass IP6 verwendet wird.
  • Sie können eine Beschreibung dieses Problems und ein Lösungsmöglichkeit in diesem, diesem und diesem Forumsbeitrag nachlesen.
  • Das Problem sieht so aus:
(Failed to connect to 2400:cb00:2048:1::6814:ef: Network is unreachable)
  • Die Lösung besteht darin, Folgendes zu Ihrer Datei lib/filelib.php an der Stelle, an der cURL gesetzt wird (ungefähr Zeile 1250).
$options['CURLOPT_IPRESOLVE'] = CURL_IPRESOLVE_V4;

Moodle kann sich nicht mit download.moodle.org verbinden

Das passiert, wenn:

  • Sie zu starke Sicherheitseinstellungen auf Ihrem Server haben. Prüfen Sie, ob Ihr Server den Server download.moodle.org kontaktieren kann.
  • Der Server download.moodle.org nicht läuft und das manuelle Herunterladen der Sprachpakete auch nicht funktioniert. Probieren Sie es später noch einmal.
  • Ihre Internetverbindung funktioniert nicht :(

Blick hinter die Kulissen

Eine Standardinstallation von Moodle enthält nur das englische Sprachpaket. Es ist im Verzeichnis moodledata/lang/en gespeichert.

Die englischen Sprachelemente ("Strings") für die Kernfunktionalität von Moodle (wie z.B. Administration, Rollen, usw.) sind im Verzeichnis moodledata/lang/en gespeichert. Sprachdateien, die zu einzelnen Aktivitäten, Blöcken oder anderen Plugins gehören, sind im Unterverzeichnis lang des jeweiligen Plugins (also zusammen mit den anderen Code-Dateien des Plugins) gespeichert. Wenn Sie also die englischen Sprach-Strings der Aktivität Forum ansehen wollen, dann müssen Sie im Verzeichnis moodle/mod/forum/lang/en nachsehen.

Wenn Sie zusätzlich zum englischen Sprachpaket ein weiteres Sprachpaket installieren (z.B. das deutsche Sprachpaket), dann erzeugt Moodle ein Verzeichnis moodledata/lang/de. Im Unterschied zum englischen Sprachpaket finden Sie dort jedoch alle Sprachdateien, also z.B. auch die Datei moodledata/lang/en/forum.php für die Aktivität Forum.

Alle Sprachdateien haben die Endung .php. Sie enthalten sogenannte "Strings" - das sind kurze Bezeichnungen, z.B.

addnewcourse

. Wenn im Code (z.B. in einem Formular) dieser String auftaucht, dann wird er bei der Anzeige der Moodle-Seite durch den jeweiligen Text aus dem gewählten Sprachpaket ersetzt. Auf der Moodle-Seite wird dann anstelle von

addnewcourse

der Text

Neuen Kurs anlegen

angezeigt. Die Übersetzung kann Platzhalter

{$a}

enthalten. Diese stehen für Variablen aus dem Programmcode. Diese Platzhalter werden bei der Anzeige der Moodle durch den aktuellen Wert der Variablen ersetzt.

Auszug aus einer Sprachdatei:

  $string['addnewcourse'] = 'Neuen Kurs anlegen';
  $string['hidesection'] = 'Abschnitt {$a} verbergen';

Wenn ein String nicht übersetzt ist, dann erscheint auf der Moodle-Seite der englische Originaltext zu diesem String.

Kann ich eine Sprach-String für ein bestimmtes Design setzen?

Nicht direkt, aber Sie können ein neues lokales Kind-Sprachpaket verwenden, um das Aussehen oder Verhalten eines Kurses zu ändern.

Das Aussehen eines Kurses ändern

Sie können für einen Kurs ein spezielles Design und ein spezielles Kind-Sprachpaket wählen. Dann haben Sie Sprach-Strings nur in dem Kurs, der dieses Design verwendet.

Das Verhalten eines Kurses ändern

  • Wenn Sie nicht möchten, dass Teilnehmer/innen irgendwelche Links zu Bewertungen sehen, nachdem sie eine Lektion abgeschlossen haben, dann können Sie den Sprach-String "Ihre Bewertung ist 9 (von 10)" ersetzen durch "Denken Sie daran, Ihr Zertifikat abzuholen". Oder Sie ändern den Sprach-String: "Glückwunsch - Sie haben das Ende der Lektion erreicht" in "Wir hoffen, dass die Lektion Ihnen geholfen hat". Siehe Congratulations - end of lesson reached" to "We hoped this lesson helped you". Siehe Wie Sie die Anzeige am Ende einer Lektion ändern.
  • Sie können mehrere Kurse haben, die jeweils ein eigenes Kind-Sprachpaket verwenden und jeweils andere Sprach-Strings anzeigen.
  • Siehe dieser Diskussionsbeitrag für eine detaillierte Anleitung, wie Sie ein Kind-Sprachpaket erstellen.

Kann ich ein bestimmtes Sprachpaket installieren und die fehlenden Übersetzungen ergänzen, indem ich ein zweites (zugehöriges) Sprachpaket verwende?

Kann ich ein Sprachpaket für Kinder erstellen?

  • Ja.
  • Es gibt bereits folgende Sprachpakete für Kinder:
    • de_kids (erfordert de)
    • en_kids (erfordert en)
    • he_kids (erfordert he)
    • ja_kids (erfordert ja)
  • Wenn Sie ein Sprachpaket für Kinder in einer anderen Sprache erstellen wollen, gehen Sie folgendermaßen vor:
    • Installieren Sie das englische Sprachpaket für Kinder (en_kids) auf Ihrem lokalen Moodle-Server.
    • Sie müssen 10 Dateien bearbeiten (die im Verzeichnis moodledata/lang/en_kids liegen).
    • Sie können Notepad++ oder jeden anderen Texteditor verwenden, meiden Sie jedoch MS Word und MS Notepad.
    • Beginnen Sie mit der Datei langconfig.php und wählen Sie Ihre Hauptsprache als Eltern-Sprache (parentlanguage).
    • Wenn Sie alle Sprach-Strings übersetzt haben, können Sie ein neues Sprachpaket bei der Person, die alle Moodle-Sprachpakete verwaltet, anfordern.
    • Laden Sie die 10 bearbeiteten Dateien aus Ihrem Verzeichnis moodledata/lang/en_kids in AMOS hoch.
  • Denken Sie daran, Ihr neues Sprachpaket regelmäßig zu aktualisieren und zu erweitern.

Warum gibt es für manche Sprachen verschiedene Sprachpakete?

Siehe diese Entwickler-Dokumentation.

Warum hat mein Sprachpaket plötzlich einige Übersetzungen vergessen?

Siehe dazu die folgende Abbildung: Sie zeigt einen korrekt übersetzten spanischen Sprach-String (Insignias, grünes Rechteck) und einen nicht übersetzten englischen Sprach-String (Badges, rotes Rechteck) und eine Mischung aus weiteren übersetzten und nicht übersetzten Sprach-Strings in einem Sprachpaket, das eigentlich zu 100% übersetzt sein sollte.

Language packs mixed-up llanguages shown.png

Wenn Sie versuchen, Ihr Sprachpaket zu aktualisieren, erhalten Sie die Meldung, dass die Aktualisierung des 'xxxx_old' Sprachpakets übersprungen wurde.

Something old language pack can not be updated.png

Lesen Sie den folgenden Abschnitt, der die Ursache und eine Lösungsmöglichkeit beschreibt.

Wieso gibt es ein Sprachpaket "xx_old", das ich nie installiert habe?

Manchmal finden Sie auf Ihrem Server zusätzlich zu den normalen Sprachpaketen (z.B. en, de) weitere Sprachpakete mit einem angehängten "_old" (z.B. de_old), die offensichtlich nicht aktualisiert werden können.

  • Diese Sprachpakete entstehen, wenn die automatische Aktualisierung der Sprachpakete fehlschlägt, weil der Aktualisierungsprozess mittendrin abgebrochen wird.
    • Bei der Aktualisierung wird zuerst das bestehende Sprach-Verzeichnis lang/xx umbenannt in lang/xx_old und anschließend wird das neue Sprachpaket entpackt.
    • Wenn das Entpacken erfolgreich ist, wird das alte (umbenannte) Verzeichnis gelöscht.
    • Prüfen Sie, ob die PHP-Erweiterung zip in der Serverkonfiguration in Ordnung ist.
    • Wenn Ihr Server neben dem englischen Sprachpaket weitere Sprachpakete hat, dann muss der Aktualisierungsprozess diese Sprachpakete alle herunterladen, was einige Zeit in Anspruch nimmt. Wenn Ihre Internetverbindung langsam ist, kann das zu einem Script-Timeout-Fehler führen. Um dies zu verhindern, müssen Sie die PHP-Konfigurationsdatei php.ini anpassen und die Zeile max_execution_time = 30 ändern in max_execution_time = 600.
  • Es kann auch falsche Sprachpaketbezeichnungen geben, z.B. 'English (es_mx)' - was offensichtlich nicht sein darf.

Odd-named installed language pack.png

  • Der Grund, weshalb das Sprachmenü dieses Paket anzeigt, besteht darin, dass das Verzeichnis moodledata/lang/es_mx/ unvollständig ist und die zugehörige Datei langconfig.php, so dass die Übersetzung des Sprach-Strings "thislanguage" (Name des Sprachpakets) ersetzt wird durch das standardmäßige englische Sprachpaket.
  • Sie müssen alle komisch aussehenden Sprachpakete deinstallieren und anschließend die gewünschten Sprachpakete neu installieren.

Language packs uninstall all mixed-up languages.png

Siehe auch