正如我们所知,法语数字使用“,”作为十进制分隔符与英语相比。
例如:英语:10.25%是 法语:10,25%
我能够将英文数字成功翻译成法文:
number_with_precision(121.45, locale: :fr)
#=> 121,45
但我无法将法语数字翻译成英语:
number = number_with_precision(121.45, locale: :fr)
number #=> 121,45
number = number_with_precision(number, locale: :en)
number #=> 121,45
该号码仍保留在法语区域。
这是我的en.yml:
en:
number:
format:
delimiter: ! ','
separator: '.'
significant: false
strip_insignificant_zeros: false
这是我的fr.yml:
fr:
number:
format:
delimiter: ! ','
separator: ','
significant: false
strip_insignificant_zeros: false
我的翻译文件中是否有错误导致此错误?
答案 0 :(得分:0)
你正在做什么你认为"英语到法语"不是"来自英语"。 121.45
是一个Ruby数字文字,既不是英文也不是法文(虽然文字本身使用小写的句点,如英文符号,尽管它使用下划线作为分隔符,不像英语,它使用逗号)。
在你所说的"法语到英语"中,你传递的是法语格式的字符串。这就是为什么它不起作用。 number_with_precision
如何知道传递的字符串是用法语表示法写的?