Sprachabhängige Zeichenersetzung per Plugin?

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
frase
Posts: 3868
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Sprachabhängige Zeichenersetzung per Plugin?

Post by frase » Wed Aug 19, 2020 10:17 am

Da ich mich gerade mal wieder mit der Zeichenersetzung der französischen Sprache herumplage, kam mir so eine Idee.

Könnte man nicht solche Zeichenersetzungstabellen pro Sprache separat anbieten und diese dann "per Klick" als Plugin ins System einbinden?

Wenn ich bedenke, was mit Slovakisch, Tschechisch, Kyrillisch, Polnisch und vielen anderen Sprachen so alles angestellt werden muss, bis man eine Website mit "guten" URLs hat ...

Jemand eine Idee?
Zumindest Olaf hat sich bereits ausgiebig mit dem Thema befasst und könnte vielleicht die Basis für ein Plugin schaffen und die Community liefert dann die Ersetzungstabellen.
Wie wäre das?

cmb
Posts: 13538
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by cmb » Wed Aug 19, 2020 11:35 am

Ich denke nach wie vor, dass die vollständige "manuelle" Ersetzung nur ein Krücke ist, und besser durch eine entsprechende Bibliothek abgelöst werden sollte. Vielleicht https://github.com/jbroadway/urlify oder https://github.com/voku/urlify oder oder oder. Man könnte auch selbst was basteln basierend auf Transliterator, aber das erfordert die Intl Extension, und ist vielleicht unnötiger Aufwand.
Christoph M. Becker – Plugins for CMSimple_XH


frase
Posts: 3868
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by frase » Wed Aug 19, 2020 11:56 am

Danke für eure Antworten.
Natürlich weiß ich, dass darüber schon ein paar Jahre debattiert wird.
Bei der praktischen Umsetzung der Vorschläge kann ich leider kaum behilflich sein, zumindest bei der Programmierung.
Ich denke aber, dass es ganz gut ist, das Thema von Zeit zu Zeit mal wieder anzusprechen.
Für mich als Laien sieht https://github.com/jbroadway/urlify ganz günstig aus - aber was weiß ich schon ;-)

Bisher konnte ich mir meistens selbst helfen (händisch). Das ist allerdings sehr mühselig und fehleranfällig.

olape
Posts: 1646
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by olape » Wed Aug 19, 2020 12:27 pm

frase wrote:
Wed Aug 19, 2020 11:56 am
Für mich als Laien sieht https://github.com/jbroadway/urlify ganz günstig aus - aber was weiß ich schon
Ich fände das auch nicht schlecht.

Wir hatten das übrigens vor nicht allzulanger Zeit schon mal wieder im Gespräch

https://github.com/cmsimple-xh/cmsimple ... -632811319

cmb
Posts: 13538
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by cmb » Wed Aug 19, 2020 12:53 pm

Ah, danke Olaf!
frase wrote:
Wed Aug 19, 2020 11:56 am
Bei der praktischen Umsetzung der Vorschläge kann ich leider kaum behilflich sein, zumindest bei der Programmierung.
viewtopic.php?f=12&t=5406&p=42078#p42078 enthält eine Beschreibung wie man das einbinden könnte (bin aber nicht sicher, ob es so noch geht). URLify::filter() sollte vielleicht durch URLify::slug() ersetzt werden.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 3868
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by frase » Wed Aug 19, 2020 1:15 pm

cmb wrote:
Wed Aug 19, 2020 12:53 pm
... enthält eine Beschreibung wie man das einbinden könnte (bin aber nicht sicher, ob es so noch geht). URLify::filter() sollte vielleicht durch URLify::slug() ersetzt werden.
Das muss mal jemand testen.
Im Moment habe ich zu viel anderes und kann mir beim speziellen Projekt auch keine Experimente leisten.
Behalten wir das mal im Auge.

olape
Posts: 1646
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by olape » Tue Feb 16, 2021 6:18 pm

cmb wrote:
Wed Aug 19, 2020 12:53 pm
viewtopic.php?f=12&t=5406&p=42078#p42078 enthält eine Beschreibung wie man das einbinden könnte (bin aber nicht sicher, ob es so noch geht). URLify::filter() sollte vielleicht durch URLify::slug() ersetzt werden.
Nein, so einfach funktioniert das wohl leider nicht mehr.
Ich denke auch, die aktuelle Version ist etwas overdressed für unser Anliegen.
Zudem wäre eine weitere Abhängigkeit geschaffen.

Ich würde also vorschlagen doch besser eigene Ersetzungslisten zu pflegen.
Ich bin mir nur nicht sicher, ob in einer Datei, oder für jede Sprache eine eigene Datei.
Diese entsprechend einbinden und die Ersetzung vornehmen.

$tx['urichar']['org'] und $tx['urichar']['new'] würde ich belassen und dabei bevorzugt behandeln.

Also vielleicht irgendwie in dieser Richtung

urlify_all.php (hier allgemeingültige Ersetzungen definieren, vielleicht noch erweitern um €, ...)

Code: Select all

<?php

$urlify_array = array(
    '&amp;' => '-',
    '\'' => '-',
    '§'  => '-',
    '%'  => '-',
    ':'  => '-',
    '/'  => '-',
    '?'  => '-',
    '#'  => '-',
    '['  => '-',
    ']'  => '-',
    '@'  => '-',
    '!'  => '-',
    '$'  => '-',
    '&'  => '-',
    '('  => '-',
    ')'  => '-',
    '*'  => '-',
    '+'  => '-',
    ','  => '-',
    ';'  => '-',
    '='  => '-',
    '"'  => '-'
);
include 'urlify_' .$sl . '.php';
und dann pro Sprache i.e. urlify_de.php

Code: Select all

<?php

    $urlify_array['Ä'] = 'ae';
    $urlify_array['Ö'] = 'oe';
    $urlify_array['Ü'] = 'ue';
    $urlify_array['ä'] = 'ae';
    $urlify_array['ö'] = 'oe';
    $urlify_array['ü'] = 'ue';
    $urlify_array['ß'] = 'ss';

cmb
Posts: 13538
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Sprachabhängige Zeichenersetzung per Plugin?

Post by cmb » Wed Feb 17, 2021 11:56 pm

olape wrote:
Tue Feb 16, 2021 6:18 pm
Ich denke auch, die aktuelle Version ist etwas overdressed für unser Anliegen.
Zudem wäre eine weitere Abhängigkeit geschaffen.
Klares jein! ;)

Das Problem mit einer eigenen Lösung ist, dass wir Deutsch und Englisch machen können (da ist ja auch wirklich nicht viel zu tun), aber mit weiteren Sprachen schnell an unsere Grenzen stoßen. Da gibt es halt allgemein nur wenige Contributions, aber einige würden CMSimple_XH vielleicht schon nutzen, wenn eben passende Übersetzungen (in diesem Fall Transliterationen) verfügbar wären.

Vielleicht sollten wir uns den in der Intl-Extension eingebauten Transliterator einmal genauer ansehen. Die Dokumentation ist leider ungenügend, um schnell zu sehen was damit möglich ist, aber ich glaube, das geht schon in die richtige Richtung. Und ja, Intl ist nicht überall verfügbar, und ich mag die Extension eigentlich überhaupt nicht, weil sie riesig ist, und weil intern alles mit UTF-16 gemacht wird (was eben Konversionen erfordert), aber so ließe sich vielleicht wenigstens optional eine vernünftige sprachübergreifende Urlifizierung mit vertretbarem Aufwand umsetzen.

Und/oder Hooks für Plugins anbieten, die das dann individuell lösen könnten.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply