2016-06-11 6 views
1

Ich arbeite mit Ruby, ich habe eine Liste von Namen/Nachnamen in der arabischen Sprache, ich möchte sie ins Lateinische übersetzen, wie sie ausgesprochen werden, zum Beispiel habe ich den Namen "رضوان" => "Redouane" (Ich kann auch Radouane, Radwan oder etwas ähnliches akzeptieren).Übersetzen von Namen/Nachnamen aus dem Arabischen

Öffentliche APIs wie Google Translate funktionieren gut auf einige Namen, aber wenn der Name eine Bedeutung hat, können sie nicht übersetzen "wie es ausgesprochen wird", zum Beispiel mit Google Translate, auf Englisch gibt es: "رمزي" => "symbolic" während was ich will, ist "Ramzy" (ich kann auch akzeptieren "Ramzi")

gibt es irgendwelche guten Ruby-Edelsteine, Namen zu übersetzen?

Ich versuche, weil ich nicht in der Lage gewesen, zu übersetzen arabischen Text nach Ruby drucken Konsolen direkt finden Sie unter: Printing a CP850 encoded string with Ruby (IRB)

+0

ich Fehler akzeptieren können, sind sie nicht wirklich ein Problem, was ich tun möchte: Ich habe ein Skript, das einige Daten von einem Server sammelt , die Daten enthalten einen Namen und einen Nachnamen in Arabisch, und eine Note, ich möchte den Namen/Nachnamen in der Konsole anzeigen, konnte ich nicht Arabisch auf der Konsole anzeigen, also habe ich versucht zu übersetzen. –

+0

Ich denke nicht, dass dies überhaupt nicht Thema ist, und es sollte wieder geöffnet werden. – larapsodia

+1

Es lässt mich nicht eine Antwort hinzufügen, aber nur der Nachwelt wegen: Was Sie versuchen, ist derzeit nicht möglich. Es gibt einfach keine Möglichkeit für ein automatisiertes System zu bestimmen, ob رمزي als ein richtiges oder allgemeines Substantiv verwendet wird. Also ist deine beste Wette, dein Ausgabeproblem zu beheben - ich habe eine Antwort für dich dort drüben eingereicht, hoffe, dass es hilft. – larapsodia

Antwort

2

keine definitive Antwort, aber Sie haben die Unidecoder gem gesehen? Es bietet eine grundlegende Transliteration von beliebigen Unicode-Buchstaben in ASCII. Es ist jedoch tatsächlich nur eine einfache Transliteration, z.B. Es fügt der Transkription keine Vokale hinzu. Zitiert aus der Readme:

Andere Sprachen wie Hebräisch und Arabisch, schreiben Sie nicht Vokale, sondern übernimmt sie aus dem Kontext, so dass die ASCII-Darstellung dieses langages dieser Bibliothek gegeben wird ziemlich hässlich Muttersprachler aussehen.

Ihre beiden Beispiele ergeben auf diese Transkriptionen:

require 'unidecoder' 
=> true 
>> "رضوان".to_ascii 
=> "rDwn" 
>> "رمزي".to_ascii 
=> "rmzy" 
+0

Danke, ich werde es benutzen, wenn ich keine besseren Lösungen finde. –

Verwandte Themen