lib/world_flags/helper/locale.rb in world-flags-0.3.2 vs lib/world_flags/helper/locale.rb in world-flags-0.3.2.1

- old
+ new

@@ -12,10 +12,21 @@ WorldFlags.valid_locales end end def locales - [params[:locale], browser_locale, ip_country_code, I18n.default_locale].downcase + [params[:locale], extract_locale_from_tld, browser_locale, ip_country_code, I18n.default_locale].downcase end + + # Get locale from top-level domain or return nil if such locale is not available + # You have to put something like: + # 127.0.0.1 application.com + # 127.0.0.1 application.it + # 127.0.0.1 application.pl + # in your /etc/hosts file to try this out locally + def extract_locale_from_tld + parsed_locale = request.host.split('.').last + I18n.available_locales.include?(parsed_locale.to_sym) ? parsed_locale : nil + end end end end \ No newline at end of file