Wie wird WordPress auf Deutsch übersetzt?
Wie kann ich das für eigene Themes und Plugins nutzen?
Wie kann ich mich an der Übersetzung von WordPress beteiligen?
3. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Bei der Installation von WordPress stehen uns
über 100 Sprachen zur Verfügung.
Für Deutsch stehen vier Varianten zur Auswahl:
• informelles Deutsch ("Du")
• formelles Deutsch ("Sie")
• informelles, Schweizer Hochdeutsch ("Du")
• formelles, Schweizer Hochdeutsch ("Sie")
Schweizer Hochdeutsch unterscheidet sich in Wortbildung,
Rechtschreibung und geringen Abweichungen der Grammatik.
4. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Die Lokalisierung (engl. Localization, kurz L10n)
umfasst sowohl die Sprache der Website als
auch die Anpassung von Datum, Maßen und
Gewichten (z.B. für WooCommerce!).
Die Einstellung erfolgt über das Menü
Einstellungen > Allgemein und kann
jederzeit, also auch nachträglich, geändert
werden.
Sprachdateien werden nach Wechsel der
Sprache automatisch vom WordPress-Server
geladen.
It's a c!
5. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Liegen neue Übersetzungen für
WordPress, Themes oder Plugins vor,
können sie bequem vom WordPress-
Server aktualisiert werden.
Abe ko n e n hi?
6. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
1. Schritt: Internationalization (kurz i18n)
"WordPress, Themes und Plugins übersetzbar machen"
7. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Grundlage für die Übersetzungsfunktionen
ist die GNU-Programmbibliothek gettext
8. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php echo 'Hello Dolly!'; ?>
… gibt in der Webseite den Text "Hello Dolly" aus.
9. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php _e( 'Hello Dolly!', 'wpbonn' ); ?>
… gibt in der Webseite den Text "Hello Dolly" aus,
ab übe t !
Hal l
Bon Dol
হ ােলা ডিল
10. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php _e( 'Hello Dolly!', 'wpbonn' ); ?>
echo, aber übersetzt
zu übersetzender Text-String
Text-Domain
11. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php
function say_hello() {
return 'Hello Dolly';
}
Die Funktion say_hello() gibt
einen Textstring "Hello Dolly" zurück.
12. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php
function say_hello() {
__( 'Hello Dolly', 'wpbonn' );
}
Die Funktion say_hello() gibt
einen Textstring "Hello Dolly" zurück
ab übe t !
13. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php
function say_hello() {
__( 'Hello Dolly', 'wpbonn' );
}
return,
aber übersetzt
zu übersetzender Text-String
Text-Domain
14. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
<?php
function say_hello( $name ) {
return sprintf( __( 'Hello %s', 'text_domain' ), $name );
}
Funktioniert auch mit Variablen.
%s ist ein Platzhalter im Textstring.
15. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
2. Schritt: Localization (kurz L10n)
"WordPress, Themes und Plugins übersetzen"
16. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Drei Tools, drei Ansätze
für ih für a
Pod Loc
Tral Poll
17. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Ablauf
Vorlage für alle
Übersetzungen:
.pot-Datei
portable
object
template
Übersetzung
Erstellung
Sprachdateien
.po (portable object)
und .mo (message
object, binär)
27. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Für jede Sprache gibt es auch
eine eigene WordPress Website.
Diese "Rosetta"-Sites sind der
Zugang für lokale Communities.
28. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Alle Plugins im WordPress Plugin-Verzeichnis
erhalten bei Veröffentlichung automatisch ein
Übersetzung-Template (.pot-Datei).
Voraussetzung ist, dass die Übersetzungsfunktionen
verwendet und eine Textdomain angeben wurde.
Die Text-Domain ist ein eindeutiger Bezeichner,
der sicherstellt, dass WordPress alle geladenen
Übersetzungen unterscheiden kann.
30. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Jeder kann mitmachen. Wirklich jeder.
Selbst wenn du kein Englisch kannst!
(Rechtschreibung prüfen, Übertragung informell ("Du") ➔ formell ("Sie"))
31. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Ziel ist eine professionelle Übersetzung in agenturtauglicher Form.
Mittel zur Optimierung der Übersetzung:
Style Guide für Übersetzungen
legt fest, wie übersetzt werden soll
Beispiel: Die Bezeichnungen von Plugins und Themes werden wie ein Markenname
behandelt und deshalb nicht übersetzt. Dadurch erleichtern wir Anwendern die Suche.
https://de.wordpress.org/mitwirken/style-guide-fuer-uebersetzungen/
Glossar
gibt bei ausgesuchten Begriffen die Übersetzung vor
Beispiel: Post soll immer als Beitrag übersetzt werden
https://translate.wordpress.org/locale/de/default/glossary
32. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Wer entscheidet?
Translation Editor geben Übersetzungen frei.
Für einzelne Projekte (ein Theme oder Plugin) wird die Benutzerrolle Project Translation Editor
(PTE) vergeben.
Plugin-/Theme-Autoren können Übersetzern für diese Benutzerrolle vorschlagen.
Anwender können eine "Patenschaft" für Themes oder Plugins übernehmen.
Sie erhalten auf Wunsch die Rolle Project Translation Editor.
General Translation Editor (GTE) geben Übersetzungen für den WordPress Core frei und
vergeben Benutzerrollen im Rahmen der Richtlinien der Community.
33. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Genderneutrale Übersetzungen
Bei einem OpenSource-Projekt ist es
selbstverständlichändlich, dass niemand
ausgeschlossen oder beachteiligt wird.
Oder?
34. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Dec o s ad to w ho …
WordPress ist nicht demokratisch.
Die WordPress-Community organisiert sich als Meritokratie –
wer sich einer Aufgabe annimmt, trifft auch die Entscheidungen.
Wer Übersetzungen freigibt, trifft in dem Moment die
Entscheidung.
35. WordPress Meetup Bonn
Bego Mario Garde
@pixolin
Feature Plugin Stringintelligenz – Ziele
Veranschaulichen, wie sich sprachliche Anpassungen
auswirken. ("Passt der Begriff da überhaupt hin?")
Gemeinschaftliche Entwicklung einer Lösung in der
WordPress-Community.
Das Plugin Gutenberg ist auch ein Feature Plugin.