本地化Ruby字母表

时间:2011-09-08 10:42:14

标签: ruby-on-rails ruby internationalization

我正在使用I18N进行Web应用程序(Rails),部分应用程序需要显示包含所选语言环境字母的选择。我的问题是,有没有办法让Ruby来处理这个问题,还是我需要通过Rails提供的I18N API?

这是我用来生成选择选项的数组:

'A'.upto('Z').to_a.concat(0.upto(9).to_a)

我需要将其翻译成俄语,中文和阿拉伯语。

2 个答案:

答案 0 :(得分:1)

您需要创建一个HTML select,其中包含特定字母的所有字母吗?

这在理论上适用于俄语和阿拉伯语,但中文没有'字母'。

书写系统包含thousands of characters

答案 1 :(得分:1)

我认为您需要自己实施。 Afaik Rails i18n插件不提供此信息。

一个很好的解决方案是创建自己的Range。 来自文档的示例:

class Xs # represent a string of 'x's
  include Comparable
  attr :length
  def initialize(n)
    @length = n
  end
  def succ
    Xs.new(@length + 1)
  end
  def <=>(other)
    @length <=> other.length
  end
  def to_s
    sprintf "%2d #{inspect}", @length
  end
  def inspect
    'x' * @length
  end
end

r = Xs.new(3)..Xs.new(6)   #=> xxx..xxxxxx
r.to_a                     #=> [xxx, xxxx, xxxxx, xxxxxx]
r.member?(Xs.new(5))       #=> true