Additional info: as I said I18n.available_locales is initially an array of symbols, so I use them without convertion, but I also need only first two chars and when I do it become a string, that's why this conversion exists:
```ruby
AVAILABLE_LOCALES_HASH[locale[0..1].downcase.to_sym] = locale
```
I think converting I18n.available_locales to string may be better than converting accept_language to sym.
Actually there should be another minor fix for selecting locale in a very specific circumstances. I'm planning to make a PR soon.