Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Namensgenerator/Übersetzer

Begonnen von HarryDolm, Juni 05, 2013, 18:37:18

⏪ vorheriges - nächstes ⏩

HarryDolm

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?
Lieben Gruß
Harry

database

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?  :-\



HarryDolm

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
Lieben Gruß
Harry

ebs17

#3
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
Mit freundlichem Glück Auf!

Eberhard

HarryDolm

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......
Lieben Gruß
Harry