Willkommen auf Ihrer Conword-Demoseite. Hier sehen Sie drei Wege, einen eigenen Sprachwähler zu bauen, der sich nahtlos in Ihr Design einfügt.
Worum geht es? Der mitgelieferte Sprachwähler ist praktisch, aber nicht immer passend. Über die Javascript-API bauen Sie Ihren eigenen: aus einfachen Links, aus einer Auswahlliste, die Conword mit den lizenzierten Sprachen füllt, oder aus Buttons mit Flaggen und aktivem Zustand. Alle drei Varianten unten sind live und steuern dieselbe Seite.
Vorbereitung: den Standard-Sprachwähler ausblenden
Conword kennt die Sprachen Ihrer Lizenz. Mit Conword.get_available_languages() füllen Sie eine Auswahlliste automatisch, neue Sprachen erscheinen dann ohne Änderung an Ihrer Seite.
document.addEventListener('Conword:ready', function () {
var select = document.getElementById('my-language-select');
var languages = Conword.get_available_languages();
for (var key in languages) {
var option = document.createElement('option');
option.value = key;
option.textContent = languages[key].name; // native name, e.g. "Deutsch"
select.appendChild(option);
}
select.value = Conword.get_current_language();
select.addEventListener('change', function () { Conword.translate(this.value); });
});
C. Buttons mit Flaggen und aktivem Zustand
Die Flaggen liegen bei Conword bereit. Der aktive Zustand wird über das Ereignis Conword:translation_done gesetzt, damit er auch stimmt, wenn die Übersetzung anderswo ausgelöst wurde, etwa durch eine gespeicherte Sprache beim Seitenaufruf.
<div id="my-language-buttons"></div>
document.addEventListener('Conword:ready', function () {
var container = document.getElementById('my-language-buttons');
var languages = Conword.get_available_languages();
for (var key in languages) {
var button = document.createElement('button');
button.type = 'button';
button.setAttribute('data-lang', key);
button.innerHTML = '<img alt="" src="https://static.conword.io/assets/img/flags/svg/' + key + '.svg"> ' + languages[key].name;
button.addEventListener('click', function () { Conword.translate(this.getAttribute('data-lang')); });
container.appendChild(button);
}
markActiveLanguage();
});
function markActiveLanguage() {
var current = Conword.get_current_language();
document.querySelectorAll('[data-lang]').forEach(function (el) {
el.classList.toggle('active', el.getAttribute('data-lang') === current);
});
}
document.addEventListener('Conword:translation_done', markActiveLanguage);
D. Eine Funktion für alles
Wenn beim Sprachwechsel mehr passieren soll, zum Beispiel ein Menü schließen oder ein Tracking-Ereignis senden, rufen alle Sprachwähler eine gemeinsame Funktion auf.
function startTranslation(lang) {
Conword.translate(lang);
closeMenu();
_paq.push(['trackEvent', 'Translation', lang]); // e.g. Matomo
}
Das Sprachobjekt liefert neben name auch name_en und rtl. Weitere Methoden und Ereignisse finden Sie in der Dokumentation der Javascript-API.
Probieren Sie es aus
A. Links
B. Auswahlliste
C. Buttons mit Flaggen
Alle drei Varianten zeigen die aktuelle Sprache an, egal womit Sie gewechselt haben.
Ereignisse von Conword (zur Nachvollziehbarkeit):
Beispielinhalt Ihrer Website
Dieser Text steht stellvertretend für die Inhalte Ihrer Website. Wechseln Sie die Sprache mit einem der Sprachwähler oben, der Text wird übersetzt und alle drei Sprachwähler zeigen danach dieselbe Sprache an.
Die gewählte Sprache merkt sich Conword im Browser. Beim nächsten Seitenaufruf wird automatisch übersetzt, und Ihre Sprachwähler zeigen über das Ereignis Conword:translation_done den richtigen Zustand.