但zh-TW包含特殊字符?所以它在rails控制台中有奇怪的行为。
如果我将我的语言环境更改为英语,则效果很好I18n.locale= :en
但未能I18n.locale= :zh-TW
NameError: uninitialized constant TW
from (irb):2
from /Users/hsu-wei-cheng/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands/console.rb:90:in `start'
from /Users/hsu-wei-cheng/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands/console.rb:9:in `start'
from /Users/hsu-wei-cheng/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:62:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
将台湾语的zh-TW更改为tw是个好主意吗?
在语言环境yml文件
中tw:
hello: "Hello world"
答案 0 :(得分:0)
:tw
不是国际语言代码。根据{{3}}
i18n库采用实用的方法来处理区域设置键(在一些之后) 讨论),仅包括语言环境(“语言”)部分,如:en, :pl,而不是区域部分,如:en-US或:en-GB,它们是 传统上用于分离“语言”和“区域设置” 或“方言”。许多国际申请只使用“语言” 语言环境的元素,例如:cs,:th或:es(适用于捷克语,泰语和英语) 西班牙)。但是,内部也存在地区差异 不同的语言群体可能很重要。例如,在 :en-US语言环境,你将$作为货币符号,而在:en-GB, 你会有£。没有什么可以阻止你区分区域和其他区域 以这种方式设置:你只需提供完整的“英语 - 美联航 Kingdom“en:GB字典中的语言环境。
因此,您可以将:zh
用于台湾。没问题。