2016-05-11 5 views
-1

Ich habe dieses Stück Code erstellt, die das Wort Farbe zu Farbe konvertiert:Verwenden von PHP Moodle-Filtern, um ein Wort in ein anderes zu ändern?

<?php 
class filter_helloworld extends moodle_text_filter { 
public function filter($text, array $options = array()) { 
    return str_replace('colour', 'color', $text); 
} 
} 
?> 

Wie würde ich es machen, so dass es mehrere Worte ändern kann, zum Beispiel, habe ich eine Liste von etwa 100 Worten zu ändern von GB Englisch zu US Englisch.

Antwort

0

Sie müssen dies nicht tun, Sie können das US-Sprachpaket installieren.

https://docs.moodle.org/29/en/Language_packs

Zum Siggy -> Sprache -> Sprachpakete -> wählen Sie "Englisch - Groß Statuen (en_us)"

Sie können die Standardsprache US-Englisch an Siggy gesetzt -> Sprache -> Spracheinstellungen

Dann werden alle Kernzeichenfolgen in US-Englisch angezeigt.

Oder ein Benutzer kann ihr Profil bearbeiten und ihre bevorzugte Sprache auswählen.

Wenn der Text in einem Kurs geändert werden muss, verwenden Sie den mehrsprachigen Filter.

https://docs.moodle.org/29/en/Multi-language_content_filter

So würde der Kursinhalt enthalten.

<span lang="en" class="multilang">colour</span> 
<span lang="en_us" class="multilang">color</span> 
+0

Filter werden nicht auf die Sprachzeichenfolgen angewendet, sie werden auf die Inhalte angewendet, die von den Benutzern eingegeben wurden – Marina

+0

Danke für die Beantwortung! Es tut mir leid, dass ich präziser hätte sein sollen, warum der Filter benötigt wird; Die Sprachänderungen müssen in den Kursinhalten enthalten sein und es gibt Hunderte von Seiten zu verschiedenen naturwissenschaftlichen Themen, so dass ich nicht wirklich jede Seite bearbeiten möchte, wenn ich sie vermeiden kann: –