Geographer: library that knows the world

ISO 3166

Geographer is an open-source package that knows how any country, state or city is called in any major language.

Think of Geographer as of moment.js of geography, it's your one stop shop for all geopolitical division stuff.

Who should use this

Any web application that needs to display country, state or city lists and/or names may benefit from Geographer.

Imagine you want to display "John logged in 5 seconds ago from Venice" in Spanish. With Geographer this is as simple as:

// In this example we are using Venice's Geonames code to resolve it

$venice = City::build(3164603);

echo 'John logged in 5 seconds ago ' . $venice->setLocale('es')->inflict('from')->getName();

And now I want to display "Venice is in Italy":

echo $venice->inflict('default')->getName() . ' is in ' . $venice->parent()->parent()->getName();