Ressourcen-Icon

XF2.1 Boothby / LTE - Language Translation Enhancements 0.2.1.7

Keine Rechte zum Download
Google hat seine Richtlinien geändert. es sind jetzt nur noch begrenzt Anfragen möglich.
 
Könnte man das nicht so machen, das man das portionsweise an Google sendet?

So langsam beginnt der Alphabet Konzern bisl zu nerven. Mit den Maps war das ja auch schon so ein Spielchen...
 
Wie meinst du das genau? @otto
 
Könnte man das nicht so machen, das man das portionsweise an Google sendet?

Das kannst du nur umgehen, wenn du die IP des Servers wechselst (andere Rückverfolgungsmöglichkeiten mal außen vor). Da gleiche Spielchen war damals mit DeepL genauso, als es noch nicht pro war.
 
Es geht auch - wie ich das mache um zu prüfen in wie weit Übersetzungen Sinn ergeben - 2 Browser verwenden.
Im einen ist die Standardansicht der zu übersetzenden XF Seite geöffnet, im anderen XF in der Phrasenansicht.

Dabei läuft folgendes Script, als "Werbung" implemtiert mit.
upload_2020-6-23_9-5-13.png
Code:
<div class="google">
<div id="google_translate_element"></div>
<script>
function googleTranslateElementInit() 
{
new google.translate.TranslateElement({pageLanguage: 'de',
layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL}, 'google_translate_element');
}
</script>
<script async src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</div>

Dabei kopiere ich dann die übersetzten Teile der einen Ansicht die mit dem obigen script gestartet ist, in die Phrasen der anderen Seite. Dabei kann ich dann auch gleicht sinnbefreite Übersetzungen korrigieren.

Dass sich das alles auf eine Testumgebung und XF 2.x bezieht versteht sich von selbst. ;)
 
Durch den Google-Code wird die Seite nach unten gezogen (vgl. dazu die Mastersprache, wo der Google-Code nicht ausgeführt wird). Bräuchte hier mal eine Idee, wie ich auch das unterbinden kann.

edit: erledigt.
 
Zuletzt bearbeitet:
Danke für deine Arbeit! Sieht schonmal gut aus, ich muss aber noch etwas testen...
 
Leider geht das JS in Xenforo 2.1 nicht, da Xenfore bneim Cookie nicht SameSite setzt.

Code:
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
 
Hallo @Boothby ,

Für DeepL Pro wären mal Rückmeldungen erwünscht, ob es überhaupt funktioniert.

bei mir funktioniert das Tool mit Google Translate in beiden Versionen tadellos.

Leider nicht mit deepl.com.

Ich habe sowohl den API-Key des Entwickler-Abos (das Abo um 4,99 EUR/Monat) als auch den API-Key meines DeepL Pro Advanced ausprobiert. Bei beiden Keys bekomme ich diese Fehlermeldung statt einer Übersetzung eingeblendet:

Code:
Server side error during DeepL API call: HTTP code 403.
Message: "403 Forbidden
- nginx"
Code: 403

PHP 7.4, Aktuelle Xenforo Release
Kannst du das bitte anschauen?

Und: welcher API-Key wäre denn der passende?

lg,
Chris
 
Zuletzt bearbeitet:
Hallo, vermutlich wird das mit dem aktuellen Code gar nicht gehen, denn der ist veraltet bzw. sogar zurückgezogen. Zumindest finde ich ihn nicht mehr auf Github.

vgl. chriskonnertz/DeepLy

DeepL.com is a next-generation translation service. It provides better translations compared to other popular translation engines. DeepLy is a PHP package that implements a client to interact with DeepL via their API without an API key. Please switch to DeepLy 2 if you have an API key.

IMPORTANT statement regarding DeepL Pro: DeepLy 2 is under development but it is unkown when it will be released. It will support DeepL Pro.

Was du evtl mal machen könntest, wäre folgendes:

in /src/addons/Boothby/LTE/Vendor/DeepLy-2.0/src/ChrisKonnertz/DeepLy/DeepLy.php

suche nach:

PHP:
const API_BASE_URL = 'https://www.deepl.com/jsonrpc/';

und ersetze durch:

PHP:
const API_BASE_URL ='https://api.deepl.com/v2/translate';

bzw wenn nicht funzt durch:

PHP:
const API_BASE_URL ='https://api.deepl.com/v1/translate';

ungetestet
 
Zuletzt bearbeitet:
Ok, dann die harte Tour. Werde mal Deeply gegen eine andere DeepL-Api ersetzen, kann aber etwas dauern.
 
Zurück
Oben