Unterstützung mehrsprachiger Webseiten

Ke_search Unterstützt mehrsprachige Webseiten:

  • Sucht man in einer bestimmten Sprache, werden nur Ergebnisse dieser Sprache angezeigt.
  • Filter können übersetzt werden und in der jeweiligen Sprache angezeigt werden.

Nachdem Sie eine zweite "Webseiten-Sprache" in der Root-Seite Ihrer TYPO3 Installation eingestellt haben, folgen Sie diesen Schritten:

  1. Seitenübersetzungen erstellen
    Erstellen Sie alternative Seitensprachen für den Systemordner, welchen Sie in der ke_search-Plugin Konfiguration definiert haben und für die Suchergebnisseite. Sie können das mit Hilfe der Listenansicht erledigen, indem Sie einen neuen Eintrag namens "Alternative Page language" erstellen, oder mit Hilfe der Seitenansicht, indem Sie die Funktion "Make new translation of this page" nutzen.
  2. Übersetzen Sie Filter und Filter-Optionen
    Nun können Sie die “Localization view”-Checkbox in der Listenansicht aktivieren, um die Filter und Filteroptionen in die neue Sprache zu übersetzen.
  3. Lokalisieren Sie die ke_search-Plugins
    Auf der Suchergebnisseite müssen Sie das ke_search_Plugin in die zuvor übersetzte Seite einfügen. Dafür können Sie die Funktion „copy default content elements“ nutzen. Die Konfiguration des Plugins können Sie so belassen.

 

Nach diesem Schritt starten Sie bitte den Indexerprozess erneut.

Anmerkung: Auf mehrsprachigen Seiten sucht ke_search nach dem Parameter "L" (z.B. "&L=1). Sollten Sie einen anderen Parameter verwenden (dies gilt auch, wenn L kleingeschrieben ist), werden Sie bei jeder Suche zur Standard-Sprache der Seite zurückgeleitet.

Beispiel einer einfachen Konfiguration

Es gibt viele Möglichkeiten, Sprachunterstützung in TYPO3 zu konfigurieren.

Folgendes TS haben wir im Template-Setup getestet:

Typoscript
config.linkVars = L
config.sys_language_overlay = hideNonTranslated
config.language = en
config.locale_all = en_EN.UTF-8
config.htmlTag_langKey = en
config.sys_language_uid = 0

[globalVar = GP:L=1]
	config.language = de
	config.locale_all = de_DE.UTF-8
	config.htmlTag_langKey = de
	config.sys_language_uid = 1
[global]

Diese Konfiguration sorgt dafür, dass alle Werte, die NICHT in der gewählten Sprache übersetzt sind, NICHT angezeigt werden in der Liste der Filteroptionen. Es gibt keine Umleitung auf die Default-Seite. Bitte lesen Sie die TYPO3 TSref-Dokumentation, um mehr über Rückfall-Optionen zu erfahren.

Markus (Archiv)
Ich habe eine Multitree-Seite – jede Sprache hat einen eigenen Seitenbaum. Zusätzliche Webseitensprachen sind somit nicht erfasst, nur im TS Setup wird je nach Seitenbaum die Sprache gesetzt, damit die Extensions auch übersetzt angezeigt werden.

Nun habe ich das Problem, dass ke_search nur auf der Seite mit der Standardsprache (sys_language_uid = 0) funktioniert – auf den anderen Seite wird leider nichts gefunden.

In meinem Aufbau ist es somit auch nicht möglich, den SYS Folder mit den Suchergebnissen/Indexer Konfigurationen zu übersetzen.

Gibt's irgendeine Möglichkeit, dass ganze trotzdem zum laufen zu bringen? Eigentlich sollte einfach zu jedem Zeitpunkt alles gefunden werden – egal, welche sys_language_uid gerade gilt.

Grüsse
Markus
Christian (Archiv)
Hallo Markus, das müsste eigentlich funktionieren. Wenn config.sys_language_uid nirgendwo gesetzt ist, spielt sich ja technisch gesehen alles in der Standardsprache (UID 0) ab. Wenn Du config.language = en setzt, damit die Extensions automatisch übersetzt werden, sollte das keinen Einfluss haben. Vielleicht liegt noch ein anderer Konfigurationsfehler vor? Z. B. dass der Indexer nicht alle Seitenbäume erfasst?
Markus (Archiv)
Hallo Christian
Besten Dank für die rasche Antwort.

Ich wusste nicht, dass config.language = en reicht, um die Extensions zu übersetzen. Ich hatte config.sys_language_uid je nach Seitenbaum angepasst und in den eigens programmierten Extensions die Sprache anhand diese sys_language_uid abgefragt.

Wenn ich, wie von Dir beschrieben, die config.sys_language_uid in allen Bäumen auf 0 setze, funktionert die Suche. Also bleibt nur noch das anpassen der eigenen Extensions.

Besten Dank und Grüsse, Markus
Fabian (Archiv)
Hallo

Vielen Dank für diese geniale Extension. Ist wirklich eine tolle Sache.

Im möchte eure Suchmaschine auf einer mehrsprachigen Webseite einsetzen. Jedoch kann ich die Filter im SysOrdner nicht übersetzen, da das Feld LOCALISATION fehlt bzw. nicht angezeigt wird. Bei anderen Extensions (z.B. tt_news) funktioniert das.

Irgend eine Idee voran das liegen könnte oder gibt es ein Workaround dafür?

Besten Dank.

Viele Grüsse, Fabian
Christian (Archiv)
Hallo Fabian, danke! Die Lokalisierungsmöglichkeit ist für Filter und Filteroptionen vorgesehen. Hast Du für den SysOrdner eine alternative Seitensprache angelegt? Danach müsstes Du über das Liste-Modul die Filteroptionen lokalisieren können.
Fabian (Archiv)
Ja, habe ich alles gemacht. Leider erscheint in der Liste keine Spalte "Lokalisierung". Auch die Auswahl des Feldes "_LOCALIZATION_" blendet die Spalte nicht ein.
Christian (Archiv)
Hallo Fabian, ich habe es hier auf einer 4.7er Installation nochmal getestet, bei mir erscheinen die Lokalisierungsmöglichkeiten.
Fabian (Archiv)
Funktioniert einwandfrei. Sorry, hatte die Filteroptionen mit dem Index (welches man nicht "lokalisieren" kann/muss) verwechselt.

Vielen Dank.
Max (Archiv)
Hey,

danke für die Extension. Ich bin leider über das Problem gestolpert, dass die Filter und -optionen zwar übersetzt sind, aber im Frontend die Filteroptionen in der zweiten Sprache nicht angezeigt werden. In der Standard Sprache kann ich die Filter normal benutzen.

Die übersetzten Filter enthalten auch keine Datensätze. Könnte ein Problem in der Lokalisierung entstanden sein? Oder ist das korrekt so?

Habt ihr Lösungsvorschläge?

Danke
Christian (Archiv)
Hallo Max, ein Bug in der Lokalisierungsfunktion ist mir nicht bekannt, falls Du meinst einen entdeckt zu haben, würde ich Dich bitten auf forge.typo3.org einen Eintrag zu erstellen mit einer genauen Beschreibung, wie der Fehler reproduzierbar ist.
Ina (Archiv)
Das Problem mit den lokalisierten Filtern habe ich auch eben gehabt. Es bringt wenig, nur die Filter und Filteroptionen getrennt voneinander zu lokalisieren, da dem lokalisierten Filter so keine Optionen zugeordnet sind.
Abhilfe schaffte hier ein kleiner Umweg in die DB und das manuelle Nachtragen der Optionen in das Feld "tx_kesearch_filters.options".
Andreas (Archiv)
Bei der Lokalisierung gibts noch Probleme. In der Programmierung und in der Doku.
Hinweise:
- Übersetzung ist notwendig für: Filters, Filter Option, Inhaltselemente (Plugins)
- Nicht für Indexer Configuration

Beim Erstellen der Übersetzung:
- Systemordner mit den Elementen übersetzen
- Filter Sprachvariane erzeugen
- Neue Filter Option erzeugen und Sprache zuweisen und speichern
- Filter Option nachträglich der Filter Option mit der Default-Sprache zuweisen
Andreas (Archiv)
Letztes Posting korrigieren:
- Sprachversionen fehlerhaft, zumindest mit Templavoila Erweiterung
- weiters muss doch eine Indexer Konfiguration mit dem übersetzten Filter mit Filter Option erstellt werden, jedenfalls gibt's hier einiges nachzubessern
Brian (Archiv)
Hi

I'm also having problems getting filter options to show on translated page.

It might be related to what Andreas is explaining, but my german is not that good.

I have translated plugins, filters and filter options.

When editing a translated filters record, do you need to create new filter options? It would be more logical if you could just translate existing filter options, but this does not seem to work.
Christian (Archiv)
Hi Brian, maybe that's a bug. Did you try to add filter options to your localized filter, using the same "tags"? Does that work?
Johannes C. (Archiv)
Hallo

Wie kann ich bei einem eigenen Indexer die Sprache ignorieren? Ich habe Datensätze, die nur in einer Sprache angelegt sind, aber immer gefunden werden sollen.

Danke.
Johannes
Christian (Archiv)
Hallo Johannes, möglicherweise (nicht getestet) ist das realisierbar, indem per Hook bei der Indexeriung der Wert für "language" auf "für alle", also -1 gesetzt wird.
Erick (Archiv)
hallo,

ich würde gerne den Wert des Inputfeldes "<label index="searchbox_default_value">Suchbegriff</label>" in bulgarisch abändern. Ich habe die locallang.xml unter "/typo3/typo3conf/l10n/de/ke_search/pi1" mit einem bulgarischen Abschnitt erweitert

<languageKey index="bg" type="array">
<label index="searchbox_default_value">Ihr Suchbegriff ( bulgarisch )</label>
</languageKey>
als auch versucht mittels TS diesen Bereich anzusprechen. Beides funktioniert leider irgendwie nicht.

plugin.tx_ke_search_pi1._LOCAL_LANG.bg.searchbox_default_value = Ihr Suchbegriff ( bulgarisch )

Habt ihr da evtl. nen Tipp für mich?
Christian (Archiv)
Hallo Erick, möglicherweise gibt es hier noch einen Bug. Am besten einen Eintrag unter forge.typo3.org/projects/extension-ke_search/issues eröffnen. Übersetzungen am besten unter translation.typo3.org/projects/TYPO3.TYPO3.ext.ke_search/ eintragen. Danke.
Jeppe Donslund, 06-06-15 00:25
How can make searchbox_default_value Danish. I would like it to be "Din søgning".
Christian, 15-06-15 11:08
Hi Jeppe,

this would be the typoscript for you:

config.language = dk
plugin.tx_kesearch_pi1._LOCAL_LANG.dk.searchbox_default_value = Din søgning
Vincent Mans, 17-06-15 15:51
Hi there,

Is there a way to index the default language content also per system language, if a content element is not translated? Because we need fall-back for not translated content.

Thanks! Vincent
Christian, 18-06-15 12:01
Hi Vincent, by default this is not possible. You would need to write you own extension which hooks into the indexer class.
Jeppe Donslund, 06-07-15 17:21
Hej CHristian

Your answer helped me, thanks.

I made a little more, but only the line with searchbox_default_value = Søg her works.

plugin.tx_kesearch_pi1._LOCAL_LANG.default {
num_results = %s resultater
searchbox_default_value = Søg her
results = Søgeresultater
until = til
of = af
no_results_found = Ingen resultater fundet
}

How can that be?
Christian, 08-07-15 12:41
Hi Jeppe,

that's because some of the labels are defined in pi2, not in pi1.

Adding

plugin.tx_kesearch_pi2._LOCAL_LANG.default < plugin.tx_kesearch_pi1._LOCAL_LANG.default

should work in your case.
Jeppe Donslund, 08-07-15 22:44
Fantastic, THANKS.
Manfred, 26-08-15 12:03
Hallo, ich habe ein Problem mit den Übersetzungen beim Pagebrowser und zwar möchte ich für NEXT und PREVIOUS andere Werte im Deutschen angeben.

Wenn ich in meinen Typoscript setze :
plugin.tx_kesearch_pi1._LOCAL_LANG.default.pagebrowser_prev = &lt;
plugin.tx_kesearch_pi1._LOCAL_LANG.default.pagebrowser_prev = &lt;
plugin.tx_kesearch_pi1._LOCAL_LANG.de.pagebrowser_prev = &lt;
plugin.tx_kesearch_pi1._LOCAL_LANG.de.pagebrowser_next = &gt;

Wird mir immer nur die Standardübersetzung angezeigt. Selbst eine Änderung direkt in der language.xml unter PI1 brachte keine Änderung.

Was mache ich den falsch?
Manfred, 26-08-15 13:10
Hallo, und schon die Lösung auf mein Problem gefunden. Man muss noch die local_lang der PI2 zuweisen :

plugin.tx_kesearch_pi2._LOCAL_LANG.default < plugin.tx_kesearch_pi1._LOCAL_LANG.default
plugin.tx_kesearch_pi2._LOCAL_LANG.de < plugin.tx_kesearch_pi1._LOCAL_LANG.de

grüsse
Manfred
Ferhat, 10-07-17 17:27
Hi,

ich habe eine Multilang Website, wo ich eine separate Version für Österreich anbieten muss. Das klappt auch soweit.

Leider wird der Wert des Inputfeldes auf Englisch angezeigt obwohl ich in der locallang.xml einen eigenen Abschnitt für AT erstellt habe. Sonst wird alles übernommen nur der Submit-Button will irgendwie nicht. In anderen Sprachen habe ich keine Probleme nur bei AT. Sogar ungarisch funktioniert ohne probleme.

Der englische Wert greift jedenfalls sobald ich ihn ändere, ändert sich der Wert auch auf der AT-Website.

LG Ferhat
Torben, 11-07-17 16:26
Ich versuche gerade ke_search 2.5.0 auf TYPO3 8.7.1 einzurichten.
Für die Default-Sprache funktioniert der Filter wunderbar.

Für Englisch funktioniert der Filter überhaupt nicht.
Weder werden die Filteroptionen im FE in der Übersetzung angezeigt, noch erhalte ich "results".

In der "Suchbox und Filter" werden mir unter "Filtereinstellungen" -> "Filter" und "Versteckte Filter" ausschließlich die deutschsprachigen Filter angezeigt.
Im Bereich "Filtereinstellungen" -> "Vorausgewählte Filter" erscheinen aber die englischsprachigen Filter.

Kann mir jemand einen Tipp geben, wo ich noch nach dem Fehler suchen kann?

Gruß
Torben
Wolfgang, 12-09-17 09:55
Ich habe das gleiche Problem wie Torben.
ke_search 3.5.0, Typo3 8.7.4
Default Sprache ist Deutsch (0), zweite Sprache ist Englisch (1).
Nach dem Start des Indexers erscheint:
27 pages in 3 languages have been found for indexing.

Warum 3 languages??

Es werden nur die deutschen Inhalte indiziert.
In der Datenbank-Tabelle tx_kesearch_index stehen nur Inhalte mit language 0

Die Konfiguration habe ich wie unter Mehrsprachigkeit beschrieben durchgeführt.

Hat vielleicht jemand einen Tip?

Gruß

Wolfgang
Christian, 12-09-17 11:35
Hallo Wolfgang, das sollte im aktuellen Master (Github) gefixt sein. Könntest Du die Version testen?
Wolfgang, 13-09-17 08:11
Hallo Christian,
danke für die schnelle Antwort. Das hat funktioniert.
Gruß
Wolfgang
Dieter, 20-09-17 15:17
Ich kann ebenfalls bestätigen, dass es mit der Version im aktuellen Github Master funktioniert. Dennoch bleibt die verwirrende Meldung, es handle sich um 3 Sprachen, wo definitiv nur 2 konfiguriert sind.

Vielen Dank für den super Support
Dieter
Markus Liermann, 16-11-17 15:27
Was mache ich falsch?
plugin.tx_kesearch_pi1 {
_LOCAL_LANG.default.searchbox_default_value = Hakusana
_LOCAL_LANG.de.searchbox_default_value = Hakusana
}


ich würde den default wert gerade auf finnisch im Backend-TS überschreiben. Nimmt aber das System nicht an... Es bleibt der Wert stehen, der aus der locallang kommt.
Daniel Hasse, 18-01-18 17:27
Hallo allerseits,

ich habe ke_search unter TYPO3 8.7.9 laufen mit ke_search 2.6.2. Ich würde gerne das Label des Pagebrowser von next und previous ändern:
plugin.tx_kesearch_pi1._LOCAL_LANG {
default.pagebrowser_next = >
en.pagebrowser_next = >
de.pagebrowser_next = >
ru.pagebrowser_next = >
zh.pagebrowser_next = >
default.pagebrowser_prev = <
en.pagebrowser_prev = <
de.pagebrowser_prev = <
ru.pagebrowser_prev = <
zh.pagebrowser_prev = <
}

plugin.tx_kesearch_pi2._LOCAL_LANG {
default.pagebrowser_next = >
en.pagebrowser_next = >
de.pagebrowser_next = >
ru.pagebrowser_next = >
zh.pagebrowser_next = >
default.pagebrowser_prev = <
en.pagebrowser_prev = <
de.pagebrowser_prev = <
ru.pagebrowser_prev = <
zh.pagebrowser_prev = <
}
Funktioniert leider nicht. Der Wert wird weiterhin aus der Locallang File genommen. Hat sich da etwas geändert?

Viele Grüße
altos, 15-03-18 11:15
Ich habe dasselbe Problem wie Daniel Hasse, wieso ändert sich der Wert nicht über TS?

Kommentar hinzufügen

* - Pflichtfeld

Ihr Ansprechpartner für ke_search

* Pflichtfelder
zurück zum Kontakt
 

TYPO3 Agentur aus Leidenschaft. Wir erbringen alle Dienstleistungen rund um TYPO3. Von einfachen Webseiten bis hin zu TYPO3 Portal-Webseiten oder hoch komplexen TYPO3-Extensions. Wir engagieren uns im TYPO3 Security Board und in der Community. Unsere TYPO3 Agentur "lebt" TYPO3.