it-swarm.com.de

Wie verwende ich britisches und amerikanisches Englisch?

Ich habe eine Website mit fünf Sprachversionen für verschiedene Märkte übernommen. Jede Website ist als eigene Site in einem Netzwerk mit mehreren Standorten eingerichtet. Die Hauptwebsite richtet sich hauptsächlich an ein britisches Publikum, und eine der Sprachversionen richtet sich an ein amerikanisches Publikum.

Um die lang direkt in das HTML-Tag einzufügen, muss <html <?php language_attributes(); ?>> die Site-Sprache für jede Site auf die Sprache eingestellt werden, in der die betreffende Site geschrieben ist. Bei der Installation der Sprachdateien en_GB wird jedoch die Standardoption Englisch ausgeblendet. Und laut der WP Website gibt es keine en_US Sprachdateien.

Wie lösen die Leute das normalerweise? In diesem Fall könnte ich zwar das lang-Attribut für jede Site fest codieren, es wirft jedoch die Frage für die zukünftige Verwendung auf.

ETA: basierend auf dem von @toscho unten vorgeschlagenen Code habe ich dies zu meiner Funktionsdatei hinzugefügt. Es wird eine Sprache zur Liste hinzugefügt, aber aus irgendeinem Grund nicht gespeichert. Der Parameter $current enthält weiterhin den vorherigen Parameter.

add_filter('mu_dropdown_languages', 'add_en_us', 10, 3);

function add_en_us( $output, $lang_files, $current ) {
    array_unshift(
        $output,
        '<option value="en_US"' . selected( $current, 'en_US', false ) . '>'
        . __( 'American English' ) . "</option>"
    );
    return $output;
}

Aufgrund der Zeitbeschränkungen in diesem Projekt werde ich stattdessen versuchen, leere Sprachdateien hinzuzufügen. Ich möchte jedoch weiterhin wissen, wie dies richtig funktioniert.

2
Linda H

Hier können Sie mu_dropdown_languages filtern und amerikanisches Englisch erneut hinzufügen.

Beispielcode, nicht getestet:

add_filter( 'mu_dropdown_languages', function( $output, $lang_files, $current )
{
    array_unshift(
        $output,
        '<option value=""' . selected( $current, 'en_US', false ) . '>'
            . __( 'American English' ) . "</option>"
    );
    return $output;
}, 10, 3 );

Filtern Sie sanitize_option_WPLANG oder pre_update_option_WPLANG, um den Speichervorgang zu starten und mögliche Probleme zu beheben.

2
fuxia