Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 从阿拉伯语翻译姓名/姓氏_Ruby_Translation_Arabic - Fatal编程技术网

Ruby 从阿拉伯语翻译姓名/姓氏

Ruby 从阿拉伯语翻译姓名/姓氏,ruby,translation,arabic,Ruby,Translation,Arabic,我在和Ruby合作,我有一个阿拉伯语言的名字/姓氏列表,我想把它们翻译成拉丁语,因为它们是发音的,例如,我有名字“Ruby”=>“Redouane”(我也可以接受Radouane,Radwan或类似的东西) 像google translate这样的公共API在一些名称上工作得很好,但当名称有意义时,它们无法“按发音”将其翻译成英语,例如,使用google translate,它会给出:“gimbol”,而我想要的是“Ramzy”(我也可以接受“Ramzi”) 有什么好的红宝石可以翻译名字吗 我之

我在和Ruby合作,我有一个阿拉伯语言的名字/姓氏列表,我想把它们翻译成拉丁语,因为它们是发音的,例如,我有名字
“Ruby”=>“Redouane”
(我也可以接受
Radouane
Radwan
或类似的东西)

像google translate这样的公共API在一些名称上工作得很好,但当名称有意义时,它们无法“按发音”将其翻译成英语,例如,使用google translate,它会给出:
“gimbol”
,而我想要的是
“Ramzy”
(我也可以接受
“Ramzi”

有什么好的红宝石可以翻译名字吗


我之所以尝试翻译,是因为我无法将阿拉伯语文本直接打印到Ruby控制台,请参见:

不是一个明确的答案,但您看到了吗?它提供从任何unicode字母到普通ASCII的基本音译。然而,它实际上只是一个简单的音译,例如,它没有在转录中添加元音。引用自述:

其他语言,如希伯来语和阿拉伯语,不写元音,但从上下文中假设元音,因此该库给出的这些语言的ASCII表示对于母语人士来说相当难看

你的两个例子可以归结为这些音译:

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

没有明确的答案,但你看到了吗?它提供从任何unicode字母到普通ASCII的基本音译。然而,它实际上只是一个简单的音译,例如,它没有在转录中添加元音。引用自述:

其他语言,如希伯来语和阿拉伯语,不写元音,但从上下文中假设元音,因此该库给出的这些语言的ASCII表示对于母语人士来说相当难看

你的两个例子可以归结为这些音译:

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

我可以接受错误,它们不是真正的问题,我想做的是:我有一个脚本,从服务器收集一些数据,数据包含阿拉伯语的姓名和姓氏,以及等级,我想在控制台中显示姓名/姓氏,我无法在控制台上显示阿拉伯语,所以我尝试翻译。我认为这一点都不离题,它应该重新开放。它不会让我补充一个答案,但只是为了子孙后代:你试图做的事情目前是不可能的。对于一个自动化系统来说,根本无法确定مزي是被用作专有名词还是普通名词。所以,你最好的办法是解决你的输出问题-我在那里为你提交了一个答案,希望它能有所帮助。我可以接受错误,它们不是真正的问题,我想做的是:我有一个脚本,从服务器收集一些数据,数据包含阿拉伯语的名称和姓氏,以及等级,我想在控制台中显示名称/姓氏,我无法在控制台上显示阿拉伯语,所以我尝试了翻译。我认为这一点都不离题,应该重新打开。这不会让我添加答案,但只是为了子孙后代:你正在尝试做的事情目前是不可能的。对于一个自动化系统来说,根本无法确定مزي是被用作专有名词还是普通名词。所以你最好的办法是解决你的输出问题-我在那里为你提交了一个答案,希望它能有所帮助。谢谢,如果我没有找到更好的解决方案,我会使用它。谢谢,如果我没有找到更好的解决方案,我会使用它。