Suche // Search:

19.01.2010

Mehrsprachige Formulare
//
Multilingual forms

In manchen Situationen ist es erforderlich ein Formular in mehrere Sprachen verfügbar zu machen.
Nun kann man dafür natürlich jeweils ein separates Formular pro Sprache erstellen und verteilen, aber wenn das Formular mal aktualisiert werden muss, müsen gleich alle Sprachversionen überarbeitet werden.
Das kann unnötig viel Zeit kosten.

Dieses Beispiel zeigt Ihnen, wie sie ein mehrsprachiges Formular erstellen können, bei dem Sie die Sprache zur Laufzeit ganz einfach ändern können.

Erstellen Sie ein Scriptobjekt im Root-Knoten ihres Formulars (unter Formular1) und benennen Sie es "FormLanguages".
In diesen Scriptobject benötigen Sie eine Funktion "ChangeFormLanguages" zum Deklarieren der Eigenschaften und Formularobjekte, deren Sprache sie ändern wollen.
Für jede Sprache, kommt dann jeweils noch eine Funktion "GermanCaption" & "EnglishCaption" dazu, die die deklarierten Objekte und Eigenschaften mit neuen Wörtern füttert.

There are situation you need a form present in several languages.
Of course you can create and distribute the form as a separate file for each language.
But what if you need to update the form? Then you have to update each single form, that can be a waste of time.

In this example you can see, how to create a multilingual form, where you can easily change the language easy during runtime.

Create a script object in the root node of your form (under form1) and name it "FormLanguages".
In this script object you have to put a function "ChangeFormLanguage" to define all the form object and properties you would like to change the language for.
For every singe language you also need a function "GermanCaption" & "EnglishCaption" etc. with the words for the predefined objects and properties.

Scriptobjekt- Funktion zu Deklarieren der zu veränderden Formularobjekte //
Script Object - Function to define changable form objects: 
function ChangeFormLanguage(L01, L02, L03)

{
xfa.form.form1.Page1.FirstName.caption.value.text.value = L01;
xfa.form.form1.Page1.LastName.caption.value.text.value = L02;
xfa.form.form1.Page1.Age.caption.value.text.value = L03
}

Funktionen mit den Wörtern in der jeweiligen Sprache // Functions with the language specific words:
function GermanCaption()
{
FormLanguages.ChangeFormLanguage( "Vornahme:",
"Nachname:",
"Alter:";
}


function EnglishCaption()
{
FormLanguages.ChangeFormLanguage( "First name.",
"Last name:",
"Age:";
}
Als letztes brauchen Sie nur noch ein Objekt, über das sie die Sprache wählen.
Das kann z.B. eine Dropdown-Feld oder eine Optionsliste sein.


Finally you need an object to select the desired language.
This can be a drop down field or a radio button list.


JavaScript für Dropdown Feld // JavaScript for drop down Field:

if(xfa.event.newText == "Deutsch")

{
xfa.form.form1.FormLanguages.GermanCaption();
}
if(xfa.event.newText == "English")
{
xfa.form.form1.FormLanguages.EnglishCaption();
}


Deutsche Beschriftungen // German Captions:

Englische Beschriftungen // English Captions:


Beispiel // Example:
https://acrobat.com/?d=nEDFzJRnPT-dLJgwONSIbQ