1

ユーザーがアラビア語インターフェイスに切り替えたときに、デフォルトの数字を英語からアラビア語に変更したいと考えています。

13 => ١٣

89 => ٨٩

この問題に取り組む最善の方法は何ですか?

4

3 に答える 3

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
于 2012-11-12T13:00:38.517 に答える
0

私はこの迅速な解決策を思いつきました。ApplicationHelper に次の関数を追加しました

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

config/locals/ar.yml次に、以下の形式で 0 から 9 までの各数値の翻訳を追加しました。

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

これで、アラビア語ローカライズでtn(13)出力する新しい数値変換関数を呼び出すことができます١٣

于 2012-08-03T18:53:02.057 に答える
0

このコードを確認してください: https://github.com/gdotdesign/rails-arabic-convert/blob/master/app/helpers/convert_helper.rb

英語の数字をアラビア数字に変換するヘルパーです。

于 2012-08-03T18:01:19.463 に答える