Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Johnson am 27.10.06 - 12:49:40

Titel: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Johnson am 27.10.06 - 12:49:40
Hallo zusammen,

ich bastel gerade an meiner ersten mehrsprachigen Datenbank (vorerst deutsch und englisch wobei englisch die Default-Sprache ist) und hab da ein Problem mit dem Erstellen von Ansichten per Skipt.

Zum Erstellen einer neuen Ansicht via LS verwende ich den CreateView Methode des NotesDatabase-Objektes. Als Vorlage dient eine bereits bestehende Ansicht (z.B. deutsch).

Leider scheint die Spracheinstellung nicht mitzukommen. Diese Ansicht ist in deutsch (was in der deutschen Sprache auch super ist).
Aber in der englischen Spracheinstellung wird sie auch deutsch angezeigt.
Die Sprache fehlt auch im Design-Element.

Ich hätte jetzt eher erwartet, das diese Ansicht nicht angezeigt werden würde ist.

Blick ich da was nicht?
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Thomas Schulte am 27.10.06 - 13:20:24
Mehrsprachigkeit und Domino/Notes ist ein Thema das man nur mit sehr hoher Leidensfähig angehen sollte.
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Johnson am 27.10.06 - 13:32:30
Ich hab mir auch schon die diversen Tipps und Beispiele aus !!Help!! angesehen. Und meine Leidensbereitschaft ist bereits bis dahingehend erschöpft, daß ich mir sagen: ICH SCH...reibs in Englisch.

Es sei denn hierzu hat irgend ein Filou eine wahnsinns zündende Idee hat.

Ich glaube, dass ich nämlich noch ganz andere Probleme bekommen werden. Somal die Datenbank mit anderen Datenbanke zusammen arbeitet und darauf ebenfalls reagieren sollte.
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: dirk_2909 am 27.10.06 - 13:50:59

Ich habe schon die verschiedenen Möglichkeiten zur Umsetzung von mehrsprachigen Datenbanken umgesetzt:

-> Für jede Sprache ein eigenes template via DGW
-> Alle Sprachen in ein template via DGW
-> Mehrsprachigkeit mit berechneten Texten etc. (in etwa wie in !!HELP!!)

Die letzte Möglichkeit finde ich am besten. leider kann man bekannter maßen nicht überall die Texte berechnen; aber es ist OK .

Die erste Möglich geht noch. Die zweite ist ganz "gefährlich" . Der DGW vertraue ich nicht!

Zu Deinem Problem kann ich leider nicht viel sagen, da ich nicht weiß wie Notes sich dann verhält....
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Johnson am 27.10.06 - 14:15:06
Um das ganze etwas genauer zu beschreiben:

Die DB hält zwei Ansichten "Template|Template" in zwei unterschiedlichen Sprachen (Deutsch und Englisch).

Habe ich meine Spracheinstellung aktuell auf Deutsch und erstellen eine neuen Ansicht mittels der Vorlage, so wird auch die deutsche Ansicht "Template|Template" dazu hergenommen. Die neue Ansicht sieht tupfengleich aus - fantastisch.

Stelle ich meine Spracheinstellung jetzt auf Englisch um, wird die deutsche Ansicht angezeigt. Und wenn ich mir das Design der Ansicht anschaue, dann fehlt die Spracheinstellung aus der "Template|Template".


@dirk_29_09
Das ganze muss noch für Namen von Agenten auf möglichst smarte Art und Weise geschehen. Genauer geht es um die Letter Engine.
s. http://atnotes.de/index.php?topic=4810.msg208416#msg208416
Da wird der Korrespondenz-Agent in eine ausgewählte Datenbank kopiert.
Die soll jetzt mehrsprachig werden.
D.h. ich müsste im Optimalfall irgendwie die Spracheinstellungen der Zieldatenbank dann auch noch auslesen und dann den Englischen, Deutschen oder beide Agenten kopieren. (Ich sag ja: "Da kommen noch ganz andere Probleme"  :-\
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Johnson am 27.10.06 - 15:28:52
OK. Das mit der Spracheinstellung übernehmen tut jetzt.

Ich muss mir das Designdokument der Template-Ansicht per UniversalID holen und den Feldwert des $Language-Feldes in das Designdokument der neuen Ansicht schreiben.

Dafür gibt´s jetzt ein anderes Problem:
Die GetView-Funktion des NotesDatabase-Objekts gibt mir immer die zuerst erstellte Template-Ansicht (deutsch) zurück, obwohl ich Englisch in meiner Spracheinstellung habe. Logisch, oder?  ???
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: LN4ever am 27.10.06 - 17:16:10
Wenn die beiden Ansichten den gleichen Aliasnamen haben, ist das verständlich. Geht es nicht, daß du den Ansichten einen (weiteren) Aliasnamen mitgibst und den Viewnamen damit bestimmst, also z.B.

Viewname Deutsch: Vorlage | TemplateDE
Viewname Englisch: Template | TemplateEN

Und beim Zugriff dann mit einem

UserSprache=Evaluate({@LanguagePreference([REGION])})(0)
Viewname="Template" & UserSprache

Set view=db.GetView(Viewname)

Gruß

Norbert
Titel: Re: CreateView Method in mehrsprachiger Datenbank
Beitrag von: Johnson am 30.10.06 - 09:35:58
Für mich war das nicht so ganz verständlich. Denn schließlich bietet Notes über die Standardoutline bzw. über "View\Goto" auch nur die Ansichten der entsprechenden Sprache an. Eine Picklist hab ich jetzt noch gar nicht getestet.

Ich bau die Anwendung einmal in Deutsch (für´s Forum) und einmal Englisch (für OpenNTF). Ich glaub dann hab ich weniger Aufwand als mich mit Übersetzungstools oder Konfigurationsdokument herumzuschlagen. Bei großen Anwendungen macht das vielleicht Sinn aber die Anwendung ist (noch) sehr überschaubar und sollte es eigentlich auch bleiben.

Mit Esperanto würd ich das Thema Multilingual allerdings erschlagen können.  ;D