1

ユーザーの都市のドイツ語名を表示したい。無料版の Maxmind Geoip で可能ですか? 独自の翻訳サービスを構築するために、GeoLite2-City.mmdb または GeoLiteCity.dat を開いてリストされている都市を確認する方法が見つかりませんでした。どうすれば開くことができますか?

4

3 に答える 3

2

GeoIP Legacy データベースにはローカライズされた名前は含まれていませんが、GeoIP2 (または GeoLite2) データベースには含まれています。ローカライズされた名前には次のようにアクセスできます。

<?php
require_once 'vendor/autoload.php';
use GeoIp2\Database\Reader;

$reader = new Reader('/usr/local/share/GeoIP/GeoLite2-City.mmdb');

$record = $reader->city('128.101.101.101');

print($record->country->names['de'] . "\n");

または、リーダーをデフォルトでドイツ語にし、利用できない場合は英語にフォールバックさせたい場合は、コンストラクターで言語を設定できます。

<?php
require_once 'vendor/autoload.php';
use GeoIp2\Database\Reader;

$reader = new Reader('/usr/local/share/GeoIP/GeoLite2-City.mmdb', array('de', 'en'));

$record = $reader->city('128.101.101.101');

print($record->country->name . "\n");
于 2014-01-13T14:56:13.680 に答える