[TYPO3-german] newbie
bernd wilke
t3ng at bernd-wilke.net
Wed Sep 10 10:20:27 CEST 2014
Am 10.09.14 09:05, schrieb Uli ilu:
> Hallo Bernd,
>
> vielen Dank für die ausführlichen Erklärungen.
>
> Ich habe nun versucht die Setup.txt für meine Bedürfnise anzupassen.
> Ich habe vor unten links ein Menü zur Auswahl der entsprechnenden
> Sprache anzeigen zu lassen.
> Im Backende habe ich die Anpassungen mit TypoScript wie vorgeschlagen
> durchgeführt und habe das gewünschte Ergebnis im BE erzeilen können.
> Standard ist nun Deutsch (mit Flagge!), dann kommt Englisch und
> Französisch, welche ich als zusätzliche Übersetzungen anlegen kann.
> Soweit ich das sehen kann haben die Sprachen die IDs 3 für Englisch und
> 4 für Französisch im BE. Deutsch sollte dann ja ID 0 haben?
> Meine Frage nun, ob ich diese IDs auch im Script verwenden muss, oder
> lege ich diese selbst fest?!
hier musst du aufpassen.
natürlich kannst du an einigen Stellen deien eigene Nummerierung
benutzten, doch an anderen Stellen musst du unbedingt die uids der
sys_language Tabelle benutzen.
und natürlich sieht das immer schöner aus, wenn da keine Lücken sind.
Aber lieber mit Lücken leben als ein Chaos mit unterschiedlichen Nummern
auf verschiedenen Ebenen zu haben. Oder den gesamten Content auf andere
Sprachen umziehen zu müssen (das würde ich dann allerdings per SQL machen)
und natürlich kannst du einen bestehenden sys_language-Datensatz nehmen
und dort die Sprache wechseln. Das hat dann erstmal keinen Einfluss auf
deinen Content oder typoscript-Konfiguration. Die müssen dann auch
angepasst werden.
> In der nun von mir angepassten Datei sieht es jetzt bei den Sprachen so
> aus:
>
> #######################
> #### LANGUAGE MENU ####
> #######################
> lib.language = COA
> lib.language {
>
> #10 = TEXT
> #10 {
> # value = Language
> # value.lang.de = Sprache
> # value.lang.en = language
> # value.lang.fr = lang
> # noTrimWrap = |<li><span class="glyphicon
> glyphicon-globe"></span> |</li>|
> #}
>
> 20 = HMENU
> 20 {
> special = language
> special.value = 0,1,2
uids der sys_language Datensätze?
> special.normalWhenNoLanguage = 0
> wrap =
> 1 = TMENU
> 1 {
> noBlur = 1
> NO = 1
> NO {
> linkWrap = <li>|</li>
> stdWrap.override = Deutsch || English || Francaise
> doNotLinkIt = 1
> stdWrap {
> typolink {
> parameter.data = page:uid
> additionalParams = &L=0 || &L=1 || &L=2
eigene Sprach-Ids
> addQueryString = 1
> addQueryString.exclude = L,id,cHash,no_cache
> addQueryString.method = GET
> useCacheHash = 1
> no_cache = 0
> }
> }
> }
> ACT < .NO
> ACT.linkWrap = <li class="active">|</li>
> #### NO TRANSLATION AVAILABLE STATES ####
> USERDEF1 < .NO
> USERDEF1 {
> linkWrap = <li class="text-muted">|</li>
> stdWrap.typolink >
> }
> USERDEF2 < .ACT
> USERDEF2 {
> linkWrap = <li class="text-muted">|</li>
> stdWrap.typolink >
> }
> }
> }
> wrap = <ul id="language_menu" class="list-inline">|</ul>
> }
>
>
> ################
> #### CONFIG ####
> ################
> config {
> no_cache = {$config.no_cache}
> uniqueLinkVars = 1
> pageTitleFirst = 1
> linkVars = L
am besten auf benutzte Werte einschränken, damit sich kein
SPAM/Injections im Cache festsetzen:
linkVars = L(0-4)
> renderCharset = utf-8
> metaCharset = utf-8
> doctype = html5
> removeDefaultJS = external
> inlineStyle2TempFile = 1
> admPanel = 1
> debug = 0
> cache_period = 43200
> sendCacheHeaders = 0
> intTarget =
> extTarget =
> disablePrefixComment = 1
> index_enable = 1
> index_externals = 1
> headerComment = {$config.headerComment}
>
>
> // Language Settings
> sys_language_uid = 0
> sys_language_overlay = 1
> sys_language_mode = content_fallback
> language = de
> locale_all = de_DE.UTF-8
> htmlTag_setParams = lang="de" dir="ltr" class="no-js"
> }
>
>
> #############################
> #### LANGUAGE CONDITIONS ####
> #############################
> [global]
> [globalVar = GP:L = 1]
eigene ID
> config {
> sys_language_uid = 1
sys_language Datensatz uid
> language = en
> locale_all = en_US.UTF-8
> htmlTag_setParams = lang="en" dir="ltr" class="no-js"
> }
> [global]
> [globalVar = GP:L = 2]
eigene ID
> config {
> sys_language_uid = 3
sys_language Datensatz uid
> language = fr
> locale_all = fr_FR.UTF-8
> htmlTag_setParams = lang="fr" dir="ltr" class="no-js"
> }
> [global]
>
> Macht das so Sinn?
wie schon erwähnt würde ich versuchen unterschiedlichen Werte zwischen L
und sys_language zu vermeiden.
bernd
--
http://www.pi-phi.de/cheatsheet.html
More information about the TYPO3-german
mailing list