Sprachversionen und html-Tag Attribut lang
Sprachversionen und html-Tag Attribut lang
Hallo,
ich möchte in einer zweisprachigen Version einer Website (engl. und deutsch) gerne auch die automatische hyphens im CSS nutzen (-moz-hyphens: auto;
hyphens: auto;). Hierzu benötigt man aber im einleitenden html-Tag die Spezifizierung lang=de und lang=en.
Wenn Contenido Sprachversionen nun synchronisieren soll (das brauche ich), dann kann ich nicht verschiedene Templates oder Module nutzen, bei der Synchronisierung wird ja immer alles wieder auf ein Template zurückgesetzt.
Git es ein Skript für Contenido, das je nach Sprachversion das Attribut lang="de" oder lang="en" ins html-Tag setzt?
Gruß aus Bremen,
Horst
ich möchte in einer zweisprachigen Version einer Website (engl. und deutsch) gerne auch die automatische hyphens im CSS nutzen (-moz-hyphens: auto;
hyphens: auto;). Hierzu benötigt man aber im einleitenden html-Tag die Spezifizierung lang=de und lang=en.
Wenn Contenido Sprachversionen nun synchronisieren soll (das brauche ich), dann kann ich nicht verschiedene Templates oder Module nutzen, bei der Synchronisierung wird ja immer alles wieder auf ein Template zurückgesetzt.
Git es ein Skript für Contenido, das je nach Sprachversion das Attribut lang="de" oder lang="en" ins html-Tag setzt?
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
-
- Beiträge: 1945
- Registriert: Sa 8. Sep 2007, 16:23
- Wohnort: Brandenburg
- Hat sich bedankt: 6 Mal
- Kontaktdaten:
Re: Sprachversionen und html-Tag Attribut lang
Man kann mit der Language ID (im 4.8 noch $lang) auch den Sprachen-Namen aus der DB bekommen, mit dieser Methode (Funktion):
https://api.contenido.org/con490/source ... nguageName
Wenn Du dich da an die internationale Konvention hältst bei der Sprachen Benennung, das heißt deine 1. Sprache "de" und deine zweite "en" statt z.B. "deutsch" oder "english". Damit hast du dann automatisch auch die Kürzel, die in das Metatag kommen.
Nun fehlt dir nur noch ein Container im Head-Bereich deines Layouts und ein Modul dazu, das je nach Language ID den Sprachennamen holt und in den Metatag einfügt. Den Metatag selbst schreibst du in das Modultemplate und im Platzhalter dann eben den Sprachennamen.
https://api.contenido.org/con490/source ... nguageName
Wenn Du dich da an die internationale Konvention hältst bei der Sprachen Benennung, das heißt deine 1. Sprache "de" und deine zweite "en" statt z.B. "deutsch" oder "english". Damit hast du dann automatisch auch die Kürzel, die in das Metatag kommen.
Nun fehlt dir nur noch ein Container im Head-Bereich deines Layouts und ein Modul dazu, das je nach Language ID den Sprachennamen holt und in den Metatag einfügt. Den Metatag selbst schreibst du in das Modultemplate und im Platzhalter dann eben den Sprachennamen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4315
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Sprachversionen und html-Tag Attribut lang
Servus,
Gruß aus Franken
Ortwin
Das ist nicht notwendig, denn bei den Mandanten wurde und wird bereits in 4.8 , und auch in 4.9, das Land und die Sprache in den Sprach-Einstellungen festgelegt. Diese kann man über cRegistry::getLanguage()->getProperty("language", "code") ja recht einfach abfragen und damit entweder direkt im Layout oder per Modul den Tag zusammen setzen.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Sprachversionen und html-Tag Attribut lang
Vielen Dank für die Antworten,
ich werde das durchprobieren,
Horst
ich werde das durchprobieren,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Sprachversionen und html-Tag Attribut lang
Hallo zusammen,
ich hab das Problem damals mit meinen begenzten Programmierkenntnissen nicht lösen können.
Könnte mir jemand ein Snippet posten, dass ich gleich ins Layout packe, damit im Tag <html lang="xy"> die aktuelle Sprachversion direkt eingelesen wird. Das wär super!
Gruß aus Bremen,
Horst
ich hab das Problem damals mit meinen begenzten Programmierkenntnissen nicht lösen können.
Könnte mir jemand ein Snippet posten, dass ich gleich ins Layout packe, damit im Tag <html lang="xy"> die aktuelle Sprachversion direkt eingelesen wird. Das wär super!
Gruß aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Sprachversionen und html-Tag Attribut lang
Hallo Horst,
ich weiß nicht genau, ob ich dich richtig verstanden habe.
Du möchtest im Quelltext der Ausgabe im Tag <html lang="xy"> das XY durch den jeweiligen Namen der Sprache (die du dann de oder en genannt hast) ersetzen. Richtig?
Ich würde das über einen Container lösen.
Container in den Tag bauen:
<html lang="<container id="100" name="sprachenname" types="head" mode="fixed" default="sprachenname">sprachenname</container>">
Dann Modul mit folgendem Output anlegen
Modul in der Vorlage zuordnen...
Meist du sowas?
Gruß, Christian
ich weiß nicht genau, ob ich dich richtig verstanden habe.
Du möchtest im Quelltext der Ausgabe im Tag <html lang="xy"> das XY durch den jeweiligen Namen der Sprache (die du dann de oder en genannt hast) ersetzen. Richtig?
Ich würde das über einen Container lösen.
Container in den Tag bauen:
<html lang="<container id="100" name="sprachenname" types="head" mode="fixed" default="sprachenname">sprachenname</container>">
Dann Modul mit folgendem Output anlegen
Code: Alles auswählen
<?php
$languageCollectionInstance = new cApiLanguageCollection();
$currentLanguageId = cRegistry::getLanguageId();
echo $languageCollectionInstance->getLanguageName($currentLanguageId );
?>
Meist du sowas?
Gruß, Christian
--------------------------------------------
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Re: Sprachversionen und html-Tag Attribut lang
Hallo Christian,
Ja so in der Art, aber ein Container innerhalb eines Tags funktioniert nicht, daher habe ich es so erweitert:
und damit den ganzen html-Tag ersetzt. Klappt perfekt.
Vielen Dank für deine Hinweise,
Gruß,
Horst
Ja so in der Art, aber ein Container innerhalb eines Tags funktioniert nicht, daher habe ich es so erweitert:
Code: Alles auswählen
<?php
$languageCollectionInstance = new cApiLanguageCollection();
$currentLanguageId = cRegistry::getLanguageId();
echo '<html lang="', $languageCollectionInstance->getLanguageName($currentLanguageId ), '">';
?>
Vielen Dank für deine Hinweise,
Gruß,
Horst
Zuletzt geändert von Oldperl am Fr 20. Mai 2022, 07:30, insgesamt 1-mal geändert.
Grund: Moderation: Code-Tags ergänzt
Grund: Moderation: Code-Tags ergänzt
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
-
- Beiträge: 4315
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
Re: Sprachversionen und html-Tag Attribut lang
Servus,
Gruß aus Franken
Ortwin
Nun, dann einfach den gesamten Tag in einem Modul generieren.
Gruß aus Franken
Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog