Zum Inhalt springen

typo3 3.7 und standardsprache

Erstellt am 18. Oktober 2004 · 7 Antworten · letzte Antwort am 18. Oktober 2004

Tags: Frage

wini2 ·

hallo,

obwohl ich schon kräftig gesucht habe, habe ich keinen beitrag gefunden, der folgendes problem behandelt:

ich möchte eine zweisprachige seite, deutsch und englisch.

deutsch sollte die defaultsprache sein
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE

folglich ist englisch die alternativsprache.

(vgl. 'one-tree-concept und der ebenfalls guten beschreibung von j. weiland)

das klappt bei normalen contentelementen auch wunderbar (wie in 3.5) - außer bei 'besonderen' elementen, wie z. b. login-box oder indexed search - die werden immer nur in der defaultsprahe angezeigt.

ist da irgendwas neu in 3.7? gibt es keine möglichkeit, das so hinzubekommen, wie in version 3.5? für redakteure wäre das handling sonst sehr verwirrend, insbesondere wenn deutsch deren 'geistige' default-sprache ist.

für d e n entscheidenden tipp danke ich euch

jweiland ·

Nicht alle Extensions und Funktionen sind standardmässig für Mehrsprachigkeit ausgelegt. Im Zweifelsfall muss man suchen, wo sich die zu übersetzenden Texte befinden und diese dann selbst über eine Bedingung einfügen.

Die zu übersetzenden Texte findet man entweder im Typoscript, in einer externen Template-Datei (tmpl) oder in der jeweiligen locallang.php

Jochen Weiland

GtS ·
jweiland schrieb

Nicht alle Extensions und Funktionen sind standardmässig für Mehrsprachigkeit ausgelegt. Im Zweifelsfall muss man suchen, wo sich die zu übersetzenden Texte befinden und diese dann selbst über eine Bedingung einfügen.

Die zu übersetzenden Texte findet man entweder im Typoscript, in einer externen Template-Datei (tmpl) oder in der jeweiligen locallang.php

Jochen Weiland

Gut, aber wie geht das?

Im Object Browser finde ich z.B. zu CHC Forum:

[tx_chcforum_pi1]=USER_INT
[includeLibs]=typo3conf/ext/chc_forum/pi1/class.tx_chcforum_pi1.php
[userFunc]=tx_chcforum_pi1->main
[_CSS_DEFAULT_STYLE]= /* BASIC STUFF */ ...
[_LOCAL_LANG]
[default]
[pi_list_searchBox_search]=Search!

So, nun möchte ich die andere Übersetzung, die ich hier im Forum gefunden habe nutzen (zumal in der Originalübersetzung die Umlaute bei mir verkehrt angezeigt werden).

Was muss ich genau tun, damit CHC Forum meine locallang.php nimmt und nicht die eigene?

P.S. die Original locallang.php kann ich wg. der Zugriffsrechte nicht ändern.

Guido

jweiland ·

die Original locallang.php kann ich wg. der Zugriffsrechte nicht ändern.

Dann würde ich diesen Zustand ändern. Denn die locallang.php ist in dieem Fall der richtige Weg um die Sprache zu ändern.

Jochen Weiland

wini2 ·

vielen dank für die schnellen antworten.

wenn ich es richtig verstanden habe, muss ich z. b. bei der indexed search

$LOCAL_LANG = Array (
'default' => Array (
'submit_button_label' => 'Search',
'opt_type_0' => 'Distinct word',
'opt_type_1' => 'Part of word',
'opt_type_2' => 'First part of word',
'opt_type_3' => 'Last part of word',
'opt_type_10' => 'Sounds like',
'opt_type_20' => 'Sentence',
'opt_defOp_0' => 'All words (AND)',
'opt_defOp_1' => 'Any words (OR)',
'opt_sections_0' => 'Whole site',
'opt_sections_-1' => 'Only this page',
'opt_sections_-2' => 'Top + level 1',
'opt_sections_-3' => 'Level 2 and out',
'opt_media_-1' => 'All media',
'opt_media_0' => 'Interne pages',
'opt_media_-2' => 'All External',
'opt_media_1' => 'HTML',
'opt_media_2' => 'PDF',
'opt_media_3' => 'MS Word',
'opt_order_rank_flag' => 'Weight/Frequency',
'opt_order_rank_freq' => 'Frequency',
'opt_order_rank_first' => 'Close to top',
'opt_order_rank_count' => 'Number of words',
'opt_order_mtime' => 'Date Modified',
'opt_order_title' => 'Document title',
'opt_order_crdate' => 'Creation date',
'opt_group_sections' => 'Section hierarchy',
'opt_group_flat' => 'Flat list',
'opt_lang_-1' => 'All languages',
'opt_lang_0' => 'Default',
'opt_desc_0' => 'Highest first',
'opt_desc_1' => 'Lowest first',
'opt_RL1' => 'Level 1:',
'opt_RL1ALL' => 'All pages on level 1',
'opt_RL2' => '- Level 2:',
'opt_RL2ALL' => '- All pages on level 2',
'form_searchFor' => 'Search for:',
'form_extResume' => 'Extended resume',
'form_atATime' => 'at a time',
'form_orderBy' => 'Order by:',
'form_fromSection' => 'From section:',
'form_searchIn' => 'Search in:',
'form_match' => 'Match:',
'form_style' => 'Style:',
'rules_header' => 'Rules:',
'rules_text' => '
Only words with 2 or more characters are accepted
Max 200 chars total
Space is used to split words, "" can be used to search for a whole string (not indexed search then)
AND, OR and NOT are prefix words, overruling the default operator
+/|/- equals AND, OR and NOT as operators.
All search words are converted to lowercase.
',
'searchFor' => 'Search for',
'searchFor_or' => 'or',
'searchFor_and' => 'and',
'searchFor_butNot' => 'but not',
'noResults' => 'NO results found.',
'inSection' => 'in the section',
'inNsection' => 'i %s section:',
'inNsections' => 'in %s sections:',
'word_page' => 'page',
'word_pages' => 'pages',
'unnamedSection' => 'Other',
'link_regularSearch' => 'Regular search',
'link_advancedSearch' => 'Advanced search',
'res_path' => 'Path:',
'res_modified' => 'Modified:',
'res_created' => 'Created:',
'res_size' => 'Size:',
'res_noResume' => 'Note: This search hit may not accurately match the content on this page. The page resume cannot be shown.',
'res_otherMatching' => 'Other matching pages in the same document:',
'res_otherPageAsWell' => 'INFO: There was another page indexed as well... Probably indexed with another or no usergroup.',
'res_memberGroups' => 'Require membership of group numbers %s',
'pi_list_browseresults_prev' => '< Previous',
'pi_list_browseresults_page' => 'Page',
'pi_list_browseresults_next' => 'Next >',
'pi_list_browseresults_displays' => 'Displaying results ###SPAN_BEGIN###%s to %s</span> out of ###SPAN_BEGIN###%s</span>',
'local_operator_AND' => 'AND',
'local_operator_OR' => 'OR',
'local_operator_NOT' => 'NOT',
),

durch deutsche begriffe ersetzen.

was aber mache ich mit den englischen? es gibt ja keine array für englisch (en)? kann ich einfach eines anlegen - oder muss ich im de-array die englischen begriffe eintragen?

insgesamt finde ich die lösung sehr unbefriedigend, zumal es doch vorher gut lief. außerdem heißt das ja wohl für den einbau neuer/weiterer extensions, dass ich jede vorher checken und anpassen muss, auch wenn es deutsche übersetzungen dafür gibt.

richtig heftig könnte es werden, wenn noch andere faktoren auftauchen. ich wage gar nicht an last update und zuletzt aktualisiert zu denken, die ich auch noch einbauen will.

gruß

wini2 ·

ich habe gerade mal die ext TS Language, German (ts_language_de) deaktiviert - und siehe da - es ging.

kann es sein, dass die ganze konfusion daher rührt und man auf keinen fall die ext aktivieren und bloß nicht auf default stellen darf?

Try to set as default [en]

If set the TypoScript value 'config.language' will be set with the language key. Unless it is overridden by any later value that should set this langauge as default.

ich hoffe, es resultieren keine anderen schwierigkeiten aus der deaktivierung.

gruß

GtS ·
jweiland schrieb

Dann würde ich diesen Zustand ändern. Denn die locallang.php ist in dieem Fall der richtige Weg um die Sprache zu ändern.

Jochen Weiland

Habe gerade mit meinem admin telefoniert. Leider erhalte ich keine Zugriffsrechte auf Dateien, die ich mit typo3 upgeloaded habe, da der Server ja quasi selber uploaded.
Da mein admin aber auch typo3 nutzt, konnte er mir erzählen, dass ich ja im Extension Manager kompletten Zugriff auf die upgeloadeten Dateien habe und sie dort auch editieren kann.
Also: Problem gelöst.

Guido

jenses ·

@wini2

last update ist gar kein Problem :

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
# Formatierung des "Letze Änderung:" -Datums
styles.content.lastUpdate.strftime = %e. %B %Y
[global]
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.locale_all = english
# Formatierung des "Last Update:"-Datums
styles.content.lastUpdate.strftime = %B %e, %Y
[global]
########

Dann habe ich in der HTML-Vorlage zwei <div> plaziert,
eine für den Text "Zuletzt aktualisiert :",
die andere für das Datum.
Die Wertezuweisung erfolgt so :

# Ersetzt den ###update-text-box### -Subpart mit folgendem Inhalt 
subparts.update-text-box = TEXT
subparts.update-text-box.lang.de = Letzte Änderung :
subparts.update-text-box.lang.en = Last Update :
# Fügt das entsprechend formatierte Datum ein
subparts.update-box < styles.content.lastUpdate

viele Grüße
jenses