ユーザーがアラビア語インターフェイスに切り替えたときに、デフォルトの数字を英語からアラビア語に変更したいと考えています。
13 => ١٣
89 => ٨٩
この問題に取り組む最善の方法は何ですか?
ユーザーがアラビア語インターフェイスに切り替えたときに、デフォルトの数字を英語からアラビア語に変更したいと考えています。
13 => ١٣
89 => ٨٩
この問題に取り組む最善の方法は何ですか?
ヘルパーモジュールを追加します
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
私はこの迅速な解決策を思いつきました。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)
出力する新しい数値変換関数を呼び出すことができます١٣
このコードを確認してください: https://github.com/gdotdesign/rails-arabic-convert/blob/master/app/helpers/convert_helper.rb。
英語の数字をアラビア数字に変換するヘルパーです。