Работа над созданием началась ещё в мае, в июле была неплохая рабочая версия, и вот в декабре у нас:
Наша цель очень простая – стать стандартной open-source библиотекой географических данных (административных делений и названий). На сегодня ничего подобного нет, каждому разработчику приходится изобретать велосипед заново.
Если вкратце, то основной плюс от использования библиотеки Географ, это возможность делать что-то вроде:
Если вы считаете, что это очень просто, то знайте, что даже гиганты вроде Facebook и VK до сих пор делают это с ошибками! :)
Важным отличием текущей версии стало разделение репозиториев – данные JSON теперь хранятся как отдельный пакет, что позволяет использовать содержимое в других языках программирования. Кроме того, исправления, скажем, на русском языке будут скачиваться только теми, кому действительно нужен русский язык (установлен пакет с русским языком в composer.json).
По умолчанию Географ использует систему ISO 3166 для деления по странам и областям. ISO – единственный активно поддерживаемый стандарт на сегодня, поэтому мы рекомендуем использовать его. Тем не менее, стандарт можно выбрать:
Приглашаем к участию разработчиков! Географ – перспективный и полезный пакет. Среди приоритетов SDK для Node.js и Ruby, а также доведение переводов городов на русском до 100%.
Комментарии, критика и любые другие виды обратной связи также горячо приветствуются.
- Полное соответствие кодов ISO ISO-3166-1 и ISO-3166-2
- Возможность выбора системы деления – ISO, FIPS или GeoNames
- Полное покрытие стран и областей мира русскими переводами
- Логичная изоляция данных от кода, открываем дорогу SDK на других языках
- Официальный сайт с документацией на русском языке
Наша цель очень простая – стать стандартной open-source библиотекой географических данных (административных делений и названий). На сегодня ничего подобного нет, каждому разработчику приходится изобретать велосипед заново.
Если вкратце, то основной плюс от использования библиотеки Географ, это возможность делать что-то вроде:
use MenaraSolutions\Geographer\State;
$voronezh = State::build('RU-VOR');
echo "За окном {$voronezh->getName('ru')}\n";
echo "Иван живет {$voronezh->inflict('in')->getName()}\n";
echo "Лена вернулась {$voronezh->inflict('from')->getName()}\n";
// За окном Воронежская область
// Иван живет в Воронежской области
// Лена вернулась из Воронежской области
Если вы считаете, что это очень просто, то знайте, что даже гиганты вроде Facebook и VK до сих пор делают это с ошибками! :)
- В шаблонах не надо думать о правильном предлоге («в», «во», «на» и так далее)
- Не надо засорять базу данных и код вторичным для продукта содержимым
- База данных постоянно правится силами open-source программистов (бесплатно!)
Отделение данных от кода
Важным отличием текущей версии стало разделение репозиториев – данные JSON теперь хранятся как отдельный пакет, что позволяет использовать содержимое в других языках программирования. Кроме того, исправления, скажем, на русском языке будут скачиваться только теми, кому действительно нужен русский язык (установлен пакет с русским языком в composer.json).
Возможность выбора стандарта
По умолчанию Географ использует систему ISO 3166 для деления по странам и областям. ISO – единственный активно поддерживаемый стандарт на сегодня, поэтому мы рекомендуем использовать его. Тем не менее, стандарт можно выбрать:
$country->setStandard(DefaultManager::STANDARD_ISO); // ISO
$country->setStandard(DefaultManager::STANDARD_FIPS); // FIPS 10-4
$country->setStandard(DefaultManager::STANDARD_GEONAMES); // GeoNames
Участие приветствуется
Приглашаем к участию разработчиков! Географ – перспективный и полезный пакет. Среди приоритетов SDK для Node.js и Ruby, а также доведение переводов городов на русском до 100%.
Комментарии, критика и любые другие виды обратной связи также горячо приветствуются.
Поделиться с друзьями
Комментарии (6)
mihmig
26.12.2016 11:21+1А есть в пакете такое:
Андрей — москвич
Борис — вологжанин
…
Павел — из %кривой рог%dusterio
27.12.2016 09:38Нет, сейчас нет. Если будут многочисленные запросы — добавим :) Отмечу, что большинство таких слов непереводимо — такие названия как правило есть только внутри страны на родном языке.
Big_Shark
26.12.2016 11:55Как обстоят дела с непризнанными или частично признанными государствами?
https://ru.wikipedia.org/wiki/Непризнанные_и_частично_признанные_государстваdusterio
26.12.2016 11:57+1Я ждал этого вопроса :) Так как уже есть поддержка разных стандартов, планируется просто добавить еще один — что-то вроде «дефакто» деления. Так как официальных кодов в этом случае не будет, придется скорее всего какие-то свои уникальные идентификаторы использовать
Daar
Сайт чего-то лежит, или хабр-эффект поймали.
dusterio
Хмм, у меня открывается!
Сайт хостится на AWS S3, это просто набор статических HTML (Gatsby) — там нечему падать особо :)