# Add a new format to locales

**URL:** <https://www.ruby-forum.com/t/add-a-new-format-to-locales/187585>\
**Category:** Rails\
**Created:** [April 26, 2010, 11:00am UTC](https://www.ruby-forum.com/t/add-a-new-format-to-locales/187585 "2010-04-26T11:00:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![inriz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/50afbb/32.png) [@inriz](https://www.ruby-forum.com/u/inriz)\
**Post date:** [April 26, 2010, 11:00am UTC](https://www.ruby-forum.com/t/add-a-new-format-to-locales/187585/1 "2010-04-26T11:00:17Z")

</div>

hello list,

i try to add a new format to my locales file de.yml  
i looks like that:

de:  
number:  
square\_meter:  
format:  
unit: ‘m²’  
format: “%n %u”  
precision: 2  
separator: ‘,’  
delimiter: ‘.’

after that i’ve copied the number\_to\_currency method to the  
application\_controller.rb to get maximum comfort 🙂  
but i get the default view of numbers, so it doesnt find my new yml  
section

def number\_to\_square\_meter(number, options = {})  
options.symbolize\_keys!

```
defaults = I18n.translate('number.format''number.format', :locale

```

=\> options[:locale], :raise =\> true) rescue {}  
currency =  
I18n.translate(‘number.square\_meter.format’‘number.square\_meter.format’,  
:locale  
=\> options[:locale], :raise =\> true) rescue {}  
defaults = defaults.merge(currency)

```
precision = options[:precision] || defaults[:precision]
unit = options[:unit] || defaults[:unit]
separator = options[:separator] || defaults[:separator]
delimiter = options[:delimiter] || defaults[:delimiter]
format = options[:format] || defaults[:format]
separator = '' if precision == 0

begin
 format.gsub(/%n/, number_with_precision(number,
   :precision => precision,
   :delimiter => delimiter,
   :separator => separator)
 ).gsub(/%u/, unit)
rescue
 number
end

```

end

do you have any idea how can i solve that?

thanks

best regards

matthias
