Search code examples
ruby-on-rails-3internationalization

Rails i18n: How to know what is the current language?


I am aware of how i18n/l10n is usually done in Rails3, and I chose to have a single ERB file that calls t(...) for localization. But for a particular part I need something special:

I need to display a string whose localization is coming from an external database.

So how can I know the current language, to call the external database with an en or ja parameter?

Something like $LANG in UNIX. Preferably accessible from view or controller.


Solution

  • I18n.locale # Get and set the current locale
    

    As Oshan Wisumperuma states in the comments, the local is stored in a symbol, like :en or :de (not a string 'en' or 'de') in an if statement:

    if I18n.locale==:en
    ...
    end