WordPress.org

Ready to get started?Download WordPress

Plugin Directory

WooCommerce German (de_DE)

This plugin extends the WooCommerce shop plugin with complete German language packs - formal and informal. - WooCommerce endlich komplett auf deutsch!

Kleine Video-Einführung

mit Plugin-Entwickler & Übersetzer David Decker Original Video-Link

(1) Wie kann ich eigene Übersetzungen verwenden?

Speziell die Ablage unter benutzerdefinierten Pfaden wird beispielhaft erläutert unter "Installation" hier.

Grundprinzip für eigene Übersetzungen wäre ansonsten so:

  1. ENTWEDER eigene Übersetzungen pflegen und in den unterstützten Pfaden ablegen (s.o.) - dann mein Plugin aktiv lassen!
  2. ODER eigene Übersetzungen ohne mein Plugin ganz "auf eigene Faust" ...
  3. ODER via Filter bzw. Hooks (von WooCommerce) einzelne Passagen ändern
  4. ODER ...da Nr. 3 nicht immer geht, bleibt für Bastler noch die Variante per 'gettext'-Filter (NICHT empfohlen), oder eben nur Nr. 1 oder Nr. 2 ... :)

Letzten Endes ergibt mein Sprach-Plugin auch nur Sinn, wenn man es verwenden will. Sprich: Sollen viele, viele Passagen benutzerdefiniert sein, bleibt als wirklich sinnvolle Alternative nur die Pflege einer eigenen Übersetzung!

Die Verwendung von Filtern & Hooks ist grundsätzlich gut, aber eben nur für einige Textpassagen überhaupt verfügbar.

(2) Es ist immer noch alles in Englisch, Übersetzungen werden nicht angezeigt, was tun?

Das liegt höchstwahrscheinlich daran, dass in WordPress noch kein Sprach- bzw. Ländercode eingetragen wurde. Dies muss in der Datei wp-config.php gemacht werden (dort, wo auch die sonstigen Datenbankparameter etc. sind). -- Für deutschsprachige Inhalte muss in der Regel folgende Zeile in der wp-config.php stehen: define( 'WPLANG', 'de_DE' );

Für Multisite-Installationen gilt Ähnliches: in der entsprechenden Webseite (Unterblog) muss die Spracheinstellung in den Site- bzw. Blog-Einstellungen auf "German" bzw. "Deutsch" gesetzt sein. Und ja, das Plugin ist Multisite-fähig! :-)

(3) Nicht komplett: es sind immer noch einzelne Worte bzw. Passagen auf Englisch!

Dafür kann ich nichts, im originalen WooCommerce-Plugin sind immer noch einige wenige Textdomains falsch gesetzt, sodass die bereits vorhandenen Übersetzungen in der Sprachdatei nicht angezeigt werden (können). Ausserdem kann es sein, dass einige Passagen noch nicht übersetzbar gemacht worden sind, d.h. noch keine PHP-Gettext-Funktionalität implementiert wurde. Auch hier sind wir in Kontakt...

Außerdem sind in diesem Plugin ab v3.0.1 Spezialfunktionen integriert, um Textdomain-Fehler u.Ä. von WooCommerce auszubügeln. Aber eine 100%-ige Garantie gibt es dadurch auch nicht!

Englische Strings können nach wie vor von Theme-Templates kommen oder auch von Drittanbieter-Extensions (egal, ob kostenlose oder Premium). In der Regel bringt bereits eine Übersetzung des aktiven Themes eine Verbesserung. --- Allerdings kann und werde ich für Themes KEINEN Support anbieten, dies muss bei den jeweiligen Anbietern erfragt werden (insbesondere bei Premium-Themes)!

(4) Durch Verwendung dieses Plugins erhalte ich 404er Fehler?

Das Verhalten ist durchaus möglich, hat aber NICHTS direkt mit diesem Plugin hier zu tun. Es ist nur eine Folge davon, wie WooCommerce funktioniert.

Es tritt auf, wenn man WooCommerce bereits ohne dieses Plugin verwendet hat und bestimmte Permalink-Einstellungen bereits gesetzt sind. Da durch WooCommerce selbst einige Permalinkteile - sogenannte Slugs - neu gesetzt werden, ist das Verhalten möglich. Denn dieses "setzen" erfolgt durch Übersetzungen in den Sprachdateien.

In der Regel ist die Lösung, die Permalinks in WordPress neu zu speichern ("Einstellungen" > "Permalinks"). Außerdem sollten die WooCommerce-Einstellungen der ersten 3 Tabs überprüft und neu gespeichert werden (Allgemein, Katalog, Seiten), dort insbesondere auf die Permalinks-Einstellungen sowie Shop-Basis etc. achten!

(5) Bei Verwendung oder nach Update dieses Plugins oder "WooCommerce" selbst habe ich Probleme mit den Permalinks bekommen?

Dies kann passieren, wenn vorher ältere Versionen von WooCommerce, von diesem Plugin hier oder anderen Sprachdateien aktiv waren. Bitte die Einstellungen in "WooCommerce" ("Seiten" und "Allgemein") neu speichern! Bitte ebenso die Permalinkeinstellungen von WordPress unter 'Einstellungen > Permalinks' neu speichern. Dann sollte alles wieder funktionieren.

(6) Ich kann bestimmte WooCommerce-Spezialseiten vom Shop nicht mehr bearbeiten?

Das kann passieren, wenn mein Plugin nachträglich installiert wurde und VORHER eine andere deutsche Übersetzung oder gar keine Übersetzung verwendet wurde. Die Permalinkteile dieser Seiten (z.B. "Warenkorb", "Kasse" etc.) werden nämlich durch die Sprachdatei "gesteuert". Daher muss man einfach diese WooCommerce-Seiten über die Katalog- bzw. Seiteneinstellungen in WooCommerce neu zuordnen und speichern. Danach bitte unter "Einstellungen > Permalinks" ebenfalls neu speichern. (Andere Worte für 'Permalinkteil' sind u.a. das Englische "Slug" bzw. teilweise als "Titelform" übersetzt.)

(7) Bei 'Kasse' (Checkout) endloses Laden, kein Bestellabschluss und keine E-Mails...?!?

Leider treten solche Fälle auf, unter folgenden Umständen:

  • Verfügbarer PHP-Speicher (RAM) ist zu niedrig, sollte erfahrungsgemäß mind 96M betragen, besser höher!
  • WooCommerce hat sehr viele übersetzbare Texte, die zu den WordPress-eigenen Übersetzungen, dem aktiven Theme sowie aktiven Plugins HINZUKOMMEN! Dies muss alles verarbeitet werden und braucht Speicher sowie Ladezeit.
  • Hat WordPress bzw. WooCommerce zu wenig PHP-Speicher zur Verfügung, steigt es einfach aus, was sich im WooCommerce-Bezahlvorgang mit endlos-drehenden Ladeanimationen zeigen kann...

Lösungen:

  1. PHP-Speicher erhöhen!
  2. Falls 1.) nicht möglich, Hosting-Anbieter wechseln! -- Bei guten Anbietern kann man den Wert auch ändern und es wird nichts geblockt!
  3. Evtl. nicht benötige Plugins deaktivieren und löschen.
  4. Evtl. nicht benötigte Übersetzungen am Laden hindern bzw. entfernen.
  5. Evtl. das Theme wechseln, sollte es sich als großer "Flaschenhals" bzw. Performance-Bremse erweisen. Zahlreiche Themes vom Marktplatz "ThemeForest" gehören leider dazu. --- Die Erfahrung im Benutzersupport zeigt, dass ThemeForest-Themes mit 20 Theme-eigenen JavaScripten leider keine Seltenheit sind. Solche Code-Desaster sollten schleunigst entsorgt und durch Qualität ersetzt werden!!!

(8) Ist die Unterstützung der "Button-Lösung" gesichert?

JA! Volle Unterstützung für den Text des Buttons! Wie gesagt, für den Text des Buttons bzw. sonstige Übersetzungen. Für die Umsetzung der "Button-Lösung" und des damit einhergehenden Gesetzes sind Shop-Betreiber jedoch selbst verantwortlich, denn das umfasst viel mehr als den Bestell-Button beim Bezahlvorgang ...!

  • Die Standardeinstellung der Sprachdateien für WooCommerce ist gesetzt auf: "Kaufen" ---> dies ist die mittlerweile gängigste und am meisten Gewünschte aller Formulierungen und zugleich die Universellste, daher der Standard!
  • Zur Erleichterung von Anpassungen gibt es gleich 3 (drei!) Helfer-Funktionen:

Helfer-Funktion 1:

/** WooCommerce German (de_DE): Kasse Bestell-Button "Kaufen" */
add_filter( 'woocommerce_order_button_text', '__wcde_order_button_kaufen' );

--> Hinweis: Dies ist der Standard, d.h. in aller Regel braucht man diese Funktion nicht - höchstens bei angepassten eigenen Sprach-Dateien im Theme-Ordner, somit kann man immer die Button-Lösung erfüllen!

Helfer-Funktion 2:

/** WooCommerce German (de_DE): Kasse Bestell-Button "Zahlungspflichtig bestellen" */
add_filter( 'woocommerce_order_button_text', '__wcde_order_button_zahlungspflichtig_bestellen' );

Helfer-Funktion 3:

/** WooCommerce German (de_DE): Kasse Bestell-Button "Zahlungspflichtigen Vertrag schließen" */
add_filter( 'woocommerce_order_button_text', '__wcde_order_button_zahlungspflichtigen_vertrag' );

--> Wohin mit den jeweiligen Code-Schnipseln?: Nur EINEN von den 3 Code-Schnipeln in die Datei functions.php des Themes/ Child Themes, in einen Schnipelmanager oder in ein sogen. "Functionality-Plugin" einfügen. (Hinweis: bei "Thesis" 1.8.x in die custom_functions.php bzw. bei anderen Themes/ Frameworks evtl. ähnlich.)

GANZ WICHTIG:

Eine RechtsBERATUNG zu diesem Themenkomplex kann NUR durch einen ANWALT erfolgen (am besten auf Online-Recht spezialisierte Anwälte!). Bitte auch Infos in den einschlägigen Blogs für Shopbetreiber, der (Fach-) Presse sowie von den Industrie- und Handelskammern beachten. -- Ich als Plugin-Entwickler kann via Sprachdatei KEINE "Rechtssicherheit" garantieren, dies können nur Shop-Betreiber selbst, mit anwaltlicher Unterstützung!

(9) Kommt es zu Konflikten mit den bestehenden Sprachdateien?

Nein. Die Sprachdateien von diesem Plugin hier werden eher geladen. Die im Shop-Plugin vorhandenen Dateien werden einfach ignoriert.

(10) Wie kann ich die Texte beim Bezahlvorgang ändern (Bestell-Button, Bestätigen AGB etc.)?

Aufgrund verschiedener Aspekte, die auf diese Texte Einfluss nehmen, ist dies am besten über sogenannte Filter-Hooks möglich. Auf unserer Codeschnipsel-Seite sind mehrere Beispielfunktionen enthalten, wo man nur noch den eigenen Text anpassen muss.

Diese gehören dann in die functions.php Datei des Themes/ Child Themes (Backup machen vorher!), bzw. besser in ein Functionality-Plugin oder eine Schnipselverwaltung à la "Code Snippets"-Plugin.

(11) Durch Übersetzungsfehler habe ich Probleme mit Kunden bekommen...

Dafür kann ich nichts! Siehe Haftungsausschluss: Durch den Einsatz dieses Plugins und der damit angebotenen Sprachdateien entstehen KEINE Garantien für eine korrekte Funktionsweise oder etwaige Verpflichtungen durch den Übersetzer! — Alle Angaben ohne Gewähr. Änderungen und Irrtümer ausdrücklich vorbehalten. Verwendung des Plugins inkl. Sprachdateien geschieht ausschliesslich auf eigene Verantwortung!

Hinweis: Dieses Plugin ist ein reines Sprach-/ Übersetzungs-Plugin, es hat nichts mit "Rechtssicherheit" zu tun. Für alle rechtlichen Fragen ist der Shop-Betreiber zuständig, nicht die "Sprachdatei"!

(12) Sogen. "String Swaps" deaktivieren, wie?

Über Plugin-Einstellungen - oder manuell:

Seit Version v3.0.20 dieses Plugins wurden alle 'gettext' Filter entfernt. Diese wurden mit einer neuen String-Ersetzungstechnik ersetzt, sogenannten "String Swaps". Möchte man diese nicht laden, gibt es drei Möglichkeiten:

1) In den Plugin-Einstellungen (unter "WooCommerce > Deutsche Übersetzungen") einfach deaktivieren. (Geht seit Pluginversion 3.1.0 oder höher!)

2) Das Laden der Datei unterbinden, via:

/** WooCommerce German (de_DE): Keine String-Swaps laden */
define( 'WCDE_LOAD_STRING_SWAPS', FALSE );

3) Nur das Ausführen des String-Swap Action Hooks verhindern, via:

/** WooCommerce German (de_DE): Keine String-Swaps ausführen */
add_filter( 'wcde_filter_do_string_swaps', '__return_false' );

--> Hiermit bliebe dann die Helferfunktion erhalten und könnte daher auch individuell eingesetzt werden, falls notwendig... :)

(13) Länderübersetzung "Österreich"?

Natürlich übersetzt mit "Österreich", was auch sonst?! :-)

Das mögliche "Problem" ist der Anfangsbuchstabe "Ö": einige Themes bzw. Installationen mit JavaScript-Problemen können die alphabetische Sortierung nicht auf die Reihe kriegen und zeigen Österreich ganz am Ende, Anfang oder sonstwo an, wo es die Benutzer natürlich weder erwarten noch finden können. Daher kann man mit diesem Codeschnipel das Wort auf "Oe" am Anfang setzen, sollte es immer noch solche Probleme geben: https://gist.github.com/deckerweb/5804120

P.S. Zwischenzeitlich war dies sogar im Plugin drin bis vor Version 3.0.13 -- siehe FAQ-Eintrag hier ganz unten.

(14) Extensions-Support - kannst du auch Erweiterung X, Y übersetzen?

Ja, das ist möglich! Auf Wunsch kann ich gern - gegen eine Gebühr für den entstandenen Aufwand - gewünschte Extensions übersetzen, sofern diese von den jeweiligen Herausgebern/ Entwicklern technisch übersetzbar gemacht wurden. Alle Anfragen bitte über meine Webseite, unter deckerweb.de/kontakt. Sehr viele kostenlose und Premium-Erweiterungen sind bereits technisch übersetzbar gemacht worden, daher bitte nicht zögern eine Anfrage zu stellen! :-)

Achtung: Ob solche Ergänzungen in dieses kostenlose Plugin aufgenommen werden, ist eine gesonderte Entscheidung! Eine Garantie dafür gibt es nicht!

(15) Extensions-Support - warum so viele, kann man das nicht abschalten?

Gute Frage, hehe :). - Übersetzungen für Extensions werden überhaupt nur geladen, wenn die jeweilige Extension auch aktiv ist. Dadurch wird wertvolle Performance gespart! Sollte eine Extension nur im Admin-Bereich aktiv sein, werden die Übersetzungen dann auch nur dort geladen (sofern technisch möglich) und nicht im Frontend. Derzeit kann das Laden aller Übersetzungen ganz bequem über die Plugin Einstellungen-Seite (seit v3.1.0+) - oder manuell via Mini-Plugin deaktiviert werden. Das Mini-Plugin von hier laden/ kopieren: https://gist.github.com/deckerweb/5197996

Alternativ können PLUGIN-Entwickler auch folgende Zeile in ihre Extension/ sonstiges (Multisite-) Plugin packen, das hat denselben Effekt. Wichtig: Es MUSS ein Plugin sein, ins Theme kopieren, funktioniert hier nicht!

/** WooCommerce German (de_DE): Keine Übersetzungen für Erweiterungen laden */
define( 'WCDE_LOAD_EXTENSION_SUPPORT', FALSE );

(16) Warum hat dieses Plugin keine weitere Funktion X, Y?

Ganz einfach, es handelt sich um ein reines Sprach- bzw. Übersetzungs-Plugin, welches das Shop-Plugin selbst eindeutscht. Weitere Funktionen/ Features sind nicht vorgesehen, da diese nur den Code unnötig aufblähen und die Pflege erschweren. Für derartige Funktionserweiterungen sind evtl. andere Plugins in Planung - bzw. auch von anderen (deutschen) WordPress-Entwicklern.

(17) Ich habe Korrekturen und Verbesserungen, wohin damit?

Jederzeit willkommen! -- Bitte mitteilen über Twitter @deckerweb oder deckerweb.de -- Vielen Dank!

(18) Wo kann man spenden für die Pflege der Übersetzungen und Weiterentwicklung des Plugins?

Jede Spende ist höchst willkommen und eine tolle Motivation und Unterstützung meiner Arbeit! :)

Direkt zur Spendenseite bei deckerweb.de/sprachdateien/spenden/

Danke für jede Unterstützung! :)

(19) Wo ist die Unterstützung für WooCommerce Version 1.6.x?

Ganz ehrlich, diese Version von WooCommerce sollte NICHT MEHR eingesetzt werden. Punkt. (Gibt keine Aktualisierungen mehr dafür, die meisten Erweiterungen und Themes kommen damit nicht mehr klar!)

Die Unterstützung meinerseits wurde quasi mit Plugin-Version v3.0.0 eingestellt - im März 2013! Ab der Plugin-Version v3.1.0 liegen auch KEINE 1.6.x-er Übersetzungen mehr bei!

Wer mein Sprach-Plugin noch für WooCommerce 1.6.x braucht, der nehme bitte die Version 3.0.20 - herunterladen hier: v3.0.20 ZIP-Paket / Developers-Seite mit allen Alt-Versionen

(20) Wie kann ich mit "Codestyling Localization" Plugin die Übersetzungen bearbeiten?

Gar nicht. Für die beiliegenden Übersetzungen in meinem Plugin geht es nicht, weil "Codestyling Localization" (CSL) dafür nicht gemacht wurde!

Und für "WooCommerce" selbst? Da geht es auch nicht, weil CSL bereits seit März 2013, also WC 2.0.x, NICHT mehr damit kompatibel ist! Es kommt mit der Aufsplittung der Sprachdateien in WooCommerce nicht klar. Außerdem unterstützt CSL noch die alten Variantenordner, die mit WC 2.1.x abgeschafft wurden.

Wer sich also nicht irgendwas Sprachdateien-mäßig "zerhacken" will, der lasse bitte die Finger von CSL - in Bezug auf WooCommerce und mein Plugin. Danke! :-)

(21) Für was wird Support angeboten?

Hier bei WordPress.org und darüber hinaus: NUR für dieses vorliegende Plugin (WooCommerce German (de_DE) bzw. woocommerce-de) und dessen BEILIEGENDE Übersetzungen!

Außerdem: Ich bin NICHT verpflichtet, Support zu leisten. Die Nutzung des Plugins ist völlig freigestellt.

Es wird versucht, so gut als möglich, anfallende Supportanfragen zu beantworten. Eine Wartezeit ist dabei nicht ausgeschlossen, da aller Support ausschließlich in meiner Freizeit geschieht.

Ich sag es mal so: Wer freundlich anfragt und auch mal konkret übers Spenden nachdenkt, bekommt sicherlich auch gut geholfen auf die ein oder andere Weise :-)

Danke für Dein/ Ihr Verständnis!

Nur bei Plugin-Versionen VOR v3.0.20:

(Z.1) "P3 Profiler" Plugin meldet Performance-Anstieg...!?

Das ist nicht verwunderlich! Dort, wo Übersetzungen in WordPress geladen und angezeigt werden, WIRD Speicher und Serverperformance genutzt. Das kann man grundsätzlich nicht verhindern, ansonsten müsste man ganz auf Übersetzungen verzichten. Die Performance ist aber stark Serverabhängig! Hinzu kommt, dass dieses "P3 Profiler"-Plugin genau dieses Laden auf dem Server analysiert, NICHT die Ladezeit im Browser des Besuchers - ein wichtiger Unterschied.

Generell sollte man für eine WordPress-/ WooCommerce-Installation einen ordentlich schnellen Server wählen und den PHP-Speicher durchaus üppig vergeben, ich würde mindestens 128M verwenden!

Plugins, wie "MO Cache" können evtl. die Performance steigern, da Sprachdateien so gecacht werden (das Plugin muss man testen, kann man nicht pauschal sagen!).

Seit Version 3.0.4 können die (derzeit 2) Gettext Filter deaktiviert werden. Gettext-Filter können (müssen aber nicht) evtl. auf die Performance drücken... Sind die Filter des Plugins abgeschaltet, muss man sich aber selbst um die Korrekte Übersetzung der Begriffe kümmern, insbesondere beim Bezahlvorgang (Checkout)! - Derzeit kann das Einbinden der Filter via Konstante abgeschaltet werden. Das Mini-Plugin von hier laden/ kopieren: https://gist.github.com/deckerweb/5200004

Alternativ können PLUGIN-Entwickler auch folgende Zeile in ihre Extension/ sonstiges (Multisite-) Plugin packen, das hat denselben Effekt. Wichtig: Es MUSS ein Plugin sein, ins Theme kopieren, funktioniert hier nicht!

/** WooCommerce German (de_DE): Keine Gettext-Filter laden */
define( 'WCDE_LOAD_GETTEXT_FILTERS', FALSE );

Nur bei Plugin-Versionen von v3.0.4 bis v3.0.13:

(Z.2) Warum wird "Österreich" jetzt am Anfang mit "Oe" übersetzt?

Aufgrund von Benutzeranfragen wurde dies ab Version 3.0.4 von mir auf "Oe" geändert, damit auch Themes bzw. Installationen mit JavaScript-Problemen, wenigstens eine einigermaßen benutzbare Länderliste angezeigt bekommen. D.h. dort, wo das "erweiterte Benutzerinterface" ("Chosen" JavaScript-Bibliothek) nicht aktiviert ist bzw. verwendet werden kann. Es kann aber sein, dass Österreich dennoch unter "A" gelistet ist, da die Liste den englischen Originalbegriffen folgt, daher: Austria = Oesterreich.

Über die Sinnhaftigkeit des Ganzen kann man lange streiten! Allerdings sind österreichische Shop-Anbieter schon sehr gestraft, wenn deren Kunden ihr Heimatland erst am Ende einer Liste von rund 200 Ländern finden - wo sie es natürlich niemals vermuten würden!

P.S. Ich selber konnte das Problem nicht nachstellen, hab es mir aber von Betroffenen Webmastern so erläutern lassen.

Requires: 3.6 and WooCommerce 2.0.20 or higher
Compatible up to: 3.9
Last Updated: 2014-3-27
Downloads: 59,327

Ratings

5 stars
5 out of 5 stars

Support

18 of 24 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,2,2 100,2,2 100,3,3 100,3,3 100,2,2 100,5,5 100,4,4 100,5,5 100,1,1 100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2
100,4,4 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,2,2 100,2,2 100,4,4 100,4,4 100,2,2 100,5,5 100,4,4 100,5,5 100,1,1 100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2
100,2,2 100,2,2 100,5,5 100,4,4 100,5,5 100,1,1 100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2
100,4,4 100,4,4 100,5,5 100,1,1 100,2,2 100,4,4 100,4,4 100,4,4 100,1,1 100,1,1 100,2,2 100,5,5 100,1,1 100,2,2 100,2,2 100,1,1 100,1,1
100,4,4 100,6,6 100,2,2 100,2,2 100,4,4 100,4,4 100,4,4 100,1,1 100,1,1 100,2,2 100,5,5 100,1,1 100,2,2 100,2,2 100,1,1 100,1,1
100,1,1 100,5,5 100,1,1 100,1,1 100,2,2 100,5,5 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1
100,4,4 100,1,1 100,1,1 100,2,2 100,5,5 100,3,3 100,2,2 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,2,2 100,5,5 100,3,3 100,2,2 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1
100,5,5 100,3,3
100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
80,5,4 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,3,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
80,5,4 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1
100,1,1