使用这个answer中的技术,我能够轻松地测试希伯来语和阿拉伯语(需要Ruby 1.9 +):
if unknown_text.match(/\p{Hebrew}|\p{Arabic}/)
text_direction = :rtl
end
另一种方法是检查相关文本的Unicode字符范围,如here所述。
我发现了一颗宝石可能会做你想要的东西。我没有自己使用它的经验,因此您可能需要查看自述文件以了解如何设置或在代码中使用它
https://github.com/peterc/whatlanguage/tree/master