• Resolved holle75

    (@holle75)


    Hallo!

    Wie immer der Wahnsinn mit den Emails in WP/WC/div Plugins.

    Also, germanized generiert ja zB die Konto Aktivierungs Email … tolle Sache, aber warum macht ihr den Text nicht konfigurierbar? Ich finde persönlich ein “Du” super, aber der Meinung ist nicht jeder. Jetzt habe ich über

    function custom_text_replace( $translated_text, $untranslated_text, $domain ) {
    switch ( $untranslated_text ) {
    case 'Thanks for creating an account on %s. Please follow the activation link to activate your account:':
    $translated_text = ( 'Es wurde für sie ein Benutzerkonto bei %s angelegt. Bitte folgen sie dem Link, um ihr Benutzerkonto zu bestätigen:', $domain ); break; case 'If you haven‘t created an account on %s please ignore this email.': $translated_text = ( 'Wenn sie bei %s kein Benutzerkonto eröffnet haben, ignoriere sie diese E-Mail bitte.', $domain );
    break;
    case 'If you cannot follow the link above please copy this url and paste it to your browser bar: %s':
    $translated_text = __( 'Falls sie dem Link nicht folgen können, kopieren sie bitte folgende URL in die Adresszeile ihres Browsers: %s', $domain );
    break;
    }
    return $translated_text;
    }
    add_filter( 'gettext', 'custom_text_replace', 20, 3 );

    mal versucht, das umzubiegen. Hier macht mir nur das ‘ in haven‘t einen Strich durch die Rechnung. Und ja, klar kann ich das Template ins child-theme kopieren und ne Baustelle aufmachen. Ich habs lieber kompakt, was auch immer möglich, in function.php.

    Frage: wie “übersetze” ich die Strings am Besten und/oder wie bekomme ich das ‘ funktional?

    EDIT: Mmh, jetzt ist mir gerade aufgefallen, dass es ja noch zig andere GD Mails gibt. Kein gutes Konzept in functions.php. Was wäre der richtige Weg?…. Am Rande: Full fledged Translation Plugins versuche ich mittlerweile zu umschiffen wie die Pest. Da weiss ja kein Mensch mehr, was die alles für nen Unsinn machen…. und nur um ordentliche Mails versenden zu können und 10 strings zu “übersetzen”?

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    kurz vorweg: Woo stellt standardmäßig keine UI bereit um E-Mail-Texte grafisch zu bearbeiten, d.h. dafür solltest du ein E-Mail-Customizer Plugin verwenden (z.B. YayMail), falls du das benötigst.

    Germanized unterstützt sowohl die formelle als auch die informelle Anrede – das hängt davon ab, ob du Deutsch oder Deutsch (Sie) in WP konfiguriert hast.

    Die von Woo vorgesehene Weise E-Mails anzupassen ist via template override – das wird in den Woo-Einstellungen unter E-Mails für die jeweilige E-Mail kurz erläutert. S.a.: https://woocommerce.com/de/posts/how-to-customize-emails-in-woocommerce/

    Grüße

    Thread Starter holle75

    (@holle75)

    Ja, … und ich hoffe noch immer, dass dieser Murks vielleicht irgendwann mal bereinigt wird. Was für ein Heckmeck um mal einen vorgegebenen string zu ändern.

    Da GD ja recht smart gebaut ist, dachte ich, du hättest vielleicht eine Alternative zu WP/WC Default schon eingebaut. Du/Sie, auch ja, nur leider bekommst du dann an ganz anderen Stellen wieder string Probleme, wenn du auf SIE umstellst. Emails/Mehrsprachigkeit/Strings ist WP/WC einfach … fängt mit s an

    Ich bin jetzt mit dieser function recht weit gekommen

    add_filter( 'gettext', 'fs_translate_strings_1', 20, 3 );
    function fs_translate_strings_1( $translation, $text, $domain ) {
    // Mails
    $translation = str_ireplace( 'You can access your account area to view your orders and change your password.', 'Um z.B. Bestellungen anzusehen oder ihr Passwort zu ändern, melden sie sich bitte hier in ihrem Benutzerkonto an:', $translation );
    $translation = str_ireplace( 'View Account', 'Zu ihrem Konto', $translation );
    $translation = str_ireplace( 'Dein Passwort wurde automatisch erstellt:', 'Ihr Passwort wurde automatisch erstellt:', $translation );
    $translation = str_ireplace( 'Zu deiner Kontrolle, nachstehend noch einmal deine Bestelldetails.', 'Zu ihrer Kontrolle, nachstehend noch einmal die Bestelldetails.', $translation );
    $translation = str_ireplace( 'Reset Password', 'Passwort zurücksetzen', $translation );
    $translation = str_ireplace( 'Wenn du bei %s kein Benutzerkonto eröffnet hast, ignoriere diese E-Mail bitte.', 'Wenn sie bei %s kein Benutzerkonto eröffnet haben, ignorieren sie diese E-Mail bitte.', $translation );
    $translation = str_ireplace( 'Es wurde für dich ein Benutzerkonto bei %s angelegt. Bitte folge dem Link, um dein Benutzerkonto zu bestätigen:', 'Es wurde für sie ein Benutzerkonto bei %s angelegt. Bitte folgen sie dem Link, um ihr Benutzerkonto zu bestätigen:', $translation );
    $translation = str_ireplace( 'Falls du dem Link nicht folgen kannst, kopiere bitte folgende URL in die Adresszeile deines Browsers: %s', 'Falls sie dem Link nicht folgen können, kopiere sie bitte folgende URL in die Adresszeile ihres Browsers: %s', $translation );
    $translation = str_ireplace( 'Vielen Dank! Wir haben deine Zahlung zur Bestellung %s erhalten. Deine Bestellung wird nun bearbeitet.', 'Vielen Dank! Wir haben ihre Zahlung zur Bestellung #%s erhalten. Ihre Bestellung wird nun bearbeitet.', $translation );
    $translation = str_ireplace( 'Bezahle für diese Bestellung', 'Bestellung bestätigen', $translation );
    // Shop
    $translation = str_ireplace( 'Vielen Dank. Deine Bestellung ist eingegangen.', 'Vielen Dank. Ihre Bestellung ist eingegangen.', $translation );
    $translation = str_ireplace( 'Quantity', 'Menge', $translation );
    $translation = str_ireplace( 'Für Bestellung bezahlen', 'Bestellung bestätigen', $translation );
    $translation = str_ireplace( 'Dein Warenkorb ist gegenwärtig leer.', 'Ihr Warenkorb ist leer.', $translation );
    return $translation;
    }

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Ach, wieder emails’ is closed to new replies.