APP_LOCALES = {}
# locale_str: [language, country code]
# generate list
I18n.with_locale("") do
  locale_map = YAML.load(File.open Rails.root.join("config/hl_to_cc.yml"))
  flag_map = YAML.load(File.open Rails.root.join("config/flags.yml"))
  Dir.glob(Rails.root.join("config/locales/*.yml")).each do |locale|
    l = locale.split("/").last.split(".").first.downcase
    if APP_LOCALES[l].nil?
      cc = l.split '-'
      if cc.length == 1
        cc = cc.first.split '_'
      end
      cc = cc.last

      if flag_map.index(cc).nil? and not locale_map[cc].nil?
        cc = locale_map[cc]
      end

      begin
        lang = I18n.translate("#{l}.language")
        lang = cc if lang.index "translation missing"
        APP_LOCALES[l] = [lang, cc]
      rescue
        APP_LOCALES[l] = [cc, cc]
      end
    end
  end
end