2016-06-11 6 views
1

私はRubyと一緒に働いています。アラビア語の名前/姓のリストがあります。ラテン語に翻訳したいと思います。例えば、名前は"رضوان" => "Redouane"です(私もRadouaneRadwanまたはこれに類するものを受け入れることができます)。アラビア語からの名前/姓の翻訳

google translateのような公開APIは一部の名前でうまく機能しますが、名前に意味がある場合は、「発音したとおりに」翻訳されません。たとえば、Google翻訳では、次のようになります。"رمزي" => "symbolic" while私が欲しいものは"Ramzy"です(私も"Ramzi"を受け入れることができます)

名前を翻訳する良いRubyの宝石はありますか?

私が見る、ルビーにアラビア語のテキストが直接慰めに印刷することができていないので、私が翻訳しようとしている:Printing a CP850 encoded string with Ruby (IRB)

+0

を、私はミスを受け入れることができ、彼らは私が何をしたいのか、実際には問題ありません:私は、サーバーからいくつかのデータを収集するスクリプトを持っていますデータにはアラビア語の名前と姓が含まれています。グレードはコンソールに名前/姓を表示したいので、コンソールにアラビア語を表示できませんでしたので、翻訳を試みました。 –

+0

私はこれが全く話題ではないとは思わないし、再開する必要があります。 – larapsodia

+1

それは私に答えを加えることはできませんが、後世のために、あなたがしようとしていることは現在できません。自動化されたシステムが、رمزيが適切な名詞または共通名詞として使用されているかどうかを判断する方法はありません。 あなたの最善の策は、あなたの出力問題を解決することです - 私はそこにあなたのための答えを提出し、それが助けてくれることを願っています。 – larapsodia

答えて

2

ない明確な答えが、あなたはUnidecoder gemを見たことがありますか?これは、任意のUnicode文字からプレーンなASCIIへの基本的な音訳を提供します。しかし、実際には単純な音訳だけである。それは転写に母音を追加しません。 READMEからの引用:

他の言語、ヘブライ語とアラビア語のように、母音を書きませんが、文脈からそれらを前提とするので、このライブラリによって与えられたこれらのlangagesのASCII表現はネイティブスピーカーにかなり醜いになります。

あなたの2つの例では、これらの音訳に屈する:

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

ありがとう、私はより良い解決策を見つけることができない場合はそれを使用します。 –