Page 1 of 3

Defaultsprache auch im Unterordner

Posted: Thu Feb 24, 2022 5:39 pm
by Michael_G
Hallo allerseits,

ich finde den Vorschlag für „Zweitsprache mit einem Klick” sehr gut, allerdings gefiel mir die altmodische Umsetzung mit fehlendem Sprachordner für die Standardsprache noch nie.
Und deshalb extra einen Fake-Sprachordner anzulegen, damit alle echten Sprachen schön gleichberechtigt einen eigenen Sprachordner haben dürfen, war mir nach einem Versuch zu blöd.

Fazit/Workaround: bei mir schlägt die Website „mit der Kraft der zwei Herzen CMSimple_XHs – beide in je einer Standardsprache, aber als separate Installationen in Unterordnern a la Sprachordner:
Root: jeweils identische .htaccess, eigene sitemap.xml m. hreflang-Support und robots.txt.
/de: CMSimple_XH – deutsche Sprachversion (und deutschsprachiger Domainname) und index.php.
/en: CMSimple_XH – englische Sprachversion (und englischsprachiger Domainname) und index.php.
Mit richtigem Routing klappt das hervorragend.

Vorbild: die kleinen und großen internationalen Websites, welche jeder Sprache gleichberechtigt einen eigenen Sprachordner geben.

Vorschlag/Idee: wäre standardmäßig/bei Wunsch nach Mehrsprachigkeit schon die erste Sprache als Sprachordner angelegt, wäre es viel einfacher, manuell oder automatisch auf eine oder mehrere Sprachen zu erweitern.

Und ja, bei der Wahl des CMSes spielt die Unterstützung für Mehrsprachigkeit eine große Rolle!
Ich war einmal schon kurz davor, eventuell das CMS zu wechseln, aber weil alle anderen CMSe diverse Nachteile haben und ich unser schnuckeliges CMSimple_XH schon so gut kenne, habe ich dann nicht gewechselt, sondern mein Workaround perfektioniert. :D

Re: Wunsch: Neue Sprache anlegen

Posted: Thu Feb 24, 2022 5:46 pm
by frase
Michael_G wrote:
Thu Feb 24, 2022 5:39 pm
Vorschlag/Idee: wäre standardmäßig/bei Wunsch nach Mehrsprachigkeit schon die erste Sprache als Sprachordner angelegt, wäre es viel einfacher, manuell oder automatisch auf eine oder mehrere Sprachen zu erweitern.
+1

Re: Wunsch: Neue Sprache anlegen

Posted: Thu Feb 24, 2022 7:55 pm
by olape
Michael_G wrote:
Thu Feb 24, 2022 5:39 pm
Vorschlag/Idee: wäre standardmäßig/bei Wunsch nach Mehrsprachigkeit schon die erste Sprache als Sprachordner angelegt, wäre es viel einfacher, manuell oder automatisch auf eine oder mehrere Sprachen zu erweitern.
Oder auch die Standardsprache zu wechseln. Das stimmt.

Trotzdem bin ich nicht sicher, ob das wirklich gut wäre.
Es würde permanent eine Weiterleitung aus dem Root der Site erfordern.

Re: Wunsch: Neue Sprache anlegen

Posted: Fri Feb 25, 2022 7:29 am
by frase
olape wrote:
Thu Feb 24, 2022 7:55 pm
Trotzdem bin ich nicht sicher, ob das wirklich gut wäre.
Es würde permanent eine Weiterleitung aus dem Root der Site erfordern.
Die Umleitung wäre vielleicht gar nicht das Schlimmste. Viel schlimmer wäre, dass der XH-Core wahrscheinlich erheblich umgeschrieben werden müsste.
Theoretisch ist die Idee, alle Sprachen in Extra-Ordnern zu führen, richtig gut. Aber vermutlich nicht zu realisieren.
Also von mir ein +1 für die Überlegung, aber ein -1 für die tatsächliche Umsetzung. Das Leben ist irgendwie komisch ...

Re: Wunsch: Neue Sprache anlegen

Posted: Fri Feb 25, 2022 8:58 am
by olape
frase wrote:
Fri Feb 25, 2022 7:29 am
Viel schlimmer wäre, dass der XH-Core wahrscheinlich erheblich umgeschrieben werden müsste.
Das glaube ich eigentlich gar nicht. In den Zweitsprachen funktioniert alles was auch in der Hauptsprache funktioniert.
Man müsste ausser der Umleitung wahrscheinlich nur dafür sorgen, dass das Root mit einer "Sprache" hantiert, die es real nicht gibt.
Und dann dafür, dass die eingestellte Defaultsprache als Weiterleitungsziel für den Aufruf des Root genutzt wird.
Also wenn de als Hauptspache eingestellt ist, dann domain.tld auf doamin.tld/de/ weiterleiten.

Re: Wunsch: Neue Sprache anlegen

Posted: Fri Feb 25, 2022 9:29 am
by Holger
Michael_G wrote:
Thu Feb 24, 2022 5:39 pm
Fazit/Workaround: bei mir schlägt die Website „mit der Kraft der zwei Herzen CMSimple_XHs – beide in je einer Standardsprache, aber als separate Installationen in Unterordnern a la Sprachordner:
Root: jeweils identische .htaccess, eigene sitemap.xml m. hreflang-Support, robots.txt und index.php.
/de: CMSimple_XH – deutsche Sprachversion (und deutschsprachiger Domainname)
/en: CMSimple_XH – englische Sprachversion (und englischsprachiger Domainname)
Mit richtigem Routing klappt das hervorragend.
Das verstehe ich nicht. Wenn es für DE und EN eigene Domainnamen und eigene Installationen gibt, wozu braucht man dann Routing? Das sind einfach vollwertige und getrennte Installationen die bestenfalls (manuell) miteinander verlinkt sind, oder :?

Re: Wunsch: Neue Sprache anlegen

Posted: Fri Feb 25, 2022 11:10 am
by olape
olape wrote:
Fri Feb 25, 2022 8:58 am
as glaube ich eigentlich gar nicht. In den Zweitsprachen funktioniert alles was auch in der Hauptsprache funktioniert.
Man müsste ausser der Umleitung wahrscheinlich nur dafür sorgen, dass das Root mit einer "Sprache" hantiert, die es real nicht gibt.
Mal ganz kurz, aber auch nicht ganz zu Ende gesponnen.

/cmsimple/config.php ändern bzw. erweitern:

Code: Select all

$cf['language']['default']="rd";
$cf['language']['2nd_lang_names']="rd=rootdefault; ....."
entsprechende Sprachen anlegen im Root und in Content (bleiben wir mal bei dem Beispiel: also jeweils en und de)

index.php im Root anpassen Meine Site liegt in dem Fall unter http://localhost/1_7_5/ (302 testet sich leichter, eigentlich muss es 301 sein.)

Code: Select all

if (is_readable('./cmsimple/userprelude.php')) {
    include './cmsimple/userprelude.php';
}
//include('./cmsimple/cms.php');

header("Location: /1_7_5/de/", true, 302);

exit();
Wer die index.php nicht ändern möchte, der kann unter /cmsimple/ die Datei userprelude.php anlegen
Inhalt:

Code: Select all

<?php

if(!preg_match('#(/de/)|(/en/)#i', $_SERVER['PHP_SELF'])) {
    header("Location: /1_7_5/de/", true, 302);
    exit();
}

Probleme von System her sehe ich nicht wirklich. Aber auch nur ganz kurz getestet.
Was da stört ist das Sprachmenü, weil der Eintrag für rd entfernt werden müsste.
/cmsimple/tplfuncs.php Zeile 525 auskommentieren

Code: Select all

    //array_unshift($r, $cf['language']['default']);
Plugins wie Polyglot oder Sitemapper sehe ich da schon eher problematisch.

Re: Defaultsprache auch im Unterordner

Posted: Fri Feb 25, 2022 4:41 pm
by cmb
Ich sehe hier vor allem das Problem, dass doch vermutlich nicht selten nur eine Sprache verwendet wird, und dann immer auf einen Unterordner weiterzuleiten, scheint nicht wirklich elegant. Und ich finde es auch gar nicht mal verkehrt, wenn es eben eine primäre Sprachversion gibt, und eben Zweitsprachen.

Re: Defaultsprache auch im Unterordner

Posted: Fri Feb 25, 2022 5:13 pm
by olape
cmb wrote:
Fri Feb 25, 2022 4:41 pm
Ich sehe hier vor allem das Problem, dass doch vermutlich nicht selten nur eine Sprache verwendet wird, und dann immer auf einen Unterordner weiterzuleiten, scheint nicht wirklich elegant. Und ich finde es auch gar nicht mal verkehrt, wenn es eben eine primäre Sprachversion gibt, und eben Zweitsprachen.
Ja, auch ein relevantes „Problem“.
Man müsste beides abdecken. Und da wird es schwierig, denke ich.

Ich sehe in dieser Variante eigentlich nur einen Vorteil.
Die Defaultsprache kann ohne Aufwand gewechselt werden.

Aber es steht ja jedem frei diesen Workaround zu nutzen.
Was sich bei einigen Plugins ergeben wird?
Aber ausser Polyglot und Sitemapper und vielleicht noch xlang (was ja hoffentlich bald nicht mehr nötig sein wird), fällt mir da jetzt nichts ein.

Re: Wunsch: Neue Sprache anlegen

Posted: Wed Mar 02, 2022 4:29 pm
by Michael_G
olape wrote:
Thu Feb 24, 2022 7:55 pm
Michael_G wrote:
Thu Feb 24, 2022 5:39 pm
Vorschlag/Idee: wäre standardmäßig/bei Wunsch nach Mehrsprachigkeit schon die erste Sprache als Sprachordner angelegt, wäre es viel einfacher, manuell oder automatisch auf eine oder mehrere Sprachen zu erweitern.
Oder auch die Standardsprache zu wechseln. Das stimmt.

Trotzdem bin ich nicht sicher, ob das wirklich gut wäre.
Es würde permanent eine Weiterleitung aus dem Root der Site erfordern.
Ja, das ist so, aber seit meinem langen Studium der .htaccess-Möglichkeiten betrachte ich die .htaccess längst nicht mehr als unbekannten Fremdkörper, sondern als wesentlichen Teil der CMS-Konfiguration. Eine schöne Symbiose mit CMSimple_XH, welche alle Unzulänglichkeiten ausbügelt: Multidomain, Clean URL und gleichberechtigte Sprachen sind ohne Performance-Nachteile machbar.
Natürlich ist das nichts für Neueinsteiger oder Nutzer anderer Webserver als Apache, aber mir blieb so der CMS-Wechsel erspart. 8-)