New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

geo_locale

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

geo_locale

  • 0.9.5
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

GeoLocale v0.9.5

Simple wrapper for GeoIP gem with some redundancy on GeoKit to get a two-letter country code or locale from an IP and, (optionally) request headers if a service like cloudflare is used.

Basic use-case

Detect application user's origin and display app in that language.

Requirements

Ruby 2.0.0 and greater.

Installation

# in Gemfile
gem 'geo_locale', '~> 0.9.5' # and bundle

Usage

Configure default locales

# in /config/initializers/geo_locale.rb
GeoLocale.configure do |config|
  config.localhost_country = "lv" # set the country to return for localhost, this country's locale and lcid will also be used for localhost
  config.default_country = "de" # set to nil or false if you want to catch fails in geolocation
  config.default_locale = "en" # country->locale conversion is minimal for now, set this explicitly to ensure GeoLocale.locale returns useful value
  config.default_lcid = "en-us"
  config.overrides["ee"] = "en" # hash used to override standard country codes
end

To get country code:

GeoLocale.country_code(ip: request.remote_ip, request_headers: request.headers)
# => "en"

To get locale:

GeoLocale.locale(country_code: "gb", request_headers: request.headers)
#=> "en"
GeoLocale.locale(country_code: "gb", lcid: true)
#=> "en-gb"
GeoLocale.locale(ip: "97.77.25.20")
#=> "en"
GeoLocale.locale(ip: "97.77.25.20", lcid: true)
#=> "en-us"

country_code is prioritized as it does not require external calls.

GeoLocale.locale(ip: "97.77.25.20", country_code: "lv")
#=> "lv"

TO-DO

  1. Extend the country_code => locale hash in lib/geo_locale/locale.rb
  2. Open the hash to configuration overrides
  3. Automagically make initializer file for rails projects

Contributing

  1. Fork it ( https://github.com/Epigene/geo_locale/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

FAQs

Package last updated on 06 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc