Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

+1 vote

Ich möchte einen Fragebogen in zwei verschiedenen Sprachversionen anbieten.
Nun frage ich mich, wie das dann mit den Platzhaltern funktioniert, denn die müssen ja dann durch den Text in der entsprechenden Sprache ersetzt werden.
Wie programmiere ich das am unkompliziertesten?

in SoSci Survey (dt.) by s115627 (460 points)
Wenn Sie noch weitere Antworten benötigen, dann müssten Sie bitte den PHP-Code ergänzen, den Sie bisher für die Platzhalter verwenden und beschreiben, was mit der unten stehenden Antwort funktioniert und was noch nicht.
Weiß jemand wie die "Sprachvariable" dann heißt, die ich für den PHP-Code brauche?
Ist das getLanguage? Und die Kürzel für Deutsch und Englisch ger und eng?
Ja, korrekt - sofern Sie Deutsch in der Variante "Sie" verwenden, sonst ist der Code "deu". Die in Ihrem Projekt verwendeten Sprachcodes können Sie unter "Sprachversionen" (links in der Navigation) einsehen.
Es scheint so funktioniert zu haben!

1 Answer

+1 vote

Hallo,

ich habe einen einfachen if- Verzweigung benutzt.

Beispiel:

if (getLanguage() == 'ger') {
  replace('%Sprache%', 'Deutsch');
}

if (getLanguage() == 'ara') {
  replace('%Sprache%', 'اَللُّغَةُ اَلْعَرَبِيَّة');
}

if (getLanguage() == 'eng') {
  replace('%Sprache%', 'English');
}

if (getLanguage() == 'rum') {
  replace('%Sprache%', 'românesc');
}

'%Sprache% ist der Platzhalter der je nach benutzter Sprache ersetzt wird.
Mit getLanguage greifen Sie auf die benutze Sprache zu

Viele Grüße

by s109993 (5.7k points)
Vielen Dank für die schnelle Antwort. Ich bin mir nicht sicher, ob wir uns richtig verstanden haben.

Ich bezog mich auf benutzerdefinierte Platzhalter. Konkret: auf jeder Seite gibt es verschiedene Platzhalter, die je nachdem für welche Gruppe die Person den Fragebogen ausfüllt ersetzt werden durch die entsprechende Gruppenbezeichnung.

Nach der obigen Logik, würde das dann evtl. so etwas in der Art funktionieren?
Oder gibt es eine bessere Lösung?

if (value('SD52') == 1) {
if (getLanguage() == 'ger') {
  // Gelb
  replace('%gruppe%', 'Gelb');
  replace('%gruppen%', 'Gelbe');
} elseif (getLanguage() == 'eng')
 {replace('%gruppe%', 'Yellow');
  replace('%gruppen%', 'Yellows');
 } } elseif (value('SD52') == 2) {
 ...
Der Platzhalter '%Sprache%' ist ebenfalls benutzerdefiniert. Ich wollte es Ihnen zu anhand eines Beispiels erklären. Im Prinzip haben Sie das, soweit ich es erkennen kann, auch richtig umgesetzt. Mit einer inneren und äußeren if- Verzweigung könnte es allerdings etwas unübersichtlich werden...

Funktioniert es denn damit? Vielleicht hat ja noch jemand anderes einen besseren Vorschlag :)

Beste Grüße
Danke für die Antwort. Ah, ich dachte, der wäre vordefiniert.

Ich habe es ehrlich gesagt noch nicht ausprobiert, aber man könnte den Code sicher noch vereinfachen, vielleicht mit separaten "Abschnitten" für Deutsch und Englisch.

Mal sehen, ob noch jemand eine Idee hat, sonst probiere ich das später mal aus!

Danke auf jeden Fall.
...