# Localize doesn't work

**URL:** <https://www.ruby-forum.com/t/localize-doesnt-work/183976>\
**Category:** Rails\
**Created:** [February 23, 2010, 12:05pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976 "2010-02-23T12:05:04Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 12:05pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/1 "2010-02-23T12:05:04Z")

</div>

Hello,

for some reason I18n.localize(Time.now, :format =\> :default) [and  
l(Time.now, :format =\> :default)] returns an empty string although  
t(’.text’) does work.

Anyone knows what’s wrong with my I18n?

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 5:09pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/2 "2010-02-23T17:09:24Z")

</div>

I checked t(‘time.formats.defaults’), it’s existing:  
time:  
formats:  
default: “%a, %d %b %Y %H:%M:%S %z”  
short: “%d %b %H:%M”  
long: “%B %d, %Y %H:%M”  
am: “am”  
pm: “pm”

Anything else that could cause an empty string as result?

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 6:36pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/3 "2010-02-23T18:36:16Z")

</div>

What does t(“time.formats”) give you?

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 9:26pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/4 "2010-02-23T21:26:16Z")

</div>

t(“time.formats”) returns:  
default%A, %e. %B %Y, %H:%M Uhrtime%H:%Mlong%A, %e. %B %Y, %H:%M  
Uhrshort%e. %B, %H:%M Uhr

t(“time.formats.default”) returns:  
%A, %e. %B %Y, %H:%M Uhr

It’s German so don’t get confused 🙂

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 10:12pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/5 "2010-02-23T22:12:22Z")

</div>

Sharagoz – wrote:

> Where are you getting the empty string from I18n.localize? Are you  
> getting it in the console too?
> 
> Mind posting the whole translation file, or at least the top part  
> including the number localizations?

Console:

> > I18n.t(“time.formats.default”)  
> > I18n.t(“time.formats.default”)  
> > =\> “%a, %d %b %Y %H:%M:%S %z”

> > I18n.l(Time.now, :formats =\> :default)  
> > I18n.l(Time.now, :formats =\> :default)  
> > =\> “Tue, 23 Feb 2010 22:10:22 MitteleuropÃ¤ische Zeit”

Translation file:  
en-US:  
number:  
# Used in number\_with\_delimiter()  
# These are also the defaults for ‘currency’, ‘percentage’,  
‘precision’, and ‘human’  
format:  
# Sets the separator between the units, for more precision (e.g.  
1.0 / 2.0 == 0.5)  
separator: “.”  
# Delimets thousands (e.g. 1,000,000 is a million) (always in  
groups of three)  
delimiter: “,”  
# Number of decimals, behind the separator (the number 1 with a  
precision of 2 gives: 1.00)  
precision: 3

…

time:  
formats:  
default: “%a, %d %b %Y %H:%M:%S %z”  
short: “%d %b %H:%M”  
long: “%B %d, %Y %H:%M”  
am: “am”  
pm: “pm”

but:  
\<%= I18n.l(Time.now, :formats =\> :default) %\>  
still returns nothing.

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [February 23, 2010, 10:03pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/6 "2010-02-23T22:03:11Z")

</div>

Where are you getting the empty string from I18n.localize? Are you  
getting it in the console too?

Mind posting the whole translation file, or at least the top part  
including the number localizations?

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [March 30, 2010, 10:47am UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/7 "2010-03-30T10:47:34Z")

</div>

Heinz S. wrote:

> I18n.localize(Time.now, :format =\> :default)  
> returns an empty string although  
> t(’.text’) does work.

Hi Heinz,

I’m having the same problem. Have you found a solution yet? Does anybody  
have an idea? I’m using Rails 2.3.5

Thanks for any hints,  
Sebastian

---

<div class="post-metadata">

**Author:** ![cojones](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@cojones](https://www.ruby-forum.com/u/cojones)\
**Post date:** [March 31, 2010, 7:27pm UTC](https://www.ruby-forum.com/t/localize-doesnt-work/183976/8 "2010-03-31T19:27:09Z")

</div>

No, unfortunately not. Anyone else an idea?
