Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1132to1136
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrsprachrigkeit | Herbers Excel-Forum

Mehrsprachrigkeit
23.01.2010 22:09:17
Franz D.

Hallo Freunde,
hat jemand bereits Applikation in 2 Sprachen produziert? Es geht hauptsächlich um MSG-Box und Statusbar-Meldungen in 2 Sprachen. Der Idealweg: keine 2 Entwicklungen produzieren wegen der Pflege. Wie kann man effizient mit wenig Performance-Einbussen so etwas managen? Habe notfalls auch keine Probleme getrennte Wege zu gehen (wie das klingt?).
Tschüss!
Franz D.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrsprachrigkeit
23.01.2010 22:15:45
JDommi
Übergebe doch einfach alle Texte an globale Variablen. Diese werden je nach Angabe der Sprache diesen Variablen zugewiesen.
if Sprache="deutsch" then
...txt1="Hallo"
...txt2="Welt"
else
...txt1="Hello"
...txt2="world"
end if
Wenn die Meldungen nicht zu viele sind, dann ist das die einfachste Möglichkeit.
AW: Mehrsprachrigkeit
23.01.2010 22:23:52
Franz D.
Danke schön JDommi.
Habe natürlich an "Select case.." und "If...then" auch gedacht. Logisch! Aber es ist schon eine Menge Holz. Vielleicht gibt es bereits die ultimative Lösung die wir beide (noch) nicht kennen.
Tschüss!
Franz D.
Bei udFktt wäre das einfach,...
23.01.2010 22:23:50
Luc:-?
...Franz,
indem man ein entsprechendes Argument angibt oder, falls Textargg übergeben wdn müssen, deren Sprache zur Grundlage der Sprachversion macht. Bei dir geht's aber wohl eher um Subroutinen — da empfehle ich 2 unterschiedl (Kurz-)Aufrufprozeduren für die HptProz (alternativ: nur eine Rufproz mit Übergabe-Sprachparameter=True und bei der Hptproz den Parameter dann als Optional und Variant deklarieren, damit die Proz auch angezeigt wird), die dann jeweils den entsprechenden Sprachwahlparameter (Boolean reicht hier) übergeben. Die Performance wird kaum darunter leiden, wenn sich da was bei jeder Textausgabe gabelt. Du willst ja wohl keine automatische Übersetzung pgmieren... ;-)
Gruß Luc :-?
Anzeige
AW: Bei udFktt wäre das einfach,...
23.01.2010 22:37:50
Franz D.
Hallo Luc,
kann ich dir zumuten mir ein kleines Beispiel zu liefern?
Gruß
Franz D.
Das ist wie ein Haus mit 2 Eingängen,...
24.01.2010 13:07:55
Luc:-?
...Franz,
nicht nur ein uraltes Architektur-, sondern auch ein altes Pgmierprinzip. Gab's schon in Großrechnersprachen wie einer der ersten problemorientierten — PL/1.
Das ist eine ganz einfache Sache, während Nepumuks „kleines Bsp“ ja schon eher ein Analogon zu dem Komfort ist, den eine Website bieten sollte... ;-)
Sub Pipapo_Deutsch()
Call Pipapo_English(True)
End Sub
Sub Pipapo_English(Optional ByVal LgPar)
Dim LgVar As Boolean
If Not IsMissing(LgPar) Then LgVar = CBool(LgPar)
MsgBox IIf(LgVar, "Hallo, Herr Franz", "Hello, Mr Franz") & "!"
End Sub
Gruß+schöSo, Luc :-?
Anzeige
AW: Mehrsprachrigkeit
23.01.2010 23:55:37
Franz D.
Danke schön Nepumuk.
An einer Kombination mit Arrays habe ich nicht gedacht. Muss mich endlich mit der Materie befassen.
Gute Nacht.
Franz D.
AW: Mehrsprachrigkeit
24.01.2010 00:08:34
Nepumuk
Hallo Franz,
wo siehst du da ein Array? Ich beziehe mich auf einen Namen.
Gruß
Nepumuk
AW: Mehrsprachrigkeit
24.01.2010 11:23:33
Franz D.
Hallo Nepumuk,
Sehr raffiniert ausgetüffelt. Der Kern liegt natürlich auf den Namen "Language" und nicht im folgenden Array: "ComboBox1.List = Array("Deutsch", "English")". Kurz vor Mitternacht sieht man den Wald nicht mehr.
Tschüss!
Franz D.
Anzeige
ein anderer Weg mit Wortliste
25.01.2010 14:39:25
Jörg-HH
Hallo Franz
ich habe für dies Problem einen ganz anderen Weg gewählt: In einem der Blätter steht eine Wörterliste, die nach unten 65einhalbtausend Vokabeln aufnimmt und nach rechts für 255 Sprachen ausreicht. In der ersten Spalte steht eine Formel, die die Vokabelspalte abgreift, die ich irgendwo per Dropdown einstelle.
Jede der Zellen in Spalte A kriegt einen sinnigen Namen.
Auf diese Weise können erstens sämtliche Texte und Formeln in allen Blättern bequem geändert werden, wenn die Formel statt Texten einen Verweis auf die benamsten Zellen enthalten, und außerdem brauchst du in VBA nur den Zellnamen.Value der Spalte A anzusprechen und hast dann auch die passende Sprache im beabsichtigten Text. Darüber hinaus ist die Liste ohne Probleme um weitere Sprachen zu ergänzen. Die Formel ist dafür gedacht, in dem Fall eine Spalte einzuschieben, es geht aber auch anders.
https://www.herber.de/bbs/user/67470.xls
Kannst du damit was anfangen?
VG Jörg
Anzeige
Dann braucht er trotzdem noch eine...
25.01.2010 16:57:03
Luc:-?
...Parameterübergabe an die HptRoutine, Jörg... ;-)
Gruß Luc :-?
AW:noch ein Weg mit Choose(x,"1","2","3")
26.01.2010 18:39:56
Franz D.
Hallo Jörg!
"Kannst du damit was anfangen?"
AW: in meiner Applikation, nein. Da ich (wie es Luc geschrieben hat) eine reine VBA-Lösung benötige.
Trotzdem landet deine pfiffige Lösung in meinem EXCEL-Archiv damit ich die Funktionsweise von INDIREKT und VERGLEICH in gegebener Zeit studieren kann. Danke schön dafür.
Mittlerweile wurde mir diese Lösung angeboten die ich hier gerne weiter gebe:
Sub In_drei_Sprachen()
Dim byteLand As Byte
byteLand = 2    'dynamisch festgelen mittels Listbox
Application.StatusBar = Choose(byteLand, "Bitte eine Bezeichnung eingeben", "Please enter a  _
expression", "Veuillez indiquer un texte explicatif")
MsgBox Choose(byteLand, "Bitte eine Bezeichnung eingeben", "Please enter a expression", " _
Veuillez indiquer un titre")
End Sub

Danke auch an Luc (habe die Nachricht heute im Büro gelesen).
Tschüss!
Franz D.
Anzeige
..paar kleine Fehler...
27.01.2010 11:30:04
Jörg-HH
Hi Franz
wenn ich das richtig verstehe (bei VBA=bescheiden ja nicht immer gewährleistet ;-)) denke ich), gäbe es ja eine Menge Schreibarbeit im VBA-Code, wenn mal eine Sprache hinzukommt, oder?
Ansosnten - ich weiß ja nicht, ob das Beispiel da oben auch so zum Einsatz kommt, aber...:
Englisch:
vor expression steht nicht a, sondern an
Französisch:
dt Bezeichnung / engl expression / frz ... text explicatif ist nicht das französische Wort für Bezeichnung, sonder heißt soviel wie Erläuterung.
dt eingeben / engl enter / frz ...indiquer ist nicht eingeben, das wäre entrer
VG Jörg
Anzeige
AW: Sind das Fehler lieber Jörg?....
27.01.2010 19:26:28
Franz D.
... weil ich aus dem Elsaß komme.
Danke und Tschüss!
Franz D.
...naja - Elsaß ist natürlich...
29.01.2010 11:44:01
Jörg-HH
...ein unschlagbares Argument, Franz - Ich geb glatt mein Französisch-Abi zurück :-) Hatte mich, weil ich in Französisch nicht so sicher bin wie in Englisch, auch vor meiner Bemerkung nochmal in Sprachforen umgesehen, dort aber eigentlich nur Bestätigung für meine Annahme gefunden.
Gibt es da vielleicht mundartliche Unterschiede? Wir Nordlichter sagen ja auch "es gibt", wo man im Süden "es hat" sagt o.ä. Wäre für 'ne kleine Belehrung dankbar...
Viele Grüße - Jörg
"Es gibt..." ist HOCHDT, "es hat..." Dialekt!
29.01.2010 13:15:26
Luc:-?
Nicht vergessen! Nicht der Norden liegt hochsprachlich schief, sondern der Süden, weil er ja auch nicht an der Herausbildung der frühen Hochsprache beteiligt war (Stichworte: Luther & Sachsen, Preußen), was er jetzt wohl nachzuholen versucht und dabei mit „Denglisch“ konkurriert... ;-?
Hochdeutsch ist eigentlich preußisch-norddeutsch ausgesprochenes Sächsisch, also mitteldeutsch wie Hessisch und mittelfränkisch.
Gruß Luc :-?
Anzeige
Bitte sehr! Viel Spaß! Gruß owT
28.01.2010 02:04:38
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige