PHP Mehrsprachigkeit durch KI

Ev kannst du das mit Javascript im Browser in der JS Console extrahieren und dort raus kopieren (ev verschiedene dynamische Texte beachten):
https://stackoverflow.com/questions/10730309/find-all-text-nodes-in-html-page

nachher kannst du die dateien durchgehen(ev automatisch mit sh datei zeilenweise das JS ergebnis in einer textdatei) und "textfund" durch <?php _e('textfund', 'sprachdomain'); ?> ersetzen.

Danach kannst du PoEdit nutzen, das durchsucht das projekt nach "_e(" und legt dir die übersetzung an.

will nicht sagen, das wäre besser, aber du kannst da beides je nach priorität angehen - übersetzung und rewrite
 
Schumiel schrieb:
Andere Dateien sind noch viel größer. Insgesamt sind dann über 100 Dateien mit insgesamt über 100.000 Zeilen Code. Ist nicht nachgezählt, sondern eine grobe Schätzung.

Was macht die Webseite überhaupt? Ist die im Internet? Wenn ich mir das so anschaue würde ich auf ein CMS umsteigen das nimmt dir schon ein Großteil der Arbeit wie User- und Rechte-Management, etc. ab. Dann kannst du das auch schneller als in 2-3 Jahren machen. Vor allem aber hat das Übersetzung miteingebaut.
 
  • Gefällt mir
Reaktionen: Piktogramm
Es entspricht zwar nicht genau der Fragestellung des TO, aber ich würde die Website einfach auf Deutsch schreiben, ein

HTML:
<!DOCTYPE html>
<html lang="de">

da rein knallen, und dem jeweiligen Webbrowser des Users die Übersetzungsmagie überlassen.

Oder möchtest du selber extra Übersetzungen für zum Beispiel Vidunda oder Cherokee ... bereitstellen?
Ergänzung ()

Edit: Ich meinte, auf Englisch.
 
  • Gefällt mir
Reaktionen: Haggis
CyborgBeta schrieb:
Hier gibt es auch leider ein Problem mit AI s ... Stumpfes Finden und ersetzen (was eigentlich jeder normale Texteditor kann ...) können diese nämlich nicht so gut. ;)
Das stimmt.
Aber die KI kann vielleicht einen regulären Ausdruck bauen, der einem die meisten Stellen finden kann.
 
Schumiel schrieb:
und zwar habe ich ein eigenes Webseitenprojekt, dass über 18 Jahre alt ist. Dementsprechend ist der Code auch noch in Spaghetti-Form, indem PHP, HTML und CSS gemischt sind. [...]. Ein langjähriger Wunsch war es immer mal von mir, dass ich das Projekt in mehreren Sprachen anbieten kann. Durch KI lassen sich die Sprachdateien in nur wenigen Minuten in x-beliebigen Sprachen übersetzen.
Lösungsansatz:
Anstatt das Projekt zu übersetzen, wird es wahrscheinlich sinnvoller sein den generierten Inhalt zu übersetzen. Also Webserver + PHP die Seite generieren lassen und das HTML dann bei Google Translate oder DeepL übersetzen zu lassen.

Grundlegend wird dein Projekt aber mit zunehmenden Alter und jeder Änderung zum immer größeren Schwerz, wenn du Logik (PHP), Ausszeichnung (HTML), Style (CSS) und Inhalt nicht gescheit trennst. Wobei es so klingt, als wäre der Schmerz bereits jetzt größer, als ein gescheites Refactoring oder Umstieg auf fertige Lösungen + Anpassungen.
Wenn der ganze Kram gescheit separiert ist, ließe sich auch recht elegant der Inhalt einmal übersetzen anstatt bei jedem Seitenaufruf. Das spart Kosten, bringt Geschwindigkeit und weil die Übersetzung einmal erfolgt kann man Feinschliff bei der Übersetzung betreiben. Entweder Manuell, oder indem man der übersetzenden KI Hinweise zum Kontext gibt.

Wobei bei meinen Experimenten KI es eher begrenzt schafft kompakten Code zu generieren und bei der Architektur Kopplung + Kohäsion zu beachten.

Haggis schrieb:
Und dann baut man eine Translate-Funktion, die den Text in einem dictionarty sucht und ausgibt. Wenn der Text nicht gefunden werden konnte, dann gibt sie einfach genau das aus, was eingegeben wurde.

So wird die Ausgangssprache weiter gut funktionieren. Und wenn bei zusätzlichen Sprachen eine Übersetzung fehlt, wird schlimmstenfalls eine Phrase in der Ausgangssprache gezeigt.
TIL: Es gibt Personen, die sowas ernsthaft in Betracht ziehen.
 
  • Gefällt mir
Reaktionen: Drexel und CyborgBeta
Windsurf schafft das leider auch nicht. Die de.php ist unvollständig und es fehlen ganz andere Texte. Die eigentliche Datei kann nicht umgeschrieben werden, weil ihm ein Komma im "normalen" Text stört. Und da ist auch davor und danach nichts wildes, sondern ein etwas längere Fließtext, der ganz normal und auch heute nicht veraltet umgesetzt ist.

Ich denke, ich kann mein Vorhaben, das die KI machen zu lassen, hiermit begraben. :-( Vielen Dank für eure Hilfe und Unterstützung.
Ergänzung ()

Piktogramm, ich hatte es hier bereits einmal geschrieben, dass ich bereits über die KI an einem Relaunch gearbeitet hatte. Doch es hat nicht funktioniert. Die KI hat es nicht geschafft. Meine Hoffnungen lagen darin, den Absprung des alten Codes zu schaffen. Ich selbst bekomme das in meiner Freizeit nicht hin und halte eben auch keine 2-3 Jahre durch. Mir macht das zwar alles Spaß, aber nicht auf Dauer und brauche meine Pausen. Ob mit oder ohne KI, es war bisher nicht machbar. Ich bin mir vollumfänglich bewusst, dass die Mehrsprachigkeit mit einem ordentlichen MVC-Prinzip ein Kinderspiel wäre. Aber diese oder ähnliche Umgebung kann ich mir nicht schaffen. Hierfür müsste ich erst am Projekt verdienen. Diese Möglichkeit habe ich nicht. Die Mehrsprachigkeit wünsche ich mir schon seit Jahren, aber ohne KI und mit dem Spaghetti-Code nie eine Option. Nun sah ich eine Möglichkeit und wollte hier einfach nur Nachfragen, ob jemand KI-Tools kennt, die sowas können. Bisher tat es kein einziges. Und nein, auch wenn der Code 18 Jahre alt ist, sind das alles normale PHP-Funktionen und nichts wildes.
 
Zuletzt bearbeitet:
Deswegen habe ich ja zwei Ansätze beschrieben. Ignorier doch nicht den Teil, wo zwischen dem Webserver und dessen logik sowie dem Browser der den Kram rendert noch DeepL oder vergleichbares zum Einsatz kommen kann zum Übersetzen.

Und beim Refaktoring, das ist so oder so Handarbeit. Ich dachte eigentlich, dass ich das beschrieben haben. Da muss die Architektur von dir kommen um etwaige Codegeneratoren anzuleiten. Was mitunter derart frustrierend ist, dass es von Hand schneller geht.
Und Normalerweise schreibt sich Code mit gescheiter Architektur deutlich schneller als historische Altlasten mit bunter Vermischung.
 
  • Gefällt mir
Reaktionen: Schumiel und CyborgBeta
Wenn der Code 18 Jahre alt ist - neu schreiben (lassen)?

Hab eine Filmbestandsdatenbank vor ähnlicher Zeit angefangen - php/mysql. 2x schon neu gemacht - Code übernommen, geändert, ergänzt. Viel Zeit mit "Was macht diese Zeile??" verbracht.

Wollte dann letztes Jahr (oder war das schon 2023... egal) wieder was ändern, anpassen. Mir ging der Update-Mechanismus aufm Kecks (Excel -> Export nach CSV - auf dem weg noch werte umschreiben, import in mysql, prüfen ob das anfügen geklappt hat; ggf. 200 zeilen löschen, weil ich ein ; an der falschen stelle hatte; danach kam die Abfrage mit ofdbgw (was es leider nicht mehr gibt)) ... hab also den Updatemechanismus komplett überdacht und mit ChatGPT neu gemacht (Excel ist weiterhin eine Grundlage - weil ich Videodaten auslesen usw.; aber jetzt importiere ich einfach den Inhalt 1:1 in die mySQL (bzw. lasse das script gewisse änderungen vornehmen) - ein klick - fertig). Nur jetzt sind die Daten neu, umfangreicher (tmdb, imdb, ofdb werden kombiniert), toller ... und wie zeig ich das mit dem alten Frontend an?

Also wieder ChatGPT ... nach 2-3 Tagen (wegen "Kostenloses Limit....") war ich mit dem Teil fertig. Viele neue "Techniken" drin (Smarty ... wollte ich mal mit rumspielen; json, ajax, richtige suche, CSS mit grids, Mobil-Version usw. usf.; dazu von php4/5 auf 8.x geswitched). Den alten Code überarbeiten und z.b. 8.x ready zu machen wäre viel länger gewesen und ich hätte weiterhin das alte Design (vorher keine Templatesprache gehabt; in den phps war auch gleich der relevante html-code....) ohne die ganzen neuen Features. Teilweise bot mir ChatGPT auch an das so und so umzusetzen.
 
  • Gefällt mir
Reaktionen: JumpingCat
Zurück
Oben