Frage Automatisches Übersetzen einer Seite ohne JS?

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Werbung

Jetzt auf elektrisches Fahren umstellen, Umwelt schonen und 1.500km kostenlosen Strom von Tesla bekommen. https://ts.la/carsten15473.

dumbledore

Mitglied
14 September 2017
31
0
6
25
Guten Tag,
ich verkaufe auf ebay Artikel und der Textinhalt ist dabei auf Deutsch.
Ich möchte bei einem deutschen Kunden Text A anzeigen lassen und bei einem englischen Kunden Text B.
Wie kann ich das machen? Die Seite darf dabei nicht verlassen werden.

Ich stelle mir das so vor, dass es fertige Textbausteine gibt und der Browser nach dem prüfen das Richtige anzeigt.
Es gibt dabei noch ein paar Regeln, an die ich mich halten muss.

Unzulässige aktive Inhalte
  • Senden von Formularen
  • Laden von Skripts
  • Plug-ins
  • Automatisch auslösende Funktionen
    Beispiel: Eine automatische Videowidergabe ist z.B. nicht erlaubt.
  • iFrames
  • Dynamische Banner für Sonderaktionen und Cross-Selling-Galerien von Drittanbieter
  • PDF
  • Externe Links wie z.B. zu eigenen Online-Shops oder Social-Media-Kanälen
    Ausnahmen finden Sie in unserem Grundsatz zur Verwendung von Links auf den Artikelseiten bei eBay.
  • Links in Ihren Artikelbeschreibungen ohne target"_blank"
    Beispiel: <a href="www.ebay.de">eBay</a>
  • Symbole zum Teilen in sozialen Netzwerken
    Diese Symbole werden von eBay bereitgestellt.
  • Eingebettete Käuferbewertungen
    Käuferbewertungen werden von eBay bereitgestellt.
  • Funktionalität zum Finden von Fahrzeug- und Motorradteilen
    eBay-Verkäufern in Deutschland empfehlen wir die Verwendung der Fahrzeug- und Motorradverwendungsliste.
Weiterhin zulässige aktive Inhalte
  • Responsive Webdesign für Mobilgeräte
  • Responsive Spaltenlayout
  • Responsive Tabellenlayout
  • Persönliche Kategorien
  • Individuelles Bilderkarussell: Wir empfehlen, alle Bilder in die eBay-Galerie hochzuladen, um Ihre Umsätze auf Mobilgeräten zu steigern.
  • Eingebettete Bilder: Wir empfehlen, diese Option nur zu verwenden, wenn es gesetzlich vorgeschrieben ist. Ansonsten laden Sie bitte alle Bilder in der eBay-Galerie hoch.
  • Eigener Videoservice: Wir empfehlen die Verwendung von HTML5-Tag-Links.
  • Statische Banner für Sonderaktionen: Wir empfehlen ausschließlich die Nutzung unseres Marketing-Tools Verkaufsaktionen oder die Anpassung über das Tool Verkaufsaktionen.
  • In meinem eBay Shop suchen: Fügen Sie Rahmeninformationen hinzu.
  • Filiale für Selbstabholung vor Ort suchen: Nutzen Sie eBay Click & Collect, wenn verfügbar
  • Für Verkäufer-Newsletter anmelden: Link zum eBay Shop erstellen, wo die Anmeldung durchgeführt werden kann.
  • Links
    • Interne Links zu anderen eBay-Seiten, zum eigenen eBay Shop oder weiteren eBay-Angeboten
    • Externe Links wie z.B. zu rechtlichen Hinweisen oder zu Anbietern von Angebotsvorlagen als Ausnahmen
Hinweis: Links in Artikelbeschreibungen müssen target="_blank" enthalten.
Beispiel: <a href="www.ebay.de" target=“_blank">eBay</a>
  • Registerkarten können genutzt werden, wir empfehlen es allerdings nicht. Käufer klicken nur sehr selten auf Registerkarten.
 
Zuletzt bearbeitet:

basti1012

Aktives Mitglied
26 November 2017
970
102
43
38
Minden
sebastian1012.bplaced.net
Das was du da geschrieben hast sind das die Regeln von Ebay ?
Das hatten wir schon öffters das man bei Ebay nicht sehr viel darf.
Meines wissens wahr CSS aber möglich oder ?
Dann könnte man 2 Container machen ( deutsch und englischer Text ) und denn dann mit css aus und ein blenden
 

dumbledore

Mitglied
14 September 2017
31
0
6
25
Das sind leider die Richtlinien von ebay.
Kann man die Container sprachspezifisch ein und ausblenden? Über einen Aufklapp-Feld würde ich es auch hinkriegen nur sieht das nicht unbedingt schön aus. Die Artikelbeschreibung könnte ich so zwar machen aber z.b. die Sidebar links nicht, weil ich dann in jedem Feld wo ein Text steht eine Miniflagge hätte.

PS: habe gerade diesen Code Schnipsel entdeckt:
#lang_en:checked + p.en{ display:block;}

Kann man dadurch mehrere Blöcke gleichzeitig ansprechen, die verschieden platziert sind?
 

basti1012

Aktives Mitglied
26 November 2017
970
102
43
38
Minden
sebastian1012.bplaced.net
Kuck mal hier
https://codepen.io/basti1012/pen/KOZpmO
Wen man auf deutsch/englisch klicken tut wird der Inhalt gewechselt, bzw die Container ein und ausgeblendet.

Das geht aber nur wenn der User da drauf klicken tut.
Ohne Javascript zb mit ( navigator.language ) wüste ich nicht wie man das Automatisch machen könnte ob ein Besucher einen englischen oder deutschen Browser benutzt
 
Zuletzt bearbeitet:

dumbledore

Mitglied
14 September 2017
31
0
6
25
Vielen Dank für deinen Code Basti. Es wird vermutlich darauf hinauslaufen. Automatisch wäre zwar konkurrenzlos gewesen, aber eine Fahne mit dem Text darunter. Click here for english ist auch ganz ok :D
Super Vielen Dank.
 

dumbledore

Mitglied
14 September 2017
31
0
6
25
Hallo nochmal ich habe eine kurze Rückfrage.
Der Code funktioniert ja super, nur was machen ich, wenn ich mehrere Textbereiche gleichzeitig übersetzen will?
Den CSS in den Header und die zu übersetzenden Stellen irgendwie markieren/ Verknüpfen?
 

basti1012

Aktives Mitglied
26 November 2017
970
102
43
38
Minden
sebastian1012.bplaced.net
Ja das geht auch . In den Fall wäre Javascript ein Vorteil weil man dann arrays anlegen könnte und so weiter.
Da das ja nicht geht bleibt da nur eine menge Css gewurstel über . Da man mit Css nur abwärts gehen kann in DOM ( geschwister , kind und nachbar ) , wirst du wohl einiges an den html ändern müssen.
Kannst du mal den html Teil posten ,? Dann kucke ich mal ob es so überhaupt geht.

Vieleicht haben die anderen ja nee Idee wie das noch gehen könnte

EDIT:
Habe das Script von damals mal etwas geändert. Habe da mehrere Texte an verschiedene DOM stellen gepackt.
So kannst du dan sehen wie man mit CSS dann auch daran kommen könnte
https://codepen.io/basti1012/pen/KOZpmO?editors=1100
 
Zuletzt bearbeitet:

dumbledore

Mitglied
14 September 2017
31
0
6
25
Super danke es funktioniert genau so, wie ich mir das vorgestellt habe.
Es werden div container definiert, wobei dann diese abwechselnd angezeigt werden.

HTML:
<div class="eng">Ratings</div>
<div class="deu">Bewertungen</div>
Es scheint aber, dass ich irgendwo noch einen Fehler mache. Im oberen und unteren Bereich klappt es bei mir nicht. In der Mitte jedoch schon.
Ich habe den CSS Teil weiter nach oben geschoben, jedoch ohne Wirkung.

Ich habe versucht diesen Code Abschnitt ebenso zu übersetzen:

HTML:
<li><a href="https://feedback.ebay.de/ws/eBayISAPI.dll?
ViewFeedback2&amp;userid=codiva" target="_blank">Bewertungen</a></li>
Den Text Bewertungen habe ich entfernt und die container von oben hinzugefügt, sodass es so aussah:

HTML:
<li><a href="https://feedback.ebay.de/ws/eBayISAPI.dll?
ViewFeedback2&amp;userid=codiva" target="_blank">

<div class="eng">Ratings</div>
<div class="deu">Bewertungen</div>

</a></li>
PS: in einer früheren Version waren die Flaggen getrennt. Kannst du mir noch verraten, wie ich das nun wieder so machen kann? Will nämlich noch ein paar weitere Sprachen hinzufügen.
 

basti1012

Aktives Mitglied
26 November 2017
970
102
43
38
Minden
sebastian1012.bplaced.net
Bei so einer Css Lösung darf man keine , bzw nur bestimmte Container hinzufügen oder entfernen.
Ich habe den Weg von der Checkbox bis zu den wechsel Container schon ziemlich freizügig definiert damit fast alle Geschwister und Kinder Elemente gefunden werden und man schon einige Elemente verschieben und hinzufügen kann.

Das problem bei Css ist das du nicht im DOM Baum zurück gehen kannst.
Zb. Ist die Checkbox hier hinter den header
Code:
<header>
      text zum wechseln
</header>
<input type="checkbox">
hast du keine Chance den Text im header zu ändern.

Ist die Checkbox davor
Code:
<input type="checkbox">
<header>
      text zum wechseln
</header>
geht es wieder..

Aber , ist die Checkbox vor den header, aber kein Geschwister oder Nachbar,
Code:
<div>
       <input type="checkbox">
</div>
<header>
      text zum wechseln
</header>
,dann geht es auch nicht mehr.

Ich hoffe du verstehst das so wie ich es erkläre.
Hier ist mal erklärung https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors/Combinators

Wichtig für deinw Css !
Im Artikel wird das Kind Element beschrieben zb
div > div

Es gibt auch Enkel und Urenkel ( das ist jetzt mein Begriff dafür )
div > div > div ( Enkel )
div > div > div > div ( Urenkel )
Also kurz gesagt, ich muß dein Code sehen wenn du den Fehler nicht finden solltest, weil hier kommt es drauf an wie dein DOM aussehen tut.

Mit Javascript wäre das egal.

PS:Man könnte auch einzelne Fahnen nehmen , und jede Fahne bekommt dann eine eigene Checkbox , oder besser noch ein radio, das ist kein problem.

Soald du das verstanden hast mit den Selektoren ist das gar nicht mehr so schwer , dann solltest du es mit den weiteren Sprachen auch hinbekommen
 
Zuletzt bearbeitet:
Reactions: Ansophie
Werbung: