开发者

Localizing Ruby alphabet

开发者 https://www.devze.com 2023-04-03 06:52 出处:网络
I\'m working on I18N for a web application (Rails), and part of the app needs to display a select containing the alphabet for a selected locale. My question is, is there a way to get Ruby to handle th

I'm working on I18N for a web application (Rails), and part of the app needs to display a select containing the alphabet for a selected locale. My question is, is there a way to get Ruby to handle this or do I need to go thru the Rails-provided I18N API?

This is the array I'm using for generatin开发者_如何学JAVAg the select options:

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

I need to translate that to Russian, Chinese & Arabic.


You need to create an HTML select, with all the letters of a particular alphabet?

That would theoretically work for Russian and Arabic, but Chinese doesn't have an 'alphabet'.

The writing system contains thousands of characters.


I think you need to implement this yourself. Afaik Rails i18n plugins don't provide this information.

A nice solution would be to creating you own Range. Example from the docs:

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
0

精彩评论

暂无评论...
验证码 换一张
取 消