2012-08-03 63 views

回答

0

我想出了这个快速解决方案。

n1: "١" 
n2: "٢" 
n3: "٣" 
. 
. 
. 

现在我们可以通过调用新的数字转换功能:我在ApplicationHelper在config/locals/ar.yml与下面的格式增加了以下功能

def tn(num) 
    num.to_s.split(//).map{|r|t("n"+r)}.join 
end 

然后添加翻译0每个号码9 tn(13)将输出١٣阿拉伯语本地化

1

我的助手模块添加

ARABIC_NUMBERS = %w(٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩) 
def ta numbers 
    numbers = numbers.to_s if numbers.is_a? Integer 
    results = numbers.chars.map { |char| ARABIC_NUMBERS[char.to_i] }.join 
end 
+0

如果你想这个解决方案sovle负数你必须检查是否char ==' - '否则做你做的事。 – ecleel 2012-11-12 15:06:08