Autor Thema: beste Konzept für mehrsprachige Datenbanken  (Gelesen 11163 mal)

Offline Günther Rupitz

  • Senior Mitglied
  • ****
  • Beiträge: 362
  • Geschlecht: Männlich
Re: beste Konzept für mehrsprachige Datenbanken
« Antwort #20 am: 17.10.12 - 16:55:48 »
Denn auf Spaltenüberschriften hätte ich mit Freude verzichtet, wenn es denn eine Möglichkeit gegeben hätte, die Inhalte sprachdynamisch anzuzeigen.  ;)

Mit mehreren Ansichten ist man auch wieder nicht dynamisch, da würde ich dann weiterhin meine Variante mit versteckten Spalten vorziehen. Auch nicht dynamisch, aber vielleicht performanter da weniger Ansichten...

Aber wieso, oder steh ich jetzt auf der Leitung.
Wenn du sowieso eine Spalte pro Sprache hast dann weisst du ja auch wieder was in dieser Spalte stehen soll (und die anderen versteckst).

Was du unter dynamsich verstehst funktioniert in Lotus Notes so oder so nicht weil eine Ansicht nie dynamisch bei der Anzeige erstellt werden kann sondern schon vorher feststehen muss.
Eine Berechnung "on the fly" kann im Notes tw. schon funktionieren, nur kann dir niemand garantieren dass dies immer der Fall ist.

Mitch

  • Gast
Re: beste Konzept für mehrsprachige Datenbanken
« Antwort #21 am: 17.10.12 - 17:25:54 »
Aber wieso, oder steh ich jetzt auf der Leitung.
Wenn du sowieso eine Spalte pro Sprache hast dann weisst du ja auch wieder was in dieser Spalte stehen soll (und die anderen versteckst).

Ja, aber ich habe nur in ein paar ausgewählten Ansichten eine handvoll Spalten "zu viel". Und nicht gleich die ganze Ansicht doppelt.

Aber eben mit den Einschränkungen, dass es keine (oder nur einsprachige) Spaltenüberschriften gibt und Kategorien ebenfalls nur einsprachig funktionieren.

Ersteres war in meinem Fall kein Problem, auf zweitere konnte ich verzichten indem ich EmbeddedViews mit SingleCategory verwendet habe. Ist sicherlich nicht in jedem Anwendungsfall eine Option, bei mir hat es aber gepasst.

Konkret habe ich es so angelegt:

  • 1 bis X Sprachen über die hier auch genannten ausgelagerten Dokumente anlegbar.
  • An zentraler Stelle wird eine Basissprache / Fallbacksprache hinterlegt.
  • An zentraler Stelle werden Y (ich hab damals glaub ich 3 genommen) Hauptsprachen definiert.
  • In Dokumenten werden für Auswahlfelder weitere sprachindividuelle Items angelegt - eins für die Basissprache und je eines für die Hauptsprachen - die den sprechenden Text enthalten.
  • Ansichtspalten, die solche Inhalte anzeigen sollen, werden Y mal angelegt.
  • Über Hidewhens wird die Sprachspalte des Users verwendet - oder eben die Basissprache wenn die Usersprache nicht zu den Hauptsprachen gehört.
  • Falls sich die Basis- oder die Hauptsprachen ändern, muss ein Agent aufräumen.

So hatten die User in den Masken ihre jeweiligen Sprachen, und in den Ansichten habe ich zumindest die meisten Nutzer vernünftig bedienen können. In unserem Fall war das in Ordnung, da nur sehr wenige User eine "spezielle" Sprache hatten. Bei gleichmäßiger Sprachverteilung wäre das sicher nicht so toll.

Was du unter dynamsich verstehst funktioniert in Lotus Notes so oder so nicht weil eine Ansicht nie dynamisch bei der Anzeige erstellt werden kann sondern schon vorher feststehen muss.

Ja, das ist ja der Haken. Dynamisch geht nicht. Daher war ich ja auch so an deiner Variante interessiert, weil ich das so verstanden hatte, dass du es hinbekommen hättest. Vielleicht mit irgendwelchen, mir völlig entgangenen, 8er Funktionen, die Strings auch in Ansichten on the fly austauschen können. Oder so. Die Hoffnung stirbt eben zuletzt.  ;)

Gruß,

Mitch

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: beste Konzept für mehrsprachige Datenbanken
« Antwort #22 am: 18.10.12 - 10:59:38 »
So ich möchte mich an der Stelle für die rege Beteiligung bedanken. Da wir unser CRM schon mal in Englisch haben, habe ich gestern meinem Chef gemeldet, dass wir das ganze auf Xpages machen sollten und mir deswegen viel Zeit gebucht. Konnte ihn besänftigen mit dem Aspekt der iPad-Umsetzung. Werde nun mich an das Xpage-Thema mit kleineren DBs rantasten
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: beste Konzept für mehrsprachige Datenbanken
« Antwort #23 am: 11.02.13 - 18:14:15 »
So ich muss leider doch noch was mit der "alten" Technik machen und bekomme gerade das blanke ----zen. Nachdem ich festellen musste, dass weder @GetProfileField, noch @Enviroment in der Ansicht funktioniert habe ich den Beitrag http://welovenotesbut.com/blog/?p=6 gelesen und das untere "Skript" geschrieben. Bekomme aber immer nur den else-Wert. Finde aber in der Hilfe nicht den Hinweis, geht nicht in Spalten und laut dem Beitrag, unter der Vorraussetzung ich habe nicht was überlesen, geht es, aber leider nicht bei mir.

Code
_field := so_1;
_parameter := "so_1";
_data := @If(		@LanguagePreference([Region]) = "de" ; para_de ;
				@LanguagePreference([Region]) = "sp" ; para_es ;
				@LanguagePreference([Region]) = "en" ; para_en ;
				para);
_data

Ich wollte es erst elegant mit @GetField lösen, aber der Wert ist ja nicht "abgreifbar"

Wie einige sich schon denke speicher ich einfach alle Parameter redundant im Dokument. Lieber wäre mir Profile-Dokument gewesen, aber geht ja nicht.

Für das setzen der Parameter habe ich ein kleine @Function-Konstrukt gebaut, das hier quasi mal in die Qualitätsprüfung geben möchte.

Code
REM {Parameter ins Dokument schreiben) };
_parameterID := Parameter_ID;
_avLang := @GetProfileField("ProfileDB" ; "DB_Language");
_dbKey := @GetProfileField("ProfileDB" ; "DB_Key");
_view := "(LookupParameterByDatabase)";
_key  := (_avLang : "*") + dLim2 + _dbKey ;
_column := 2;
@Transform(_key ; "_pos" ; @Do(
	_Data := @DbLookup("":"NoCache";_parameterID;_view;_pos;_column; [FailSilent]);
	@If(_Data != "";
		@If(@Left(_pos ; dLim2) = "*" ;	@SetField("para" ; _Data) ;
								@SetField("para" + "_" + @Left(_pos; dLim2) ; _Data)
		)
		;""
	)
)) ;
1
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz