Moin,
seit gestern bin ich nun stolzer Besitzer vom Office 2010 Pro Paket. Und habe eine Frage zu Access.
Ich möchte eine Art Namensgenertor/Übersetzer bestehender und eigener Sprache machen.
in einer Spalte gebe ich das Wort/wörter ein die ich übersetzt habe möchte. Die Datenbank der eigenen Sprache brauche ich und ev eine Option von vorhanden Sprachen als DB. zb Japanisch, suaheli.
bisher habe ich vorhanden Übersetzer nur gefunden die dann die japanischen Schriftzeichen mir zeigen
die eigene Sprache ist für eine Fantasiegeschichte, die mir im Prinzip Namen in der Sprache Zanari übersetzen soll.
Wenn es geht nicht nur ein Wort sondern mindestens 2 Wörter
kleine Fee -> zanarisch müßte er sich aus klein und Fee zeigen. oder man macht die eingabe in deutsch mit 2 oder mehr spalten.
Wäre es mit Access möglich?
Hallo,
ZitatWäre es mit Access möglich
Im Prinzip ja, allerdings mit
'etwas Programmieraufwand' um eingegeben Texte in einzelne Wörter zu zerlegen und dann nach
phonetischen Entsprechungen in den Übersetzungstabellen zu suchen.
Japanisch kenn ich, Suaheli sagt mir auch was ... Zanari ... bist du ein Mittelalterfan? :-\
Hallo database,
danke für deine Antwort.
Dachte ich mir schon, das es für mich noch zu hochgegriffen ist.
Zanari ist die Sprache aus meiner SCI-FI-Fantasy-Geschichte......www.zanar.de da im Lexikon
Es besteht im Prinzip schon eine kleine Datenbank wo ein paar deutsche Wörter mit dem entsprechenden Zanari drin steht
Suaheli kommt aus Afrika
Eine Wort-für-Wort-Übersetzung wäre noch übersichtlich zu organisieren, wenn eine entsprechende Zuordungstabelle existiert. Idee: Zuordnungstabelle (bzw. davon die beiden relevanten Sprachspalten) in Collection laden. Da wird dann ein Wortpaar extrem schnell gefunden, und die Dauer beschränkt sich auf das Durchlaufen der Worte: Split, Durchlaufen Array + Ersetzung, Join.
Sub aufruf_TranslateText()
' Übersetzung englisch -> deutsch
Debug.Print TranslateText("little bird", "dtBegriff", "engBegriff")
' ergibt: klein vogel
End Sub
Public Function TranslateText( _
ByVal Content As String, _
ByVal LanguageTarget As String, _
ByVal LanguageSource As String) As String
Dim c As VBA.Collection
Dim rs As DAO.Recordset
Dim vArr As Variant
Dim i As Long
Dim sResult As String
Set c = New VBA.Collection
Set rs = CurrentDb.OpenRecordset( _
"SELECT " & LanguageTarget & ", " & LanguageSource & " FROM tblZuordnung", _
dbOpenForwardOnly)
Do While Not rs.EOF
c.Add rs.Fields(0).Value, rs.Fields(1).Value
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
vArr = Split(Content, " ")
For i = 0 To UBound(vArr)
vArr(i) = c.Item(vArr(i))
Next
Set c = Nothing
sResult = Join(vArr, " ")
TranslateText = sResult
End Function
Etwas haariger wird es, wenn dann Satzzeichen (Punkt, Komma, Bindestrich, weitere) oder Groß- und Kleinschreibung hinzukommen, erst recht wenn dann Anforderungen bzgl. Ausdruck und Grammatik hinzukommen wie z.B. Änderung der Reihenfolge von einzelnen Worten:
kleiner Vogel => (übersetzt) Vogel klein(er). Dass hier die Grenzen sehr hoch liegen, bemerkt man ja beim Google-Übersetzer.
MfGA
ebs
Hallo EBS,
ne mit punkt und komma ist nicht.
Datenbank mit 2 spalten eine spalte duetsch andere spalte fremdsprache. dann dachte ich an 2 - 3 spalten für die eingabe zum namen genereienr
Spalte 1 kleiner
spalte 2 engel
übersetzt dann auch in 2 spalten oder mehr
sry ich bin da absoluter anfänger. kann ehrlich gesagt mit dem Code von dir nikcits anfangen......