Zum Inhalt springen

Standard Sprache nachträglich ändern

Erstellt am 26. Juli 2011 · 5 Antworten · letzte Antwort am 23. Juni 2013

Tags: Datenbank, Frage

webby ·

Hallo, für eine Website mit TYPO3 4.5.x wird Deutsch als Standardsprache verwendet.
Englisch ist als eine weitere Sprache ebenfalls verfügbar

So sieht die TypoScript-Konfiguration aus:

# Standardsprache, Deutsch mit uid 0
config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de

# L=0 oder kleiner 1 -> Deutsch
[globalVar = GP:L<1]
	config.sys_language_uid = 0
	config.language = de
	config.locale_all = de_DE
	config.htmlTag_langKey = de

# L=1 -> Englisch
[globalVar = GP:L=1]
	config.sys_language_uid = 1
	config.language = en
         config.locale_all = en_EN
	config.htmlTag_langKey = en
        
[global]

Sprache uid
-------------
Deutsch 0
Englisch 1

Ich möchte, dass neu Englisch die Standardsprache mit der uid 0 wird. Und Deutsch die uid 1 trägt.

Also die beiden Sprachen nachträglich getauscht werden.

Folgende Ideen habe ich dazu:
- Manuell in der MySQL Datenbank?
- Oder gibt es dazu eine Extension?
- Oder kann ich via TypoScript fürs Backend eine andere Sprache als default uid definieren? Natürlich müsste ich dann fürs Frontend ebenfalls via config.sys_language_uid = 1 die neue Standardsprache setzen.

Andere Ideen oder Vorschläge? Stand jemand schon vor einem ähnlichen Problem? Kann ja immer wiedermal vorkommen, dass sich z.B. ein Kunde entschliesst eine andere Standardsprache zu nutzen.

Chrissli ·

Hallo webby,

das ist etwas kompliziertes...
definiere "Standardsprache"

Wenn deine Seiten immer in allen Sprachen vorhanden sind und du nur ändern möchtest,
welche Sprache bei Seitenaufruf anzeigt wird, bis der Benutzer die Sprache umschaltet, dann
ist das ändern der config.sys_language_uid ( und zugehörige werte ) der einfachste und Beste weg.

Prinzipiell kann ich dir nur davon abraten manuell in der Datenbank zu fummeln, dabei übersieht man
gerne mal einen Zusammenhang und sucht später nach Fehlern die nicht sein müssten, und auch im Forum
niemand mehr nachvollziehen kann.

webby ·

Standard-Sprache -> Default-Sprache.
Welche im Backend bei der Lokalisierungsansicht immer ganz links ist.
Also auch die Sprache, mit welcher zuerst die Navigation/Inhalte erfasst werden.

webby ·

Edit:

Edit:
Ich habe noch ein Bild angehängt.
Englisch soll neu die Default-Sprache mit der sys_language_uid = 0 werden und Deutsch die mit sys_language_uid = 1.
Das Backend wird neu von Englischen Editoren bearbeitet. Daher ist es ärgerlich wenn im Backend der Seitenbaum in Deutsch erscheint.
Ebenfalls soll mit der Extension "rlmp_language_detection" die Sprache des Frontend-Benutzers (Gast) automatisch erkannt werden. Und falls die Sprache nicht erkannt wird oder der Frontend-Benutzer (Gast) mit einer anderen Sprache surft, z.B. Französisch, soll weiterhin die englische Version angezeigt werden.
Surft der Frontend-Benutzer (Gast) jedoch mit Deutsch, so soll die Seite in Deutsch angezeigt werden.

Hat denn niemand eine Idee?
Kann ich nirgends im Setup oder Installer definieren, dass TYPO3 die jetztige sys_language_uid = 1 als Default nehmen soll?

Mit config.sys_language_uid = 1 stell ich ja nur die Default-Ansicht im Frontend um. Aber die automatische Spracherkennung funktioniert dann nicht so wie gewünscht.
Ebenfalls gibt es Probleme mit RealURL.

Kann ja nicht sein, dass ich weltweit der einzige mit einem solchen Problem bin!

lang.png

stefano37 ·

wir stehen vor dem gleichen Problem:

english soll die Standard-Sprache werden ist aber leider mit der id 1 festgelegt worden.

0 ist im jeweiligen Seitenbaum immer die entprechende Landessprache.

Gibt es evtl. eine Möglichkeit im Backend zu sagen: die Standardsprache hat die id 1 und nicht 0 ?

Vllt. hat doch noch jemand einen Tip.

MelS ·

Auch mir geht es ähnlich.

Hab es mit folgendem Typoscript geschafft, dass die Standard-Sprache im Firefox, Chrome und Opera auf Englich geswitcht ist. Nur Internet Explorer und Safari machen es nicht richtig. Teile der Seite bleiben auf Deutsch - u.a. die ganzen Links.

Ich hab mir schon die Finger wundgegooglet, aber keine vernünftige Lösung gefunden.

Ich würd mich also auch sehr freuen, wenn hier jemand einen Rat für mich hätte!

lib.langmenu = COA
lib.langmenu {
10 = HTML
10.value (
<ul>
<li class="english"><a href="?L=1">english</a>
<ul>
<li class="deutsch"><a href="?L=0">deutsch</a></li>
</ul>
</li>
</ul>
)
}

config.linkVars = L
config.uniqueLinkVars = 1
config.sys_language_overlay = content_fallback
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
config.sys_language_uid = 1

[globalVar = GP:L = 0]
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
config.sys_language_uid = 0
lib.langmenu = COA
lib.langmenu {
10 = HTML
10.value (
<ul>
<li class="deutsch"><a href="?L=0">deutsch</a>
<ul>
<li class="english"><a href="?L=1">english</a></li>
</ul>
</li>
</ul>
)
}
[global]

...

plugin.tx_rlmplanguagedetection_pi1 {
defaultLang = en
}