本地化 Ruby 字母表

发布于 2024-12-03 19:46:23 字数 241 浏览 3 评论 0原文

我正在为 Web 应用程序(Rails)开发 I18N,并且该应用程序的一部分需要显示包含所选区域设置的字母表的选择。我的问题是,有没有办法让 Ruby 来处理这个问题,还是我需要通过 Rails 提供的 I18N API?

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

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

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

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 generating the select options:

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回眸一遍 2024-12-10 19:46:24

我认为你需要自己实现这一点。 Afaik Rails i18n 插件不提供此信息。

一个很好的解决方案是创建您自己的范围。
文档中的示例:

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

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
归属感 2024-12-10 19:46:23

您需要创建一个包含特定字母表中所有字母的 HTML select

理论上这适用于俄语和阿拉伯语,但汉语没有“字母表”。

书写系统包含数千个字符

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文