Sprachen in WordPress entfernen

  • Manchmal möchte man zusätzliche Sprachpakete aus WordPress-Projekten entfernen, da sie nicht mehr benötigt werden. Z.B. hat man aus versehen mal Finnisch installiert, bekommt ständig neue Updates auch für diese Sprache und wird sie einfach nicht los. Doch WordPress hat dafür (derzeit) keine Oberfläche. Wie man sie dennoch entfernen kann, möchte ich hier kurz zeigen.

    Vorbemerkungen

    In diesem Beitrag geht es um die Sprachdateien, die WordPress für Übersetzungen der Texte im eigenen Backend verwendet, aber auch um diejenigen von Plugins und Themes, die ihre eigenen Sprachdateien mitbringen. Es geht nicht um Mehrsprachen-Plugins - diese handhaben ihre Sprachen jeweils anders.

    WordPress selbst arbeitet standardmäßig mit "Englisch (EN_US)". Diese Sprache kann man nicht entfernen, da deren Texte Bestandteil der WordPress-Core-Dateien sind. Sie sind in keiner Sprachdatei zu finden.

    Jeder WordPress-Nutzer kann die Sprache für sein Profil auch selbst festlegen. Sollte dein Nutzer die dann entferne Sprache verwenden, schaltet WordPress ihn automatisch auf „Englisch (EN_US)“ um.

    Vorgehen

    Ausgangsstand

    Ich habe ein WordPress-Projekt, in dem Suomi (Finnisch) zusätzlich installiert ist. Die Sprachauswahl, wo das zu sehen ist, finde ich in WordPress unter Einstellungen > Allgemein.

    Sprachen werden in WordPress mit international nach ISO-639 standardisierten Sprach-Kürzeln verwendet. Für einzelne Sprachen sind diese jedoch leicht angepasst, um mit Ober- und Unterkategorien zu Arbeiten (ISO 3166-1). Das Kürzel für „Deutsch“ ist z.B. de_DE, es gibt aber auch „de_CH“ für „Deutsch (Schweiz)“. Für Finnisch ist es jedoch einfach nur „fi“.

    Zu diesem Projekt habe ich einen FTP-Zugang, über den ich auf die Dateien der WordPress-Installation Zugriff habe. Solltest du diesen Zugang derzeit nicht zur Hand haben, wende dich an den Support deines Hosters um ihn zu erhalten.

    Vorbereitung

    Stelle zunächst sicher, dass du nicht, wie oben im Screenshot zu sehen, die zu entfernende Sprache als aktuelle Sprache verwendest. Wenn doch, wechsle auf „Englisch (EN_US“).

    Greife per FTP auf die Datei wp-config.php zu und kontrolliere, ob du dort eine Konstante namens WP_LANG_DIR siehst. Das könnte z.B. so aussehen:

    Code
    define( 'WP_LANG_DIR', '/ein/pfad/' );

    Wenn nicht, ist alles in Ordnung. Wenn sie doch vorhanden ist, merke dir den an ihr hinterlegten Pfad gut, denn du brauchst ihn später.

    Ich würde zudem empfehlen vor den folgenden Arbeiten ein Backup vom Hosting zu erstellen. Beachte, dass nicht jedes Backup-Plugin auch die Sprachdateien umfasst. Du kannst auch einfach per FTP das gesamte Verzeichnis mit den Sprachdateien zu dir runterladen.

    Vorgehen

    Melde dich nun per FTP an deinem Hosting an. Rufe dort entweder den oben gemerkten Pfad oder diesen auf: /wp-content/languages/. Bei mir sieht das z.B. so aus:

    Um die Sprache Finnisch (Sprachkürzel „fi“) zu entfernen, lösche hier die Dateien aus dem Hauptverzeichnis „languages“ nach folgendem Schema:

    • Sprachkürzel.mo
    • admin-Sprachkürzel.mo
    • admin-network-Sprachkürzel.mo
    • continents-cities-Sprachkürzel.mo
    • admin-Sprachkürzel.l10n.php
    • admin-network-Sprachkürzel.l10n.php
    • continents-cities-Sprachkürzel.l10n.php
    • Sprachkürzel.l10n.php

    Für Finnisch (Kürzel „fi“) also:

    • fi.mo
    • fi.l10n.php
    • admin-fi.mo
    • admin-fi.l10n.php
    • admin-network-fi.mo
    • admin-network-fi.l10n.php
    • continents-cities-fi.mo
    • continents-cities-fi.l10n.php

    Hinweise

    Die PHP-Dateien der Sprachdateien existieren erst seit WordPress 6.7. Bei Installationen vor 6.7 gibt es sie nicht.

    Die ebenfalls vorhandenen .po-Dateien kannst, musst du aber nicht löschen. WordPress beachtet nur .mo und die dazugehörigen PHP-Dateien zur Erkennung der Sprachen. Natürlich macht es aber schon Sinn sie mit zu löschen, da sie nicht mehr benötigt werden.

    Vermutlich wirst du auch sehr viele JSON-Dateien sehen, die mit dem von dir gesuchten Sprachkürzel beginnen. Z.B.:

    Diese kannst, musst du aber ebenfalls nicht löschen – auch wenn es im Sinne des Aufräumens durchaus Vorteile hat.

    Plugins und Themes

    Von dir genutzte Plugins oder Themes, könnten die von dir zu löschende Sprache ggfs. ebenfalls unterstützen. Auch diese haben die Sprachdateien dann in ihren jeweiligen Unterverzeichnissen vom Sprach-Datei-Verzeichnis abgelegt. Sie sind nach diesem Schema angelegt:

    • plugin-slug-Sprachkürzel.i10n.php
    • plugin-slug-Sprachkürzel.mo

    Beispiel für Finnisch von Activitypub:

    Auch diese kannst du einfach löschen.

    Nachkontrolle

    Nachdem du die Dateien gelöscht hast, kannst du wieder im Backend unter Einstellungen > Allgemein nachschauen. Du wirst die von dir gelöschte Sprache dort nun nicht mehr finden. Sie werden auch nie wieder geladen werden, es sei denn du wählst die Sprache explizit nochmal aus.

    Alternativen

    Es gibt auch hier, wie in WordPress fast immer, ein Plugin als mögliche Lösung: Simple Translation Remover. Nach Installation und Aktivierung gehst du auf Werkzeuge > Simple Translation Remover und hakst in der Liste die Sprache an, die du entfernen willst. Danach wählst du unten den Modus aus nach dem du vorgehen willst. „Löschen“ löscht die Dateien der Sprache. Ergebnis ist das gleiche wie auf oben beschriebenem Weg.

    Woher weißt du das?

    Ein Blick in den Code vom WordPress Core hilft: https://github.com/WordPress/Word…/l10n.php#L1473

    Dieser Beitrag wurde ursprünglich hier veröffentlicht: https://www.thomaszwirner.de/sprachen-in-wordpress-entfernen/

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wenn man ssh-Zugriff und entsprechende Kenntnisse hat, kann man es rigeroser machen:

    Code
    cd /pfad/zu/wp-content/languages/plugins
    rm *
    cd /pfad/zu/wp-content/languages/themes
    rm *
    cd /pfad/zu/wp-content/languages/
    rm * 

    Dann das Backend aufrufen, da ist jetzt alles nur englisch. Aber wenn man alles aktualisiert, passt es wieder und man hat alle unnötigen Sprachdateien entfernt.

    So mach ich es immer mal wieder.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!