diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..2587c63 Binary files /dev/null and b/.DS_Store differ diff --git a/app/Helpers/Global/string_helper.php b/app/Helpers/Global/string_helper.php index 18b60bc..9d44346 100644 --- a/app/Helpers/Global/string_helper.php +++ b/app/Helpers/Global/string_helper.php @@ -1,5 +1,7 @@ route('home.country', ['country' => 'my']); + $country = strtolower($request->session()->get('country')); + + return redirect()->route('home.country', ['country' => $country]); } public function country(Request $request, $country) { - $country = CountryLocale::where('slug', $country)->first(); + $country_locale = CountryLocale::where('slug', $country)->first(); if (! is_null($country)) { - $categories = Category::where('country_locale_id', $country->id)->get(); + $categories = Category::where('country_locale_id', $country_locale->id)->get(); - return view('front.country', ['categories' => $categories, 'country' => $country]); + $request->session()->put('view_country_locale', $country_locale); + + return view('front.country', ['categories' => $categories, 'country_locale' => $country_locale]); } - return redirect()->route('home.country', ['country' => 'my']); + return redirect()->route('home.country', ['country' => config('platform.general.fallback_country_slug')]); + } + + public function countryCategory(Request $request, $country, $category) + { + return "{$country} : {$category}"; + } + + public function posts(Request $request, $country) + { + return "{$country} : all posts"; + } + + public function post(Request $request, $country, $post) + { + return "{$country} : {$post}"; } } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 494c050..ba5f78e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -36,6 +36,7 @@ class Kernel extends HttpKernel \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, + \App\Http\Middleware\StoreGeoSession::class, ], 'api' => [ diff --git a/app/Http/Middleware/StoreGeoSession.php b/app/Http/Middleware/StoreGeoSession.php new file mode 100644 index 0000000..10eb496 --- /dev/null +++ b/app/Http/Middleware/StoreGeoSession.php @@ -0,0 +1,64 @@ +session()->has('geokey')) { + if ($request->session()->get('geokey') != $encoded_ip) { + $request->session()->put('geokey', $encoded_ip); + $needs_update = true; + } + } else { + $request->session()->put('geokey', $encoded_ip); + $needs_update = true; + } + + if (!$request->session()->has('timezone')) { + $needs_update = true; + } + + if ($needs_update) + { + + if ($payload = Location::get($ip)) + { + $request->session()->put('geodata', base64_encode(json_encode($payload))); + $isocode = $payload->isoCode; + } + else + { + $isocode = '*'; + } + + $request->session()->put('country', $isocode); + + if (isset($payload->latitude) && isset($payload->longitude)) + { + $request->session()->put('timezone', TimezoneMapper::mapCoordinates($payload->latitude, $payload->longitude)); + } + } + + return $next($request); + } +} diff --git a/app/Models/Category.php b/app/Models/Category.php index 3202dc6..09f2d1b 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -9,6 +9,7 @@ use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use GeneaLabs\LaravelModelCaching\Traits\Cachable; /** * Class Category @@ -30,7 +31,7 @@ */ class Category extends Model { - use SoftDeletes; + use SoftDeletes, Cachable; protected $table = 'categories'; diff --git a/app/Models/CountryLocale.php b/app/Models/CountryLocale.php index cb71a0d..c06e415 100644 --- a/app/Models/CountryLocale.php +++ b/app/Models/CountryLocale.php @@ -9,6 +9,7 @@ use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use GeneaLabs\LaravelModelCaching\Traits\Cachable; /** * Class CountryLocale @@ -24,7 +25,7 @@ */ class CountryLocale extends Model { - use SoftDeletes; + use SoftDeletes, Cachable; protected $table = 'country_locales'; diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php new file mode 100644 index 0000000..83d3421 --- /dev/null +++ b/app/Providers/ViewServiceProvider.php @@ -0,0 +1,46 @@ +check()) + { + + } + + + + } +} diff --git a/app/View/Composers/CategoryComposer.php b/app/View/Composers/CategoryComposer.php new file mode 100644 index 0000000..f609013 --- /dev/null +++ b/app/View/Composers/CategoryComposer.php @@ -0,0 +1,15 @@ +session()->get('view_country_locale'))) + { + $current_country_locale = request()->session()->get('view_country_locale'); + } + else + { + $current_country_locale = CountryLocale::where('slug', config('platform.general.fallback_country_slug')); + } + + + $view->with('country_locales', $country_locales) + ->with('current_country_locale', $current_country_locale); + + } +} diff --git a/composer.json b/composer.json index 6f51339..153ebc5 100644 --- a/composer.json +++ b/composer.json @@ -10,6 +10,8 @@ "require": { "php": "^8.1", "artesaos/seotools": "^1.2", + "genealabs/laravel-model-caching": "^0.13.4", + "glhd/laravel-timezone-mapper": "^1.4", "guzzlehttp/guzzle": "^7.2", "kalnoy/nestedset": "^6.0", "laravel/framework": "^10.10", @@ -19,6 +21,7 @@ "stevebauman/location": "^7.0" }, "require-dev": { + "barryvdh/laravel-debugbar": "^3.8", "fakerphp/faker": "^1.9.1", "laravel/pint": "^1.10", "laravel/sail": "^1.18", diff --git a/composer.lock b/composer.lock index 542e062..0a45b8b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d4622e7e11ee1dc87e72a4ec06a255f9", + "content-hash": "7e7ca4b12aa8cb62c957ab3f8746ab67", "packages": [ { "name": "artesaos/seotools", @@ -651,6 +651,130 @@ ], "time": "2022-02-20T15:07:15+00:00" }, + { + "name": "genealabs/laravel-model-caching", + "version": "0.13.4", + "source": { + "type": "git", + "url": "https://github.com/GeneaLabs/laravel-model-caching.git", + "reference": "631bb7f1d84c5863d82cff90e48152f65616597e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GeneaLabs/laravel-model-caching/zipball/631bb7f1d84c5863d82cff90e48152f65616597e", + "reference": "631bb7f1d84c5863d82cff90e48152f65616597e", + "shasum": "" + }, + "require": { + "genealabs/laravel-pivot-events": "^10.0", + "illuminate/cache": "^10.0", + "illuminate/config": "^10.0", + "illuminate/console": "^10.0", + "illuminate/container": "^10.0", + "illuminate/database": "^10.0", + "illuminate/http": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "require-dev": { + "doctrine/dbal": "^3.3", + "fakerphp/faker": "^1.11", + "laravel/legacy-factories": "^1.3", + "laravel/nova": "^3.9", + "orchestra/testbench": "^8.0", + "orchestra/testbench-browser-kit": "^8.0", + "php-coveralls/php-coveralls": "^2.2", + "phpmd/phpmd": "^2.11", + "phpunit/phpunit": "^9.5", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.6", + "symfony/thanks": "^1.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "GeneaLabs\\LaravelModelCaching\\Providers\\Service" + ] + } + }, + "autoload": { + "psr-4": { + "GeneaLabs\\LaravelModelCaching\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike Bronner", + "email": "hello@genealabs.com" + } + ], + "description": "Automatic caching for Eloquent models.", + "support": { + "issues": "https://github.com/GeneaLabs/laravel-model-caching/issues", + "source": "https://github.com/GeneaLabs/laravel-model-caching/tree/0.13.4" + }, + "time": "2023-03-27T13:53:10+00:00" + }, + { + "name": "genealabs/laravel-pivot-events", + "version": "10.0.1", + "source": { + "type": "git", + "url": "https://github.com/GeneaLabs/laravel-pivot-events.git", + "reference": "862371f6f89be296cc026c9cf5b372dca4d7958b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GeneaLabs/laravel-pivot-events/zipball/862371f6f89be296cc026c9cf5b372dca4d7958b", + "reference": "862371f6f89be296cc026c9cf5b372dca4d7958b", + "shasum": "" + }, + "require": { + "illuminate/database": "^8.0|^9.0|^10.0", + "illuminate/support": "^8.0|^9.0|^10.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0", + "symfony/thanks": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "GeneaLabs\\LaravelPivotEvents\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike Bronner", + "email": "hello@genealabs.com", + "homepage": "https://genealabs.com", + "role": "Developer" + } + ], + "description": "This package introduces new eloquent events for sync(), attach(), detach() or updateExistingPivot() methods on BelongsToMany relation.", + "homepage": "https://github.com/GeneaLabs/laravel-pivot", + "keywords": [ + "eloquent events", + "eloquent extra events", + "laravel BelongsToMany events", + "laravel pivot events", + "laravel sync events" + ], + "support": { + "issues": "https://github.com/GeneaLabs/laravel-pivot/issues", + "source": "https://github.com/GeneaLabs/laravel-pivot" + }, + "time": "2023-03-22T14:46:23+00:00" + }, { "name": "geoip2/geoip2", "version": "v2.13.0", @@ -705,6 +829,67 @@ ], "time": "2022-08-05T20:32:58+00:00" }, + { + "name": "glhd/laravel-timezone-mapper", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/glhd/laravel-timezone-mapper.git", + "reference": "34f36a89b9f4464d295f05352f1b6fdd2bd93e19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/glhd/laravel-timezone-mapper/zipball/34f36a89b9f4464d295f05352f1b6fdd2bd93e19", + "reference": "34f36a89b9f4464d295f05352f1b6fdd2bd93e19", + "shasum": "" + }, + "require": { + "illuminate/support": "*", + "php": ">=7.1.3" + }, + "require-dev": { + "mockery/mockery": "^1.1", + "orchestra/testbench": "~3.0", + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^7.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Galahad\\TimezoneMapper\\TimezoneMapperProvider" + ], + "aliases": { + "TimezoneMapper": "Galahad\\TimezoneMapper\\Facades\\TimezoneMapper" + } + } + }, + "autoload": { + "psr-4": { + "Galahad\\TimezoneMapper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Morrell", + "homepage": "http://www.cmorrell.com" + } + ], + "description": "Timezone mapper for Laravel", + "keywords": [ + "laravel", + "timezone" + ], + "support": { + "issues": "https://github.com/glhd/laravel-timezone-mapper/issues", + "source": "https://github.com/glhd/laravel-timezone-mapper/tree/1.4.0" + }, + "time": "2023-07-03T14:35:58+00:00" + }, { "name": "graham-campbell/result-type", "version": "v1.1.1", @@ -6019,6 +6204,90 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.8.1", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "aff3235fecb4104203b1e62c32239c56530eee32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/aff3235fecb4104203b1e62c32239c56530eee32", + "reference": "aff3235fecb4104203b1e62c32239c56530eee32", + "shasum": "" + }, + "require": { + "illuminate/routing": "^9|^10", + "illuminate/session": "^9|^10", + "illuminate/support": "^9|^10", + "maximebf/debugbar": "^1.18.2", + "php": "^8.0", + "symfony/finder": "^6" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^5|^6|^7|^8", + "phpunit/phpunit": "^8.5.30|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.8-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.8.1" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-02-21T14:21:02+00:00" + }, { "name": "doctrine/cache", "version": "2.2.0", @@ -6727,6 +6996,72 @@ }, "time": "2023-03-17T06:22:06+00:00" }, + { + "name": "maximebf/debugbar", + "version": "v1.18.2", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "17dcf3f6ed112bb85a37cf13538fd8de49f5c274" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/17dcf3f6ed112bb85a37cf13538fd8de49f5c274", + "reference": "17dcf3f6ed112bb85a37cf13538fd8de49f5c274", + "shasum": "" + }, + "require": { + "php": "^7.1|^8", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4|^5|^6" + }, + "require-dev": { + "phpunit/phpunit": ">=7.5.20 <10.0", + "twig/twig": "^1.38|^2.7|^3.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.18-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/maximebf/php-debugbar/issues", + "source": "https://github.com/maximebf/php-debugbar/tree/v1.18.2" + }, + "time": "2023-02-04T15:27:00+00:00" + }, { "name": "mockery/mockery", "version": "1.6.4", diff --git a/config/app.php b/config/app.php index 4c231b4..54eac61 100644 --- a/config/app.php +++ b/config/app.php @@ -159,6 +159,8 @@ /* * Package Service Providers... */ + Barryvdh\Debugbar\ServiceProvider::class, + /* * Application Service Providers... @@ -168,6 +170,7 @@ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, + App\Providers\ViewServiceProvider::class, ])->toArray(), /* @@ -183,6 +186,8 @@ 'aliases' => Facade::defaultAliases()->merge([ // 'Example' => App\Facades\Example::class, + 'Debugbar' => Barryvdh\Debugbar\Facades\Debugbar::class, + ])->toArray(), ]; diff --git a/config/location.php b/config/location.php index 8a7229d..0373826 100644 --- a/config/location.php +++ b/config/location.php @@ -26,7 +26,7 @@ */ 'fallbacks' => [ - Stevebauman\Location\Drivers\MaxMind::class, + Stevebauman\Location\Drivers\Maxmind::class, ], /* @@ -55,7 +55,7 @@ */ 'testing' => [ - 'ip' => env('DEV_DEFAULT_IP', '202.188.193.93'), + 'ip' => env('DEV_DEFAULT_IP'), 'enabled' => env('LOCATION_TESTING', true), ], diff --git a/config/platform/country_codes.php b/config/platform/country_codes.php new file mode 100644 index 0000000..cb52f30 --- /dev/null +++ b/config/platform/country_codes.php @@ -0,0 +1,3418 @@ + [ + "name" => "Andorra", + "native" => "Andorra", + "phone" => "+376", + "continent" => "EU", + "capital" => "Andorra la Vella", + "currency" => "EUR", + "languages" => ["ca"], + "emoji" => "🇦🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 42.546245, + "avg_long" => 1.601554, + ], + "AE" => [ + "name" => "United Arab Emirates", + "native" => "دولة الإمارات العربية المتحدة", + "phone" => "+971", + "continent" => "AS", + "capital" => "Abu Dhabi", + "currency" => "AED", + "languages" => ["ar"], + "emoji" => "🇦🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 23.424076, + "avg_long" => 53.847818, + ], + "AF" => [ + "name" => "Afghanistan", + "native" => "افغانستان", + "phone" => "+93", + "continent" => "AS", + "capital" => "Kabul", + "currency" => "AFN", + "languages" => ["ps", "uz", "tk"], + "emoji" => "🇦🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 33.93911, + "avg_long" => 67.709953, + ], + "AG" => [ + "name" => "Antigua and Barbuda", + "native" => "Antigua and Barbuda", + "phone" => "+1268", + "continent" => "NA", + "capital" => "Saint John\\\'s", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇦🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.060816, + "avg_long" => -61.796428, + ], + "AI" => [ + "name" => "Anguilla", + "native" => "Anguilla", + "phone" => "+1264", + "continent" => "NA", + "capital" => "The Valley", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇦🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.220554, + "avg_long" => -63.068615, + ], + "AL" => [ + "name" => "Albania", + "native" => "Shqipëria", + "phone" => "+355", + "continent" => "EU", + "capital" => "Tirana", + "currency" => "ALL", + "languages" => ["sq"], + "emoji" => "🇦🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 41.153332, + "avg_long" => 20.168331, + ], + "AM" => [ + "name" => "Armenia", + "native" => "Հայաստան", + "phone" => "+374", + "continent" => "AS", + "capital" => "Yerevan", + "currency" => "AMD", + "languages" => ["hy", "ru"], + "emoji" => "🇦🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 40.069099, + "avg_long" => 45.038189, + ], + "AO" => [ + "name" => "Angola", + "native" => "Angola", + "phone" => "+244", + "continent" => "AF", + "capital" => "Luanda", + "currency" => "AOA", + "languages" => ["pt"], + "emoji" => "🇦🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -11.202692, + "avg_long" => 17.873887, + ], + "AQ" => [ + "name" => "Antarctica", + "native" => "Antarctica", + "phone" => "+672", + "continent" => "AN", + "capital" => "", + "currency" => "", + "languages" => [], + "emoji" => "🇦🇶", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -75.250973, + "avg_long" => -0.071389, + ], + "AR" => [ + "name" => "Argentina", + "native" => "Argentina", + "phone" => "+54", + "continent" => "SA", + "capital" => "Buenos Aires", + "currency" => "ARS", + "languages" => ["es", "gn"], + "emoji" => "🇦🇷", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => -38.416097, + "avg_long" => -63.616672, + ], + "AS" => [ + "name" => "American Samoa", + "native" => "American Samoa", + "phone" => "+1684", + "continent" => "OC", + "capital" => "Pago Pago", + "currency" => "USD", + "languages" => ["en", "sm"], + "emoji" => "🇦🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -14.270972, + "avg_long" => -170.132217, + ], + "AT" => [ + "name" => "Austria", + "native" => "Österreich", + "phone" => "+43", + "continent" => "EU", + "capital" => "Vienna", + "currency" => "EUR", + "languages" => ["de"], + "emoji" => "🇦🇹", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 47.516231, + "avg_long" => 14.550072, + ], + "AU" => [ + "name" => "Australia", + "native" => "Australia", + "phone" => "+61", + "continent" => "OC", + "capital" => "Canberra", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇦🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -25.274398, + "avg_long" => 133.775136, + ], + "AW" => [ + "name" => "Aruba", + "native" => "Aruba", + "phone" => "+297", + "continent" => "NA", + "capital" => "Oranjestad", + "currency" => "AWG", + "languages" => ["nl", "pa"], + "emoji" => "🇦🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.52111, + "avg_long" => -69.968338, + ], + "AZ" => [ + "name" => "Azerbaijan", + "native" => "Azərbaycan", + "phone" => "+994", + "continent" => "AS", + "capital" => "Baku", + "currency" => "AZN", + "languages" => ["az"], + "emoji" => "🇦🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 40.143105, + "avg_long" => 47.576927, + ], + "BA" => [ + "name" => "Bosnia and Herzegovina", + "native" => "Bosna i Hercegovina", + "phone" => "+387", + "continent" => "EU", + "capital" => "Sarajevo", + "currency" => "BAM", + "languages" => ["bs", "hr", "sr"], + "emoji" => "🇧🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 43.915886, + "avg_long" => 17.679076, + ], + "BB" => [ + "name" => "Barbados", + "native" => "Barbados", + "phone" => "+1246", + "continent" => "NA", + "capital" => "Bridgetown", + "currency" => "BBD", + "languages" => ["en"], + "emoji" => "🇧🇧", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 13.193887, + "avg_long" => -59.543198, + ], + "BD" => [ + "name" => "Bangladesh", + "native" => "Bangladesh", + "phone" => "+880", + "continent" => "AS", + "capital" => "Dhaka", + "currency" => "BDT", + "languages" => ["bn"], + "emoji" => "🇧🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 23.684994, + "avg_long" => 90.356331, + ], + "BE" => [ + "name" => "Belgium", + "native" => "België", + "phone" => "+32", + "continent" => "EU", + "capital" => "Brussels", + "currency" => "EUR", + "languages" => ["nl", "fr", "de"], + "emoji" => "🇧🇪", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 50.503887, + "avg_long" => 4.469936, + ], + "BF" => [ + "name" => "Burkina Faso", + "native" => "Burkina Faso", + "phone" => "+226", + "continent" => "AF", + "capital" => "Ouagadougou", + "currency" => "XOF", + "languages" => ["fr", "ff"], + "emoji" => "🇧🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.238333, + "avg_long" => -1.561593, + ], + "BG" => [ + "name" => "Bulgaria", + "native" => "България", + "phone" => "+359", + "continent" => "EU", + "capital" => "Sofia", + "currency" => "BGN", + "languages" => ["bg"], + "emoji" => "🇧🇬", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 42.733883, + "avg_long" => 25.48583, + ], + "BH" => [ + "name" => "Bahrain", + "native" => "‏البحرين", + "phone" => "+973", + "continent" => "AS", + "capital" => "Manama", + "currency" => "BHD", + "languages" => ["ar"], + "emoji" => "🇧🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 25.930414, + "avg_long" => 50.637772, + ], + "BI" => [ + "name" => "Burundi", + "native" => "Burundi", + "phone" => "+257", + "continent" => "AF", + "capital" => "Bujumbura", + "currency" => "BIF", + "languages" => ["fr", "rn"], + "emoji" => "🇧🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -3.373056, + "avg_long" => 29.918886, + ], + "BJ" => [ + "name" => "Benin", + "native" => "Bénin", + "phone" => "+229", + "continent" => "AF", + "capital" => "Porto-Novo", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇧🇯", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 9.30769, + "avg_long" => 2.315834, + ], + "BM" => [ + "name" => "Bermuda", + "native" => "Bermuda", + "phone" => "+1441", + "continent" => "NA", + "capital" => "Hamilton", + "currency" => "BMD", + "languages" => ["en"], + "emoji" => "🇧🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 32.321384, + "avg_long" => -64.75737, + ], + "BN" => [ + "name" => "Brunei", + "native" => "Negara Brunei Darussalam", + "phone" => "+673", + "continent" => "AS", + "capital" => "Bandar Seri Begawan", + "currency" => "BND", + "languages" => ["ms"], + "emoji" => "🇧🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 4.535277, + "avg_long" => 114.727669, + ], + "BO" => [ + "name" => "Bolivia", + "native" => "Bolivia", + "phone" => "+591", + "continent" => "SA", + "capital" => "Sucre", + "currency" => "BOB,BOV", + "languages" => ["es", "ay", "qu"], + "emoji" => "🇧🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -16.290154, + "avg_long" => -63.588653, + ], + "BR" => [ + "name" => "Brazil", + "native" => "Brasil", + "phone" => "+55", + "continent" => "SA", + "capital" => "Brasília", + "currency" => "BRL", + "languages" => ["pt"], + "emoji" => "🇧🇷", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => -14.235004, + "avg_long" => -51.92528, + ], + "BS" => [ + "name" => "Bahamas", + "native" => "Bahamas", + "phone" => "+1242", + "continent" => "NA", + "capital" => "Nassau", + "currency" => "BSD", + "languages" => ["en"], + "emoji" => "🇧🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 25.03428, + "avg_long" => -77.39628, + ], + "BT" => [ + "name" => "Bhutan", + "native" => "ʼbrug-yul", + "phone" => "+975", + "continent" => "AS", + "capital" => "Thimphu", + "currency" => "BTN,INR", + "languages" => ["dz"], + "emoji" => "🇧🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 27.514162, + "avg_long" => 90.433601, + ], + "BV" => [ + "name" => "Bouvet Island", + "native" => "Bouvetøya", + "phone" => "+47", + "continent" => "AN", + "capital" => "", + "currency" => "NOK", + "languages" => ["no", "nb", "nn"], + "emoji" => "🇧🇻", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -54.423199, + "avg_long" => 3.413194, + ], + "BW" => [ + "name" => "Botswana", + "native" => "Botswana", + "phone" => "+267", + "continent" => "AF", + "capital" => "Gaborone", + "currency" => "BWP", + "languages" => ["en", "tn"], + "emoji" => "🇧🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -22.328474, + "avg_long" => 24.684866, + ], + "BY" => [ + "name" => "Belarus", + "native" => "Белару́сь", + "phone" => "+375", + "continent" => "EU", + "capital" => "Minsk", + "currency" => "BYR", + "languages" => ["be", "ru"], + "emoji" => "🇧🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 53.709807, + "avg_long" => 27.953389, + ], + "BZ" => [ + "name" => "Belize", + "native" => "Belize", + "phone" => "+501", + "continent" => "NA", + "capital" => "Belmopan", + "currency" => "BZD", + "languages" => ["en", "es"], + "emoji" => "🇧🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.189877, + "avg_long" => -88.49765, + ], + "CA" => [ + "name" => "Canada", + "native" => "Canada", + "phone" => "+1", + "continent" => "NA", + "capital" => "Ottawa", + "currency" => "CAD", + "languages" => ["en", "fr"], + "emoji" => "🇨🇦", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 56.130366, + "avg_long" => -106.346771, + ], + "CC" => [ + "name" => "Cocos [Keeling] Islands", + "native" => "Cocos (Keeling) Islands", + "phone" => "+61", + "continent" => "AS", + "capital" => "West Island", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇨🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -12.164165, + "avg_long" => 96.870956, + ], + "CD" => [ + "name" => "Democratic Republic of the Congo", + "native" => "République démocratique du Congo", + "phone" => "+243", + "continent" => "AF", + "capital" => "Kinshasa", + "currency" => "CDF", + "languages" => ["fr", "ln", "kg", "sw", "lu"], + "emoji" => "🇨🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -4.038333, + "avg_long" => 21.758664, + ], + "CF" => [ + "name" => "Central African Republic", + "native" => "Ködörösêse tî Bêafrîka", + "phone" => "+236", + "continent" => "AF", + "capital" => "Bangui", + "currency" => "XAF", + "languages" => ["fr", "sg"], + "emoji" => "🇨🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 6.611111, + "avg_long" => 20.939444, + ], + "CG" => [ + "name" => "Republic of the Congo", + "native" => "République du Congo", + "phone" => "+242", + "continent" => "AF", + "capital" => "Brazzaville", + "currency" => "XAF", + "languages" => ["fr", "ln"], + "emoji" => "🇨🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -0.228021, + "avg_long" => 15.827659, + ], + "CH" => [ + "name" => "Switzerland", + "native" => "Schweiz", + "phone" => "+41", + "continent" => "EU", + "capital" => "Bern", + "currency" => "CHE,CHF,CHW", + "languages" => ["de", "fr", "it"], + "emoji" => "🇨🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 46.818188, + "avg_long" => 8.227512, + ], + "CI" => [ + "name" => "Ivory Coast", + "native" => "Côte d\\\'Ivoire", + "phone" => "+225", + "continent" => "AF", + "capital" => "Yamoussoukro", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇨🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.539989, + "avg_long" => -5.54708, + ], + "CK" => [ + "name" => "Cook Islands", + "native" => "Cook Islands", + "phone" => "+682", + "continent" => "OC", + "capital" => "Avarua", + "currency" => "NZD", + "languages" => ["en"], + "emoji" => "🇨🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -21.236736, + "avg_long" => -159.777671, + ], + "CL" => [ + "name" => "Chile", + "native" => "Chile", + "phone" => "+56", + "continent" => "SA", + "capital" => "Santiago", + "currency" => "CLF,CLP", + "languages" => ["es"], + "emoji" => "🇨🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -35.675147, + "avg_long" => -71.542969, + ], + "CM" => [ + "name" => "Cameroon", + "native" => "Cameroon", + "phone" => "+237", + "continent" => "AF", + "capital" => "Yaoundé", + "currency" => "XAF", + "languages" => ["en", "fr"], + "emoji" => "🇨🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.369722, + "avg_long" => 12.354722, + ], + "CN" => [ + "name" => "China", + "native" => "中国", + "phone" => "+86", + "continent" => "AS", + "capital" => "Beijing", + "currency" => "CNY", + "languages" => ["zh"], + "emoji" => "🇨🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 35.86166, + "avg_long" => 104.195397, + ], + "CO" => [ + "name" => "Colombia", + "native" => "Colombia", + "phone" => "+57", + "continent" => "SA", + "capital" => "Bogotá", + "currency" => "COP", + "languages" => ["es"], + "emoji" => "🇨🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 4.570868, + "avg_long" => -74.297333, + ], + "CR" => [ + "name" => "Costa Rica", + "native" => "Costa Rica", + "phone" => "+506", + "continent" => "NA", + "capital" => "San José", + "currency" => "CRC", + "languages" => ["es"], + "emoji" => "🇨🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 9.748917, + "avg_long" => -83.753428, + ], + "CU" => [ + "name" => "Cuba", + "native" => "Cuba", + "phone" => "+53", + "continent" => "NA", + "capital" => "Havana", + "currency" => "CUC,CUP", + "languages" => ["es"], + "emoji" => "🇨🇺", + "launched" => false, + "cookieconsent" => false, + "avg_lat" => 21.521757, + "avg_long" => -77.781167, + ], + "CV" => [ + "name" => "Cape Verde", + "native" => "Cabo Verde", + "phone" => "+238", + "continent" => "AF", + "capital" => "Praia", + "currency" => "CVE", + "languages" => ["pt"], + "emoji" => "🇨🇻", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 16.002082, + "avg_long" => -24.013197, + ], + "CX" => [ + "name" => "Christmas Island", + "native" => "Christmas Island", + "phone" => "+61", + "continent" => "AS", + "capital" => "Flying Fish Cove", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇨🇽", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -10.447525, + "avg_long" => 105.690449, + ], + "CY" => [ + "name" => "Cyprus", + "native" => "Κύπρος", + "phone" => "+357", + "continent" => "EU", + "capital" => "Nicosia", + "currency" => "EUR", + "languages" => ["el", "tr", "hy"], + "emoji" => "🇨🇾", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 35.126413, + "avg_long" => 33.429859, + ], + "CZ" => [ + "name" => "Czech Republic", + "native" => "Česká republika", + "phone" => "+420", + "continent" => "EU", + "capital" => "Prague", + "currency" => "CZK", + "languages" => ["cs", "sk"], + "emoji" => "🇨🇿", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 49.817492, + "avg_long" => 15.472962, + ], + "DE" => [ + "name" => "Germany", + "native" => "Deutschland", + "phone" => "+49", + "continent" => "EU", + "capital" => "Berlin", + "currency" => "EUR", + "languages" => ["de"], + "emoji" => "🇩🇪", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 51.165691, + "avg_long" => 10.451526, + ], + "DJ" => [ + "name" => "Djibouti", + "native" => "Djibouti", + "phone" => "+253", + "continent" => "AF", + "capital" => "Djibouti", + "currency" => "DJF", + "languages" => ["fr", "ar"], + "emoji" => "🇩🇯", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 11.825138, + "avg_long" => 42.590275, + ], + "DK" => [ + "name" => "Denmark", + "native" => "Danmark", + "phone" => "+45", + "continent" => "EU", + "capital" => "Copenhagen", + "currency" => "DKK", + "languages" => ["da"], + "emoji" => "🇩🇰", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 56.26392, + "avg_long" => 9.501785, + ], + "DM" => [ + "name" => "Dominica", + "native" => "Dominica", + "phone" => "+1767", + "continent" => "NA", + "capital" => "Roseau", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇩🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.414999, + "avg_long" => -61.370976, + ], + "DO" => [ + "name" => "Dominican Republic", + "native" => "República Dominicana", + "phone" => "+1809,1829,1849", + "continent" => "NA", + "capital" => "Santo Domingo", + "currency" => "DOP", + "languages" => ["es"], + "emoji" => "🇩🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.735693, + "avg_long" => -70.162651, + ], + "DZ" => [ + "name" => "Algeria", + "native" => "الجزائر", + "phone" => "+213", + "continent" => "AF", + "capital" => "Algiers", + "currency" => "DZD", + "languages" => ["ar"], + "emoji" => "🇩🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 28.033886, + "avg_long" => 1.659626, + ], + "EC" => [ + "name" => "Ecuador", + "native" => "Ecuador", + "phone" => "+593", + "continent" => "SA", + "capital" => "Quito", + "currency" => "USD", + "languages" => ["es"], + "emoji" => "🇪🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -1.831239, + "avg_long" => -78.183406, + ], + "EE" => [ + "name" => "Estonia", + "native" => "Eesti", + "phone" => "+372", + "continent" => "EU", + "capital" => "Tallinn", + "currency" => "EUR", + "languages" => ["et"], + "emoji" => "🇪🇪", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 58.595272, + "avg_long" => 25.013607, + ], + "EG" => [ + "name" => "Egypt", + "native" => "مصر‎", + "phone" => "+20", + "continent" => "AF", + "capital" => "Cairo", + "currency" => "EGP", + "languages" => ["ar"], + "emoji" => "🇪🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 26.820553, + "avg_long" => 30.802498, + ], + "EH" => [ + "name" => "Western Sahara", + "native" => "الصحراء الغربية", + "phone" => "+212", + "continent" => "AF", + "capital" => "El Aaiún", + "currency" => "MAD,DZD,MRO", + "languages" => ["es"], + "emoji" => "🇪🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 24.215527, + "avg_long" => -12.885834, + ], + "ER" => [ + "name" => "Eritrea", + "native" => "ኤርትራ", + "phone" => "+291", + "continent" => "AF", + "capital" => "Asmara", + "currency" => "ERN", + "languages" => ["ti", "ar", "en"], + "emoji" => "🇪🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.179384, + "avg_long" => 39.782334, + ], + "ES" => [ + "name" => "Spain", + "native" => "España", + "phone" => "+34", + "continent" => "EU", + "capital" => "Madrid", + "currency" => "EUR", + "languages" => ["es", "eu", "ca", "gl", "oc"], + "emoji" => "🇪🇸", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 40.463667, + "avg_long" => -3.74922, + ], + "ET" => [ + "name" => "Ethiopia", + "native" => "ኢትዮጵያ", + "phone" => "+251", + "continent" => "AF", + "capital" => "Addis Ababa", + "currency" => "ETB", + "languages" => ["am"], + "emoji" => "🇪🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 9.145, + "avg_long" => 40.489673, + ], + "FI" => [ + "name" => "Finland", + "native" => "Suomi", + "phone" => "+358", + "continent" => "EU", + "capital" => "Helsinki", + "currency" => "EUR", + "languages" => ["fi", "sv"], + "emoji" => "🇫🇮", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 61.92411, + "avg_long" => 25.748151, + ], + "FJ" => [ + "name" => "Fiji", + "native" => "Fiji", + "phone" => "+679", + "continent" => "OC", + "capital" => "Suva", + "currency" => "FJD", + "languages" => ["en", "fj", "hi", "ur"], + "emoji" => "🇫🇯", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -16.578193, + "avg_long" => 179.414413, + ], + "FK" => [ + "name" => "Falkland Islands", + "native" => "Falkland Islands", + "phone" => "+500", + "continent" => "SA", + "capital" => "Stanley", + "currency" => "FKP", + "languages" => ["en"], + "emoji" => "🇫🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -51.796253, + "avg_long" => -59.523613, + ], + "FM" => [ + "name" => "Micronesia", + "native" => "Micronesia", + "phone" => "+691", + "continent" => "OC", + "capital" => "Palikir", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇫🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.425554, + "avg_long" => 150.550812, + ], + "FO" => [ + "name" => "Faroe Islands", + "native" => "Føroyar", + "phone" => "+298", + "continent" => "EU", + "capital" => "Tórshavn", + "currency" => "DKK", + "languages" => ["fo"], + "emoji" => "🇫🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 61.892635, + "avg_long" => -6.911806, + ], + "FR" => [ + "name" => "France", + "native" => "France", + "phone" => "+33", + "continent" => "EU", + "capital" => "Paris", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇫🇷", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 46.227638, + "avg_long" => 2.213749, + ], + "GA" => [ + "name" => "Gabon", + "native" => "Gabon", + "phone" => "+241", + "continent" => "AF", + "capital" => "Libreville", + "currency" => "XAF", + "languages" => ["fr"], + "emoji" => "🇬🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -0.803689, + "avg_long" => 11.609444, + ], + "GB" => [ + "name" => "United Kingdom", + "native" => "United Kingdom", + "phone" => "+44", + "continent" => "EU", + "capital" => "London", + "currency" => "GBP", + "languages" => ["en"], + "emoji" => "🇬🇧", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 55.378051, + "avg_long" => -3.435973, + ], + "GD" => [ + "name" => "Grenada", + "native" => "Grenada", + "phone" => "+1473", + "continent" => "NA", + "capital" => "St. George\\\'s", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇬🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.262776, + "avg_long" => -61.604171, + ], + "GE" => [ + "name" => "Georgia", + "native" => "საქართველო", + "phone" => "+995", + "continent" => "AS", + "capital" => "Tbilisi", + "currency" => "GEL", + "languages" => ["ka"], + "emoji" => "🇬🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 42.315407, + "avg_long" => 43.356892, + ], + "GF" => [ + "name" => "French Guiana", + "native" => "Guyane française", + "phone" => "+594", + "continent" => "SA", + "capital" => "Cayenne", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇬🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 3.933889, + "avg_long" => -53.125782, + ], + "GG" => [ + "name" => "Guernsey", + "native" => "Guernsey", + "phone" => "+44", + "continent" => "EU", + "capital" => "St. Peter Port", + "currency" => "GBP", + "languages" => ["en", "fr"], + "emoji" => "🇬🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 49.465691, + "avg_long" => -2.585278, + ], + "GH" => [ + "name" => "Ghana", + "native" => "Ghana", + "phone" => "+233", + "continent" => "AF", + "capital" => "Accra", + "currency" => "GHS", + "languages" => ["en"], + "emoji" => "🇬🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.946527, + "avg_long" => -1.023194, + ], + "GI" => [ + "name" => "Gibraltar", + "native" => "Gibraltar", + "phone" => "+350", + "continent" => "EU", + "capital" => "Gibraltar", + "currency" => "GIP", + "languages" => ["en"], + "emoji" => "🇬🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 36.137741, + "avg_long" => -5.345374, + ], + "GL" => [ + "name" => "Greenland", + "native" => "Kalaallit Nunaat", + "phone" => "+299", + "continent" => "NA", + "capital" => "Nuuk", + "currency" => "DKK", + "languages" => ["kl"], + "emoji" => "🇬🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 71.706936, + "avg_long" => -42.604303, + ], + "GM" => [ + "name" => "Gambia", + "native" => "Gambia", + "phone" => "+220", + "continent" => "AF", + "capital" => "Banjul", + "currency" => "GMD", + "languages" => ["en"], + "emoji" => "🇬🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 13.443182, + "avg_long" => -15.310139, + ], + "GN" => [ + "name" => "Guinea", + "native" => "Guinée", + "phone" => "+224", + "continent" => "AF", + "capital" => "Conakry", + "currency" => "GNF", + "languages" => ["fr", "ff"], + "emoji" => "🇬🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 9.945587, + "avg_long" => -9.696645, + ], + "GP" => [ + "name" => "Guadeloupe", + "native" => "Guadeloupe", + "phone" => "+590", + "continent" => "NA", + "capital" => "Basse-Terre", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇬🇵", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 16.995971, + "avg_long" => -62.067641, + ], + "GQ" => [ + "name" => "Equatorial Guinea", + "native" => "Guinea Ecuatorial", + "phone" => "+240", + "continent" => "AF", + "capital" => "Malabo", + "currency" => "XAF", + "languages" => ["es", "fr"], + "emoji" => "🇬🇶", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 1.650801, + "avg_long" => 10.267895, + ], + "GR" => [ + "name" => "Greece", + "native" => "Ελλάδα", + "phone" => "+30", + "continent" => "EU", + "capital" => "Athens", + "currency" => "EUR", + "languages" => ["el"], + "emoji" => "🇬🇷", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 39.074208, + "avg_long" => 21.824312, + ], + "GS" => [ + "name" => "South Georgia and the South Sandwich Islands", + "native" => "South Georgia", + "phone" => "+500", + "continent" => "AN", + "capital" => "King Edward Point", + "currency" => "GBP", + "languages" => ["en"], + "emoji" => "🇬🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -54.429579, + "avg_long" => -36.587909, + ], + "GT" => [ + "name" => "Guatemala", + "native" => "Guatemala", + "phone" => "+502", + "continent" => "NA", + "capital" => "Guatemala City", + "currency" => "GTQ", + "languages" => ["es"], + "emoji" => "🇬🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.783471, + "avg_long" => -90.230759, + ], + "GU" => [ + "name" => "Guam", + "native" => "Guam", + "phone" => "+1671", + "continent" => "OC", + "capital" => "Hagåtña", + "currency" => "USD", + "languages" => ["en", "ch", "es"], + "emoji" => "🇬🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 13.444304, + "avg_long" => 144.793731, + ], + "GW" => [ + "name" => "Guinea-Bissau", + "native" => "Guiné-Bissau", + "phone" => "+245", + "continent" => "AF", + "capital" => "Bissau", + "currency" => "XOF", + "languages" => ["pt"], + "emoji" => "🇬🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 11.803749, + "avg_long" => -15.180413, + ], + "GY" => [ + "name" => "Guyana", + "native" => "Guyana", + "phone" => "+592", + "continent" => "SA", + "capital" => "Georgetown", + "currency" => "GYD", + "languages" => ["en"], + "emoji" => "🇬🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 4.860416, + "avg_long" => -58.93018, + ], + "HK" => [ + "name" => "Hong Kong", + "native" => "香港", + "phone" => "+852", + "continent" => "AS", + "capital" => "City of Victoria", + "currency" => "HKD", + "languages" => ["zh", "en"], + "emoji" => "🇭🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 22.396428, + "avg_long" => 114.109497, + ], + "HM" => [ + "name" => "Heard Island and McDonald Islands", + "native" => "Heard Island and McDonald Islands", + "phone" => "+61", + "continent" => "AN", + "capital" => "", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇭🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -53.08181, + "avg_long" => 73.504158, + ], + "HN" => [ + "name" => "Honduras", + "native" => "Honduras", + "phone" => "+504", + "continent" => "NA", + "capital" => "Tegucigalpa", + "currency" => "HNL", + "languages" => ["es"], + "emoji" => "🇭🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.199999, + "avg_long" => -86.241905, + ], + "HR" => [ + "name" => "Croatia", + "native" => "Hrvatska", + "phone" => "+385", + "continent" => "EU", + "capital" => "Zagreb", + "currency" => "HRK", + "languages" => ["hr"], + "emoji" => "🇭🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 45.1, + "avg_long" => 15.2, + ], + "HT" => [ + "name" => "Haiti", + "native" => "Haïti", + "phone" => "+509", + "continent" => "NA", + "capital" => "Port-au-Prince", + "currency" => "HTG,USD", + "languages" => ["fr", "ht"], + "emoji" => "🇭🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.971187, + "avg_long" => -72.285215, + ], + "HU" => [ + "name" => "Hungary", + "native" => "Magyarország", + "phone" => "+36", + "continent" => "EU", + "capital" => "Budapest", + "currency" => "HUF", + "languages" => ["hu"], + "emoji" => "🇭🇺", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 47.162494, + "avg_long" => 19.503304, + ], + "ID" => [ + "name" => "Indonesia", + "native" => "Indonesia", + "phone" => "+62", + "continent" => "AS", + "capital" => "Jakarta", + "currency" => "IDR", + "languages" => ["id"], + "emoji" => "🇮🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -0.789275, + "avg_long" => 113.921327, + ], + "IE" => [ + "name" => "Ireland", + "native" => "Éire", + "phone" => "+353", + "continent" => "EU", + "capital" => "Dublin", + "currency" => "EUR", + "languages" => ["ga", "en"], + "emoji" => "🇮🇪", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 53.41291, + "avg_long" => -8.24389, + ], + "IL" => [ + "name" => "Israel", + "native" => "יִשְׂרָאֵל", + "phone" => "+972", + "continent" => "AS", + "capital" => "Jerusalem", + "currency" => "ILS", + "languages" => ["he", "ar"], + "emoji" => "🇮🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 31.046051, + "avg_long" => 34.851612, + ], + "IM" => [ + "name" => "Isle of Man", + "native" => "Isle of Man", + "phone" => "+44", + "continent" => "EU", + "capital" => "Douglas", + "currency" => "GBP", + "languages" => ["en", "gv"], + "emoji" => "🇮🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 54.236107, + "avg_long" => -4.548056, + ], + "IN" => [ + "name" => "India", + "native" => "भारत", + "phone" => "+91", + "continent" => "AS", + "capital" => "New Delhi", + "currency" => "INR", + "languages" => ["hi", "en"], + "emoji" => "🇮🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 20.593684, + "avg_long" => 78.96288, + ], + "IO" => [ + "name" => "British Indian Ocean Territory", + "native" => "British Indian Ocean Territory", + "phone" => "+246", + "continent" => "AS", + "capital" => "Diego Garcia", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇮🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -6.343194, + "avg_long" => 71.876519, + ], + "IQ" => [ + "name" => "Iraq", + "native" => "العراق", + "phone" => "+964", + "continent" => "AS", + "capital" => "Baghdad", + "currency" => "IQD", + "languages" => ["ar", "ku"], + "emoji" => "🇮🇶", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 33.223191, + "avg_long" => 43.679291, + ], + "IR" => [ + "name" => "Iran", + "native" => "ایران", + "phone" => "+98", + "continent" => "AS", + "capital" => "Tehran", + "currency" => "IRR", + "languages" => ["fa"], + "emoji" => "🇮🇷", + "launched" => false, + "cookieconsent" => false, + "avg_lat" => 32.427908, + "avg_long" => 53.688046, + ], + "IS" => [ + "name" => "Iceland", + "native" => "Ísland", + "phone" => "+354", + "continent" => "EU", + "capital" => "Reykjavik", + "currency" => "ISK", + "languages" => ["is"], + "emoji" => "🇮🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 64.963051, + "avg_long" => -19.020835, + ], + "IT" => [ + "name" => "Italy", + "native" => "Italia", + "phone" => "+39", + "continent" => "EU", + "capital" => "Rome", + "currency" => "EUR", + "languages" => ["it"], + "emoji" => "🇮🇹", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 41.87194, + "avg_long" => 12.56738, + ], + "JE" => [ + "name" => "Jersey", + "native" => "Jersey", + "phone" => "+44", + "continent" => "EU", + "capital" => "Saint Helier", + "currency" => "GBP", + "languages" => ["en", "fr"], + "emoji" => "🇯🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 49.214439, + "avg_long" => -2.13125, + ], + "JM" => [ + "name" => "Jamaica", + "native" => "Jamaica", + "phone" => "+1876", + "continent" => "NA", + "capital" => "Kingston", + "currency" => "JMD", + "languages" => ["en"], + "emoji" => "🇯🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.109581, + "avg_long" => -77.297508, + ], + "JO" => [ + "name" => "Jordan", + "native" => "الأردن", + "phone" => "+962", + "continent" => "AS", + "capital" => "Amman", + "currency" => "JOD", + "languages" => ["ar"], + "emoji" => "🇯🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 30.585164, + "avg_long" => 36.238414, + ], + "JP" => [ + "name" => "Japan", + "native" => "日本", + "phone" => "+81", + "continent" => "AS", + "capital" => "Tokyo", + "currency" => "JPY", + "languages" => ["ja"], + "emoji" => "🇯🇵", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 36.204824, + "avg_long" => 138.252924, + ], + "KE" => [ + "name" => "Kenya", + "native" => "Kenya", + "phone" => "+254", + "continent" => "AF", + "capital" => "Nairobi", + "currency" => "KES", + "languages" => ["en", "sw"], + "emoji" => "🇰🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -0.023559, + "avg_long" => 37.906193, + ], + "KG" => [ + "name" => "Kyrgyzstan", + "native" => "Кыргызстан", + "phone" => "+996", + "continent" => "AS", + "capital" => "Bishkek", + "currency" => "KGS", + "languages" => ["ky", "ru"], + "emoji" => "🇰🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 41.20438, + "avg_long" => 74.766098, + ], + "KH" => [ + "name" => "Cambodia", + "native" => "Kâmpŭchéa", + "phone" => "+855", + "continent" => "AS", + "capital" => "Phnom Penh", + "currency" => "KHR", + "languages" => ["km"], + "emoji" => "🇰🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.565679, + "avg_long" => 104.990963, + ], + "KI" => [ + "name" => "Kiribati", + "native" => "Kiribati", + "phone" => "+686", + "continent" => "OC", + "capital" => "South Tarawa", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇰🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -3.370417, + "avg_long" => -168.734039, + ], + "KM" => [ + "name" => "Comoros", + "native" => "Komori", + "phone" => "+269", + "continent" => "AF", + "capital" => "Moroni", + "currency" => "KMF", + "languages" => ["ar", "fr"], + "emoji" => "🇰🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -11.875001, + "avg_long" => 43.872219, + ], + "KN" => [ + "name" => "Saint Kitts and Nevis", + "native" => "Saint Kitts and Nevis", + "phone" => "+1869", + "continent" => "NA", + "capital" => "Basseterre", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇰🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.357822, + "avg_long" => -62.782998, + ], + "KP" => [ + "name" => "North Korea", + "native" => "북한", + "phone" => "+850", + "continent" => "AS", + "capital" => "Pyongyang", + "currency" => "KPW", + "languages" => ["ko"], + "emoji" => "🇰🇵", + "launched" => false, + "cookieconsent" => false, + "avg_lat" => 40.339852, + "avg_long" => 127.510093, + ], + "KR" => [ + "name" => "South Korea", + "native" => "대한민국", + "phone" => "+82", + "continent" => "AS", + "capital" => "Seoul", + "currency" => "KRW", + "languages" => ["ko"], + "emoji" => "🇰🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 35.907757, + "avg_long" => 127.766922, + ], + "KW" => [ + "name" => "Kuwait", + "native" => "الكويت", + "phone" => "+965", + "continent" => "AS", + "capital" => "Kuwait City", + "currency" => "KWD", + "languages" => ["ar"], + "emoji" => "🇰🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 29.31166, + "avg_long" => 47.481766, + ], + "KY" => [ + "name" => "Cayman Islands", + "native" => "Cayman Islands", + "phone" => "+1345", + "continent" => "NA", + "capital" => "George Town", + "currency" => "KYD", + "languages" => ["en"], + "emoji" => "🇰🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 19.513469, + "avg_long" => -80.566956, + ], + "KZ" => [ + "name" => "Kazakhstan", + "native" => "Қазақстан", + "phone" => "+76,77", + "continent" => "AS", + "capital" => "Astana", + "currency" => "KZT", + "languages" => ["kk", "ru"], + "emoji" => "🇰🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 48.019573, + "avg_long" => 66.923684, + ], + "LA" => [ + "name" => "Laos", + "native" => "ສປປລາວ", + "phone" => "+856", + "continent" => "AS", + "capital" => "Vientiane", + "currency" => "LAK", + "languages" => ["lo"], + "emoji" => "🇱🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 19.85627, + "avg_long" => 102.495496, + ], + "LB" => [ + "name" => "Lebanon", + "native" => "لبنان", + "phone" => "+961", + "continent" => "AS", + "capital" => "Beirut", + "currency" => "LBP", + "languages" => ["ar", "fr"], + "emoji" => "🇱🇧", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 33.854721, + "avg_long" => 35.862285, + ], + "LC" => [ + "name" => "Saint Lucia", + "native" => "Saint Lucia", + "phone" => "+1758", + "continent" => "NA", + "capital" => "Castries", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇱🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 13.909444, + "avg_long" => -60.978893, + ], + "LI" => [ + "name" => "Liechtenstein", + "native" => "Liechtenstein", + "phone" => "+423", + "continent" => "EU", + "capital" => "Vaduz", + "currency" => "CHF", + "languages" => ["de"], + "emoji" => "🇱🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 47.166, + "avg_long" => 9.555373, + ], + "LK" => [ + "name" => "Sri Lanka", + "native" => "śrī laṃkāva", + "phone" => "+94", + "continent" => "AS", + "capital" => "Colombo", + "currency" => "LKR", + "languages" => ["si", "ta"], + "emoji" => "🇱🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.873054, + "avg_long" => 80.771797, + ], + "LR" => [ + "name" => "Liberia", + "native" => "Liberia", + "phone" => "+231", + "continent" => "AF", + "capital" => "Monrovia", + "currency" => "LRD", + "languages" => ["en"], + "emoji" => "🇱🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 6.428055, + "avg_long" => -9.429499, + ], + "LS" => [ + "name" => "Lesotho", + "native" => "Lesotho", + "phone" => "+266", + "continent" => "AF", + "capital" => "Maseru", + "currency" => "LSL,ZAR", + "languages" => ["en", "st"], + "emoji" => "🇱🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -29.609988, + "avg_long" => 28.233608, + ], + "LT" => [ + "name" => "Lithuania", + "native" => "Lietuva", + "phone" => "+370", + "continent" => "EU", + "capital" => "Vilnius", + "currency" => "LTL", + "languages" => ["lt"], + "emoji" => "🇱🇹", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 55.169438, + "avg_long" => 23.881275, + ], + "LU" => [ + "name" => "Luxembourg", + "native" => "Luxembourg", + "phone" => "+352", + "continent" => "EU", + "capital" => "Luxembourg", + "currency" => "EUR", + "languages" => ["fr", "de", "lb"], + "emoji" => "🇱🇺", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 49.815273, + "avg_long" => 6.129583, + ], + "LV" => [ + "name" => "Latvia", + "native" => "Latvija", + "phone" => "+371", + "continent" => "EU", + "capital" => "Riga", + "currency" => "EUR", + "languages" => ["lv"], + "emoji" => "🇱🇻", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 56.879635, + "avg_long" => 24.603189, + ], + "LY" => [ + "name" => "Libya", + "native" => "‏ليبيا", + "phone" => "+218", + "continent" => "AF", + "capital" => "Tripoli", + "currency" => "LYD", + "languages" => ["ar"], + "emoji" => "🇱🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 26.3351, + "avg_long" => 17.228331, + ], + "MA" => [ + "name" => "Morocco", + "native" => "المغرب", + "phone" => "+212", + "continent" => "AF", + "capital" => "Rabat", + "currency" => "MAD", + "languages" => ["ar"], + "emoji" => "🇲🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 31.791702, + "avg_long" => -7.09262, + ], + "MC" => [ + "name" => "Monaco", + "native" => "Monaco", + "phone" => "+377", + "continent" => "EU", + "capital" => "Monaco", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇲🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 43.750298, + "avg_long" => 7.412841, + ], + "MD" => [ + "name" => "Moldova", + "native" => "Moldova", + "phone" => "+373", + "continent" => "EU", + "capital" => "Chișinău", + "currency" => "MDL", + "languages" => ["ro"], + "emoji" => "🇲🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 47.411631, + "avg_long" => 28.369885, + ], + "ME" => [ + "name" => "Montenegro", + "native" => "Црна Гора", + "phone" => "+382", + "continent" => "EU", + "capital" => "Podgorica", + "currency" => "EUR", + "languages" => ["sr", "bs", "sq", "hr"], + "emoji" => "🇲🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 42.708678, + "avg_long" => 19.37439, + ], + "MG" => [ + "name" => "Madagascar", + "native" => "Madagasikara", + "phone" => "+261", + "continent" => "AF", + "capital" => "Antananarivo", + "currency" => "MGA", + "languages" => ["fr", "mg"], + "emoji" => "🇲🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -18.766947, + "avg_long" => 46.869107, + ], + "MH" => [ + "name" => "Marshall Islands", + "native" => "M̧ajeļ", + "phone" => "+692", + "continent" => "OC", + "capital" => "Majuro", + "currency" => "USD", + "languages" => ["en", "mh"], + "emoji" => "🇲🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.131474, + "avg_long" => 171.184478, + ], + "MK" => [ + "name" => "Macedonia", + "native" => "Македонија", + "phone" => "+389", + "continent" => "EU", + "capital" => "Skopje", + "currency" => "MKD", + "languages" => ["mk"], + "emoji" => "🇲🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 41.608635, + "avg_long" => 21.745275, + ], + "ML" => [ + "name" => "Mali", + "native" => "Mali", + "phone" => "+223", + "continent" => "AF", + "capital" => "Bamako", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇲🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.570692, + "avg_long" => -3.996166, + ], + "MM" => [ + "name" => "Myanmar [Burma]", + "native" => "Myanma", + "phone" => "+95", + "continent" => "AS", + "capital" => "Naypyidaw", + "currency" => "MMK", + "languages" => ["my"], + "emoji" => "🇲🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 21.913965, + "avg_long" => 95.956223, + ], + "MN" => [ + "name" => "Mongolia", + "native" => "Монгол улс", + "phone" => "+976", + "continent" => "AS", + "capital" => "Ulan Bator", + "currency" => "MNT", + "languages" => ["mn"], + "emoji" => "🇲🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 46.862496, + "avg_long" => 103.846656, + ], + "MO" => [ + "name" => "Macao", + "native" => "澳門", + "phone" => "+853", + "continent" => "AS", + "capital" => "", + "currency" => "MOP", + "languages" => ["zh", "pt"], + "emoji" => "🇲🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 22.198745, + "avg_long" => 113.543873, + ], + "MP" => [ + "name" => "Northern Mariana Islands", + "native" => "Northern Mariana Islands", + "phone" => "+1670", + "continent" => "OC", + "capital" => "Saipan", + "currency" => "USD", + "languages" => ["en", "ch"], + "emoji" => "🇲🇵", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.33083, + "avg_long" => 145.38469, + ], + "MQ" => [ + "name" => "Martinique", + "native" => "Martinique", + "phone" => "+596", + "continent" => "NA", + "capital" => "Fort-de-France", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇲🇶", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 14.641528, + "avg_long" => -61.024174, + ], + "MR" => [ + "name" => "Mauritania", + "native" => "موريتانيا", + "phone" => "+222", + "continent" => "AF", + "capital" => "Nouakchott", + "currency" => "MRO", + "languages" => ["ar"], + "emoji" => "🇲🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 21.00789, + "avg_long" => -10.940835, + ], + "MS" => [ + "name" => "Montserrat", + "native" => "Montserrat", + "phone" => "+1664", + "continent" => "NA", + "capital" => "Plymouth", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇲🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 16.742498, + "avg_long" => -62.187366, + ], + "MT" => [ + "name" => "Malta", + "native" => "Malta", + "phone" => "+356", + "continent" => "EU", + "capital" => "Valletta", + "currency" => "EUR", + "languages" => ["mt", "en"], + "emoji" => "🇲🇹", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 35.937496, + "avg_long" => 14.375416, + ], + "MU" => [ + "name" => "Mauritius", + "native" => "Maurice", + "phone" => "+230", + "continent" => "AF", + "capital" => "Port Louis", + "currency" => "MUR", + "languages" => ["en"], + "emoji" => "🇲🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -20.348404, + "avg_long" => 57.552152, + ], + "MV" => [ + "name" => "Maldives", + "native" => "Maldives", + "phone" => "+960", + "continent" => "AS", + "capital" => "Malé", + "currency" => "MVR", + "languages" => ["dv"], + "emoji" => "🇲🇻", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 3.202778, + "avg_long" => 73.22068, + ], + "MW" => [ + "name" => "Malawi", + "native" => "Malawi", + "phone" => "+265", + "continent" => "AF", + "capital" => "Lilongwe", + "currency" => "MWK", + "languages" => ["en", "ny"], + "emoji" => "🇲🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -13.254308, + "avg_long" => 34.301525, + ], + "MX" => [ + "name" => "Mexico", + "native" => "México", + "phone" => "+52", + "continent" => "NA", + "capital" => "Mexico City", + "currency" => "MXN", + "languages" => ["es"], + "emoji" => "🇲🇽", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 23.634501, + "avg_long" => -102.552784, + ], + "MY" => [ + "name" => "Malaysia", + "native" => "Malaysia", + "phone" => "+60", + "continent" => "AS", + "capital" => "Kuala Lumpur", + "currency" => "MYR", + "languages" => ["ms"], + "emoji" => "🇲🇾", + "launched" => true, + "avg_lat" => 4.210484, + "avg_long" => 101.975766, + ], + "MZ" => [ + "name" => "Mozambique", + "native" => "Moçambique", + "phone" => "+258", + "continent" => "AF", + "capital" => "Maputo", + "currency" => "MZN", + "languages" => ["pt"], + "emoji" => "🇲🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -18.665695, + "avg_long" => 35.529562, + ], + "NA" => [ + "name" => "Namibia", + "native" => "Namibia", + "phone" => "+264", + "continent" => "AF", + "capital" => "Windhoek", + "currency" => "NAD,ZAR", + "languages" => ["en", "af"], + "emoji" => "🇳🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -22.95764, + "avg_long" => 18.49041, + ], + "NC" => [ + "name" => "New Caledonia", + "native" => "Nouvelle-Calédonie", + "phone" => "+687", + "continent" => "OC", + "capital" => "Nouméa", + "currency" => "XPF", + "languages" => ["fr"], + "emoji" => "🇳🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -20.904305, + "avg_long" => 165.618042, + ], + "NE" => [ + "name" => "Niger", + "native" => "Niger", + "phone" => "+227", + "continent" => "AF", + "capital" => "Niamey", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇳🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 17.607789, + "avg_long" => 8.081666, + ], + "NF" => [ + "name" => "Norfolk Island", + "native" => "Norfolk Island", + "phone" => "+672", + "continent" => "OC", + "capital" => "Kingston", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇳🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -29.040835, + "avg_long" => 167.954712, + ], + "NG" => [ + "name" => "Nigeria", + "native" => "Nigeria", + "phone" => "+234", + "continent" => "AF", + "capital" => "Abuja", + "currency" => "NGN", + "languages" => ["en"], + "emoji" => "🇳🇬", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 9.081999, + "avg_long" => 8.675277, + ], + "NI" => [ + "name" => "Nicaragua", + "native" => "Nicaragua", + "phone" => "+505", + "continent" => "NA", + "capital" => "Managua", + "currency" => "NIO", + "languages" => ["es"], + "emoji" => "🇳🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.865416, + "avg_long" => -85.207229, + ], + "NL" => [ + "name" => "Netherlands", + "native" => "Nederland", + "phone" => "+31", + "continent" => "EU", + "capital" => "Amsterdam", + "currency" => "EUR", + "languages" => ["nl"], + "emoji" => "🇳🇱", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 52.132633, + "avg_long" => 5.291266, + ], + "NO" => [ + "name" => "Norway", + "native" => "Norge", + "phone" => "+47", + "continent" => "EU", + "capital" => "Oslo", + "currency" => "NOK", + "languages" => ["no", "nb", "nn"], + "emoji" => "🇳🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 60.472024, + "avg_long" => 8.468946, + ], + "NP" => [ + "name" => "Nepal", + "native" => "नपल", + "phone" => "+977", + "continent" => "AS", + "capital" => "Kathmandu", + "currency" => "NPR", + "languages" => ["ne"], + "emoji" => "🇳🇵", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 28.394857, + "avg_long" => 84.124008, + ], + "NR" => [ + "name" => "Nauru", + "native" => "Nauru", + "phone" => "+674", + "continent" => "OC", + "capital" => "Yaren", + "currency" => "AUD", + "languages" => ["en", "na"], + "emoji" => "🇳🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -0.522778, + "avg_long" => 166.931503, + ], + "NU" => [ + "name" => "Niue", + "native" => "Niuē", + "phone" => "+683", + "continent" => "OC", + "capital" => "Alofi", + "currency" => "NZD", + "languages" => ["en"], + "emoji" => "🇳🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -19.054445, + "avg_long" => -169.867233, + ], + "NZ" => [ + "name" => "New Zealand", + "native" => "New Zealand", + "phone" => "+64", + "continent" => "OC", + "capital" => "Wellington", + "currency" => "NZD", + "languages" => ["en", "mi"], + "emoji" => "🇳🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -40.900557, + "avg_long" => 174.885971, + ], + "OM" => [ + "name" => "Oman", + "native" => "عمان", + "phone" => "+968", + "continent" => "AS", + "capital" => "Muscat", + "currency" => "OMR", + "languages" => ["ar"], + "emoji" => "🇴🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 21.512583, + "avg_long" => 55.923255, + ], + "PA" => [ + "name" => "Panama", + "native" => "Panamá", + "phone" => "+507", + "continent" => "NA", + "capital" => "Panama City", + "currency" => "PAB,USD", + "languages" => ["es"], + "emoji" => "🇵🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 8.537981, + "avg_long" => -80.782127, + ], + "PE" => [ + "name" => "Peru", + "native" => "Perú", + "phone" => "+51", + "continent" => "SA", + "capital" => "Lima", + "currency" => "PEN", + "languages" => ["es"], + "emoji" => "🇵🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -9.189967, + "avg_long" => -75.015152, + ], + "PF" => [ + "name" => "French Polynesia", + "native" => "Polynésie française", + "phone" => "+689", + "continent" => "OC", + "capital" => "Papeetē", + "currency" => "XPF", + "languages" => ["fr"], + "emoji" => "🇵🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -17.679742, + "avg_long" => -149.406843, + ], + "PG" => [ + "name" => "Papua New Guinea", + "native" => "Papua Niugini", + "phone" => "+675", + "continent" => "OC", + "capital" => "Port Moresby", + "currency" => "PGK", + "languages" => ["en"], + "emoji" => "🇵🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -6.314993, + "avg_long" => 143.95555, + ], + "PH" => [ + "name" => "Philippines", + "native" => "Pilipinas", + "phone" => "+63", + "continent" => "AS", + "capital" => "Manila", + "currency" => "PHP", + "languages" => ["en"], + "emoji" => "🇵🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.879721, + "avg_long" => 121.774017, + ], + "PK" => [ + "name" => "Pakistan", + "native" => "Pakistan", + "phone" => "+92", + "continent" => "AS", + "capital" => "Islamabad", + "currency" => "PKR", + "languages" => ["en", "ur"], + "emoji" => "🇵🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 30.375321, + "avg_long" => 69.345116, + ], + "PL" => [ + "name" => "Poland", + "native" => "Polska", + "phone" => "+48", + "continent" => "EU", + "capital" => "Warsaw", + "currency" => "PLN", + "languages" => ["pl"], + "emoji" => "🇵🇱", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 51.919438, + "avg_long" => 19.145136, + ], + "PM" => [ + "name" => "Saint Pierre and Miquelon", + "native" => "Saint-Pierre-et-Miquelon", + "phone" => "+508", + "continent" => "NA", + "capital" => "Saint-Pierre", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇵🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 46.941936, + "avg_long" => -56.27111, + ], + "PN" => [ + "name" => "Pitcairn Islands", + "native" => "Pitcairn Islands", + "phone" => "+64", + "continent" => "OC", + "capital" => "Adamstown", + "currency" => "NZD", + "languages" => ["en"], + "emoji" => "🇵🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -24.703615, + "avg_long" => -127.439308, + ], + "PR" => [ + "name" => "Puerto Rico", + "native" => "Puerto Rico", + "phone" => "+1787,1939", + "continent" => "NA", + "capital" => "San Juan", + "currency" => "USD", + "languages" => ["es", "en"], + "emoji" => "🇵🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.220833, + "avg_long" => -66.590149, + ], + "PS" => [ + "name" => "Palestine", + "native" => "فلسطين", + "phone" => "+970", + "continent" => "AS", + "capital" => "Ramallah", + "currency" => "ILS", + "languages" => ["ar"], + "emoji" => "🇵🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 31.952162, + "avg_long" => 35.233154, + ], + "PT" => [ + "name" => "Portugal", + "native" => "Portugal", + "phone" => "+351", + "continent" => "EU", + "capital" => "Lisbon", + "currency" => "EUR", + "languages" => ["pt"], + "emoji" => "🇵🇹", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 39.399872, + "avg_long" => -8.224454, + ], + "PW" => [ + "name" => "Palau", + "native" => "Palau", + "phone" => "+680", + "continent" => "OC", + "capital" => "Ngerulmud", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇵🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 7.51498, + "avg_long" => 134.58252, + ], + "PY" => [ + "name" => "Paraguay", + "native" => "Paraguay", + "phone" => "+595", + "continent" => "SA", + "capital" => "Asunción", + "currency" => "PYG", + "languages" => ["es", "gn"], + "emoji" => "🇵🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -23.442503, + "avg_long" => -58.443832, + ], + "QA" => [ + "name" => "Qatar", + "native" => "قطر", + "phone" => "+974", + "continent" => "AS", + "capital" => "Doha", + "currency" => "QAR", + "languages" => ["ar"], + "emoji" => "🇶🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 25.354826, + "avg_long" => 51.183884, + ], + "RE" => [ + "name" => "Réunion", + "native" => "La Réunion", + "phone" => "+262", + "continent" => "AF", + "capital" => "Saint-Denis", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇷🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -21.115141, + "avg_long" => 55.536384, + ], + "RO" => [ + "name" => "Romania", + "native" => "România", + "phone" => "+40", + "continent" => "EU", + "capital" => "Bucharest", + "currency" => "RON", + "languages" => ["ro"], + "emoji" => "🇷🇴", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 45.943161, + "avg_long" => 24.96676, + ], + "RS" => [ + "name" => "Serbia", + "native" => "Србија", + "phone" => "+381", + "continent" => "EU", + "capital" => "Belgrade", + "currency" => "RSD", + "languages" => ["sr"], + "emoji" => "🇷🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 44.016521, + "avg_long" => 21.005859, + ], + "RU" => [ + "name" => "Russia", + "native" => "Россия", + "phone" => "+7", + "continent" => "EU", + "capital" => "Moscow", + "currency" => "RUB", + "languages" => ["ru"], + "emoji" => "🇷🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 61.52401, + "avg_long" => 105.318756, + ], + "RW" => [ + "name" => "Rwanda", + "native" => "Rwanda", + "phone" => "+250", + "continent" => "AF", + "capital" => "Kigali", + "currency" => "RWF", + "languages" => ["rw", "en", "fr"], + "emoji" => "🇷🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -1.940278, + "avg_long" => 29.873888, + ], + "SA" => [ + "name" => "Saudi Arabia", + "native" => "العربية السعودية", + "phone" => "+966", + "continent" => "AS", + "capital" => "Riyadh", + "currency" => "SAR", + "languages" => ["ar"], + "emoji" => "🇸🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 23.885942, + "avg_long" => 45.079162, + ], + "SB" => [ + "name" => "Solomon Islands", + "native" => "Solomon Islands", + "phone" => "+677", + "continent" => "OC", + "capital" => "Honiara", + "currency" => "SBD", + "languages" => ["en"], + "emoji" => "🇸🇧", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -9.64571, + "avg_long" => 160.156194, + ], + "SC" => [ + "name" => "Seychelles", + "native" => "Seychelles", + "phone" => "+248", + "continent" => "AF", + "capital" => "Victoria", + "currency" => "SCR", + "languages" => ["fr", "en"], + "emoji" => "🇸🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -4.679574, + "avg_long" => 55.491977, + ], + "SD" => [ + "name" => "Sudan", + "native" => "السودان", + "phone" => "+249", + "continent" => "AF", + "capital" => "Khartoum", + "currency" => "SDG", + "languages" => ["ar", "en"], + "emoji" => "🇸🇩", + "launched" => false, + "cookieconsent" => false, + "avg_lat" => 12.862807, + "avg_long" => 30.217636, + ], + "SE" => [ + "name" => "Sweden", + "native" => "Sverige", + "phone" => "+46", + "continent" => "EU", + "capital" => "Stockholm", + "currency" => "SEK", + "languages" => ["sv"], + "emoji" => "🇸🇪", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 60.128161, + "avg_long" => 18.643501, + ], + "SG" => [ + "name" => "Singapore", + "native" => "Singapore", + "phone" => "+65", + "continent" => "AS", + "capital" => "Singapore", + "currency" => "SGD", + "languages" => ["en", "ms", "ta", "zh"], + "emoji" => "🇸🇬", + "launched" => true, + "avg_lat" => 1.352083, + "avg_long" => 103.819836, + ], + "SH" => [ + "name" => "Saint Helena", + "native" => "Saint Helena", + "phone" => "+290", + "continent" => "AF", + "capital" => "Jamestown", + "currency" => "SHP", + "languages" => ["en"], + "emoji" => "🇸🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -24.143474, + "avg_long" => -10.030696, + ], + "SI" => [ + "name" => "Slovenia", + "native" => "Slovenija", + "phone" => "+386", + "continent" => "EU", + "capital" => "Ljubljana", + "currency" => "EUR", + "languages" => ["sl"], + "emoji" => "🇸🇮", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 46.151241, + "avg_long" => 14.995463, + ], + "SJ" => [ + "name" => "Svalbard and Jan Mayen", + "native" => "Svalbard og Jan Mayen", + "phone" => "+4779", + "continent" => "EU", + "capital" => "Longyearbyen", + "currency" => "NOK", + "languages" => ["no"], + "emoji" => "🇸🇯", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 77.553604, + "avg_long" => 23.670272, + ], + "SK" => [ + "name" => "Slovakia", + "native" => "Slovensko", + "phone" => "+421", + "continent" => "EU", + "capital" => "Bratislava", + "currency" => "EUR", + "languages" => ["sk"], + "emoji" => "🇸🇰", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 48.669026, + "avg_long" => 19.699024, + ], + "SL" => [ + "name" => "Sierra Leone", + "native" => "Sierra Leone", + "phone" => "+232", + "continent" => "AF", + "capital" => "Freetown", + "currency" => "SLL", + "languages" => ["en"], + "emoji" => "🇸🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 8.460555, + "avg_long" => -11.779889, + ], + "SM" => [ + "name" => "San Marino", + "native" => "San Marino", + "phone" => "+378", + "continent" => "EU", + "capital" => "City of San Marino", + "currency" => "EUR", + "languages" => ["it"], + "emoji" => "🇸🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 43.94236, + "avg_long" => 12.457777, + ], + "SN" => [ + "name" => "Senegal", + "native" => "Sénégal", + "phone" => "+221", + "continent" => "AF", + "capital" => "Dakar", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇸🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 14.497401, + "avg_long" => -14.452362, + ], + "SO" => [ + "name" => "Somalia", + "native" => "Soomaaliya", + "phone" => "+252", + "continent" => "AF", + "capital" => "Mogadishu", + "currency" => "SOS", + "languages" => ["so", "ar"], + "emoji" => "🇸🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 5.152149, + "avg_long" => 46.199616, + ], + "SR" => [ + "name" => "Suriname", + "native" => "Suriname", + "phone" => "+597", + "continent" => "SA", + "capital" => "Paramaribo", + "currency" => "SRD", + "languages" => ["nl"], + "emoji" => "🇸🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 3.919305, + "avg_long" => -56.027783, + ], + "ST" => [ + "name" => "São Tomé and Príncipe", + "native" => "São Tomé e Príncipe", + "phone" => "+239", + "continent" => "AF", + "capital" => "São Tomé", + "currency" => "STD", + "languages" => ["pt"], + "emoji" => "🇸🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 0.18636, + "avg_long" => 6.613081, + ], + "SV" => [ + "name" => "El Salvador", + "native" => "El Salvador", + "phone" => "+503", + "continent" => "NA", + "capital" => "San Salvador", + "currency" => "SVC,USD", + "languages" => ["es"], + "emoji" => "🇸🇻", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 13.794185, + "avg_long" => -88.89653, + ], + "SY" => [ + "name" => "Syria", + "native" => "سوريا", + "phone" => "+963", + "continent" => "AS", + "capital" => "Damascus", + "currency" => "SYP", + "languages" => ["ar"], + "emoji" => "🇸🇾", + "launched" => false, + "cookieconsent" => false, + "avg_lat" => 34.802075, + "avg_long" => 38.996815, + ], + "SZ" => [ + "name" => "Swaziland", + "native" => "Swaziland", + "phone" => "+268", + "continent" => "AF", + "capital" => "Lobamba", + "currency" => "SZL", + "languages" => ["en", "ss"], + "emoji" => "🇸🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -26.522503, + "avg_long" => 31.465866, + ], + "TC" => [ + "name" => "Turks and Caicos Islands", + "native" => "Turks and Caicos Islands", + "phone" => "+1649", + "continent" => "NA", + "capital" => "Cockburn Town", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇹🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 21.694025, + "avg_long" => -71.797928, + ], + "TD" => [ + "name" => "Chad", + "native" => "Tchad", + "phone" => "+235", + "continent" => "AF", + "capital" => "N\\\'Djamena", + "currency" => "XAF", + "languages" => ["fr", "ar"], + "emoji" => "🇹🇩", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.454166, + "avg_long" => 18.732207, + ], + "TF" => [ + "name" => "French Southern Territories", + "native" => "Territoire des Terres australes et antarctiques fr", + "phone" => "+262", + "continent" => "AN", + "capital" => "Port-aux-Français", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇹🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -49.280366, + "avg_long" => 69.348557, + ], + "TG" => [ + "name" => "Togo", + "native" => "Togo", + "phone" => "+228", + "continent" => "AF", + "capital" => "Lomé", + "currency" => "XOF", + "languages" => ["fr"], + "emoji" => "🇹🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 8.619543, + "avg_long" => 0.824782, + ], + "TH" => [ + "name" => "Thailand", + "native" => "ประเทศไทย", + "phone" => "+66", + "continent" => "AS", + "capital" => "Bangkok", + "currency" => "THB", + "languages" => ["th"], + "emoji" => "🇹🇭", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.870032, + "avg_long" => 100.992541, + ], + "TJ" => [ + "name" => "Tajikistan", + "native" => "Тоҷикистон", + "phone" => "+992", + "continent" => "AS", + "capital" => "Dushanbe", + "currency" => "TJS", + "languages" => ["tg", "ru"], + "emoji" => "🇹🇯", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 38.861034, + "avg_long" => 71.276093, + ], + "TK" => [ + "name" => "Tokelau", + "native" => "Tokelau", + "phone" => "+690", + "continent" => "OC", + "capital" => "Fakaofo", + "currency" => "NZD", + "languages" => ["en"], + "emoji" => "🇹🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -8.967363, + "avg_long" => -171.855881, + ], + "TL" => [ + "name" => "East Timor", + "native" => "Timor-Leste", + "phone" => "+670", + "continent" => "OC", + "capital" => "Dili", + "currency" => "USD", + "languages" => ["pt"], + "emoji" => "🇹🇱", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -8.874217, + "avg_long" => 125.727539, + ], + "TM" => [ + "name" => "Turkmenistan", + "native" => "Türkmenistan", + "phone" => "+993", + "continent" => "AS", + "capital" => "Ashgabat", + "currency" => "TMT", + "languages" => ["tk", "ru"], + "emoji" => "🇹🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 38.969719, + "avg_long" => 59.556278, + ], + "TN" => [ + "name" => "Tunisia", + "native" => "تونس", + "phone" => "+216", + "continent" => "AF", + "capital" => "Tunis", + "currency" => "TND", + "languages" => ["ar"], + "emoji" => "🇹🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 33.886917, + "avg_long" => 9.537499, + ], + "TO" => [ + "name" => "Tonga", + "native" => "Tonga", + "phone" => "+676", + "continent" => "OC", + "capital" => "Nuku\\\'alofa", + "currency" => "TOP", + "languages" => ["en", "to"], + "emoji" => "🇹🇴", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -21.178986, + "avg_long" => -175.198242, + ], + "TR" => [ + "name" => "Türkiye", + "native" => "Türkiye", + "phone" => "+90", + "continent" => "AS", + "capital" => "Ankara", + "currency" => "TRY", + "languages" => ["tr"], + "emoji" => "🇹🇷", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 38.963745, + "avg_long" => 35.243322, + ], + "TT" => [ + "name" => "Trinidad and Tobago", + "native" => "Trinidad and Tobago", + "phone" => "+1868", + "continent" => "NA", + "capital" => "Port of Spain", + "currency" => "TTD", + "languages" => ["en"], + "emoji" => "🇹🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 10.691803, + "avg_long" => -61.222503, + ], + "TV" => [ + "name" => "Tuvalu", + "native" => "Tuvalu", + "phone" => "+688", + "continent" => "OC", + "capital" => "Funafuti", + "currency" => "AUD", + "languages" => ["en"], + "emoji" => "🇹🇻", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -7.109535, + "avg_long" => 177.64933, + ], + "TW" => [ + "name" => "Taiwan", + "native" => "臺灣", + "phone" => "+886", + "continent" => "AS", + "capital" => "Taipei", + "currency" => "TWD", + "languages" => ["zh"], + "emoji" => "🇹🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 23.69781, + "avg_long" => 120.960515, + ], + "TZ" => [ + "name" => "Tanzania", + "native" => "Tanzania", + "phone" => "+255", + "continent" => "AF", + "capital" => "Dodoma", + "currency" => "TZS", + "languages" => ["sw", "en"], + "emoji" => "🇹🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -6.369028, + "avg_long" => 34.888822, + ], + "UA" => [ + "name" => "Ukraine", + "native" => "Україна", + "phone" => "+380", + "continent" => "EU", + "capital" => "Kyiv", + "currency" => "UAH", + "languages" => ["uk"], + "emoji" => "🇺🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 48.379433, + "avg_long" => 31.16558, + ], + "UG" => [ + "name" => "Uganda", + "native" => "Uganda", + "phone" => "+256", + "continent" => "AF", + "capital" => "Kampala", + "currency" => "UGX", + "languages" => ["en", "sw"], + "emoji" => "🇺🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 1.373333, + "avg_long" => 32.290275, + ], + "UM" => [ + "name" => "U.S. Minor Outlying Islands", + "native" => "United States Minor Outlying Islands", + "phone" => "+1", + "continent" => "OC", + "capital" => "", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇺🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => "", + "avg_long" => "", + ], + "US" => [ + "name" => "United States", + "native" => "United States", + "phone" => "+1", + "continent" => "NA", + "capital" => "Washington D.C.", + "currency" => "USD,USN,USS", + "languages" => ["en"], + "emoji" => "🇺🇸", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => 37.09024, + "avg_long" => -95.712891, + ], + "UY" => [ + "name" => "Uruguay", + "native" => "Uruguay", + "phone" => "+598", + "continent" => "SA", + "capital" => "Montevideo", + "currency" => "UYI,UYU", + "languages" => ["es"], + "emoji" => "🇺🇾", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -32.522779, + "avg_long" => -55.765835, + ], + "UZ" => [ + "name" => "Uzbekistan", + "native" => "O‘zbekiston", + "phone" => "+998", + "continent" => "AS", + "capital" => "Tashkent", + "currency" => "UZS", + "languages" => ["uz", "ru"], + "emoji" => "🇺🇿", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 41.377491, + "avg_long" => 64.585262, + ], + "VA" => [ + "name" => "Vatican City", + "native" => "Vaticano", + "phone" => "+39066,379", + "continent" => "EU", + "capital" => "Vatican City", + "currency" => "EUR", + "languages" => ["it", "la"], + "emoji" => "🇻🇦", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 41.902916, + "avg_long" => 12.453389, + ], + "VC" => [ + "name" => "Saint Vincent and the Grenadines", + "native" => "Saint Vincent and the Grenadines", + "phone" => "+1784", + "continent" => "NA", + "capital" => "Kingstown", + "currency" => "XCD", + "languages" => ["en"], + "emoji" => "🇻🇨", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 12.984305, + "avg_long" => -61.287228, + ], + "VE" => [ + "name" => "Venezuela", + "native" => "Venezuela", + "phone" => "+58", + "continent" => "SA", + "capital" => "Caracas", + "currency" => "VEF", + "languages" => ["es"], + "emoji" => "🇻🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 6.42375, + "avg_long" => -66.58973, + ], + "VG" => [ + "name" => "British Virgin Islands", + "native" => "British Virgin Islands", + "phone" => "+1284", + "continent" => "NA", + "capital" => "Road Town", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇻🇬", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.420695, + "avg_long" => -64.639968, + ], + "VI" => [ + "name" => "U.S. Virgin Islands", + "native" => "United States Virgin Islands", + "phone" => "+1340", + "continent" => "NA", + "capital" => "Charlotte Amalie", + "currency" => "USD", + "languages" => ["en"], + "emoji" => "🇻🇮", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 18.335765, + "avg_long" => -64.896335, + ], + "VN" => [ + "name" => "Vietnam", + "native" => "Việt Nam", + "phone" => "+84", + "continent" => "AS", + "capital" => "Hanoi", + "currency" => "VND", + "languages" => ["vi"], + "emoji" => "🇻🇳", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 14.058324, + "avg_long" => 108.277199, + ], + "VU" => [ + "name" => "Vanuatu", + "native" => "Vanuatu", + "phone" => "+678", + "continent" => "OC", + "capital" => "Port Vila", + "currency" => "VUV", + "languages" => ["bi", "en", "fr"], + "emoji" => "🇻🇺", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -15.376706, + "avg_long" => 166.959158, + ], + "WF" => [ + "name" => "Wallis and Futuna", + "native" => "Wallis et Futuna", + "phone" => "+681", + "continent" => "OC", + "capital" => "Mata-Utu", + "currency" => "XPF", + "languages" => ["fr"], + "emoji" => "🇼🇫", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -13.768752, + "avg_long" => -177.156097, + ], + "WS" => [ + "name" => "Samoa", + "native" => "Samoa", + "phone" => "+685", + "continent" => "OC", + "capital" => "Apia", + "currency" => "WST", + "languages" => ["sm", "en"], + "emoji" => "🇼🇸", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -13.759029, + "avg_long" => -172.104629, + ], + "XK" => [ + "name" => "Kosovo", + "native" => "Republika e Kosovës", + "phone" => "+377,381,383,386", + "continent" => "EU", + "capital" => "Pristina", + "currency" => "EUR", + "languages" => ["sq", "sr"], + "emoji" => "🇽🇰", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 42.602636, + "avg_long" => 20.902977, + ], + "YE" => [ + "name" => "Yemen", + "native" => "اليَمَن", + "phone" => "+967", + "continent" => "AS", + "capital" => "Sana\\\'a", + "currency" => "YER", + "languages" => ["ar"], + "emoji" => "🇾🇪", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => 15.552727, + "avg_long" => 48.516388, + ], + "YT" => [ + "name" => "Mayotte", + "native" => "Mayotte", + "phone" => "+262", + "continent" => "AF", + "capital" => "Mamoudzou", + "currency" => "EUR", + "languages" => ["fr"], + "emoji" => "🇾🇹", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -12.8275, + "avg_long" => 45.166244, + ], + "ZA" => [ + "name" => "South Africa", + "native" => "South Africa", + "phone" => "+27", + "continent" => "AF", + "capital" => "Pretoria", + "currency" => "ZAR", + "languages" => [ + "af", + "en", + "nr", + "st", + "ss", + "tn", + "ts", + "ve", + "xh", + "zu", + ], + "emoji" => "🇿🇦", + "launched" => true, + "cookieconsent" => true, + "avg_lat" => -30.559482, + "avg_long" => 22.937506, + ], + "ZM" => [ + "name" => "Zambia", + "native" => "Zambia", + "phone" => "+260", + "continent" => "AF", + "capital" => "Lusaka", + "currency" => "ZMK", + "languages" => ["en"], + "emoji" => "🇿🇲", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -13.133897, + "avg_long" => 27.849332, + ], + "ZW" => [ + "name" => "Zimbabwe", + "native" => "Zimbabwe", + "phone" => "+263", + "continent" => "AF", + "capital" => "Harare", + "currency" => "ZWL", + "languages" => ["en", "sn", "nd"], + "emoji" => "🇿🇼", + "launched" => true, + "cookieconsent" => false, + "avg_lat" => -19.015438, + "avg_long" => 29.154857, + ], +]; \ No newline at end of file diff --git a/config/platform/general.php b/config/platform/general.php index b908656..71fe276 100644 --- a/config/platform/general.php +++ b/config/platform/general.php @@ -4,4 +4,6 @@ 'app_version' => '1.0.0', 'dev_default_ip' => env('DEV_DEFAULT_IP', '127.0.0.1'), + + 'fallback_country_slug' => 'my', ]; diff --git a/database/maxmind/GeoLite2-City.mmdb b/database/maxmind/GeoLite2-City.mmdb new file mode 100644 index 0000000..9d4c813 Binary files /dev/null and b/database/maxmind/GeoLite2-City.mmdb differ diff --git a/database/migrations/2023_07_25_152950_add_country_slug_to_categories_table.php b/database/migrations/2023_07_25_152950_add_country_slug_to_categories_table.php new file mode 100644 index 0000000..dc05019 --- /dev/null +++ b/database/migrations/2023_07_25_152950_add_country_slug_to_categories_table.php @@ -0,0 +1,29 @@ +string('country_locale_slug')->after('country_locale_id')->default('my'); + $table->foreign('country_locale_slug')->references('slug')->on('country_locales'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('categories', function (Blueprint $table) { + $table->dropColumn('country_locale_slug'); + }); + } +}; diff --git a/database/migrations/2023_07_25_170959_add_more_fields_to_country_locales_table.php b/database/migrations/2023_07_25_170959_add_more_fields_to_country_locales_table.php new file mode 100644 index 0000000..2476e0c --- /dev/null +++ b/database/migrations/2023_07_25_170959_add_more_fields_to_country_locales_table.php @@ -0,0 +1,30 @@ +string('country_iso')->after('i18n'); + $table->string('lang')->after('i18n'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('country_locales', function (Blueprint $table) { + $table->dropColumn('country_iso'); + $table->dropColumn('lang'); + }); + } +}; diff --git a/resources/views/front/country.blade.php b/resources/views/front/country.blade.php index 70c208e..b793fb7 100644 --- a/resources/views/front/country.blade.php +++ b/resources/views/front/country.blade.php @@ -5,7 +5,7 @@

ProductAlert is the place to be for top rated product reviews with recommendation such - as the right price, latest trend, from the best brands.

+ as the right price, latest trend, from the best brands in {{ get_country_name_by_iso($country_locale->country_iso) }}.
@@ -15,7 +15,7 @@
@for ($i = 1; $i <= 3; $i++)
- +
@@ -38,11 +38,11 @@
-

What's New

+

What's New in {{ get_country_name_by_iso($country_locale->country_iso) }}

@for ($i = 1; $i <= 12; $i++)
- + diff --git a/resources/views/layouts/front/footer.blade.php b/resources/views/layouts/front/footer.blade.php index 6ef6495..5dcf620 100644 --- a/resources/views/layouts/front/footer.blade.php +++ b/resources/views/layouts/front/footer.blade.php @@ -2,44 +2,50 @@
diff --git a/resources/views/layouts/front/navigation.blade.php b/resources/views/layouts/front/navigation.blade.php index 9cf7c28..5e91ec5 100644 --- a/resources/views/layouts/front/navigation.blade.php +++ b/resources/views/layouts/front/navigation.blade.php @@ -8,7 +8,9 @@
-

{{ config('app.name') }}

+

+ {{ config('app.name') }} {{ str_contains(request()->route()->getName(), 'home.country') ? get_country_emoji_by_iso($current_country_locale->country_iso) : '' }} +

@@ -17,12 +19,16 @@
@@ -36,7 +42,7 @@ @foreach ($categories as $category) @endforeach @@ -46,14 +52,16 @@
-

{{ config('app.name') }}

+

+ {{ config('app.name') }} {{ str_contains(request()->route()->getName(), 'home.country') ? get_country_emoji_by_iso($current_country_locale->country_iso) : '' }} +

diff --git a/routes/web.php b/routes/web.php index 4b3951a..d94067b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,6 +17,13 @@ Route::get('/{country}', [App\Http\Controllers\Front\HomeController::class, 'country'])->name('home.country'); +Route::get('/{country}/posts', [App\Http\Controllers\Front\HomeController::class, 'posts'])->name('home.country.posts'); + +Route::get('/{country}/posts/{post}', [App\Http\Controllers\Front\HomeController::class, 'post'])->name('home.country.post'); + +Route::get('/{country}/{category}', [App\Http\Controllers\Front\HomeController::class, 'countryCategory'])->name('home.country.category'); + + Auth::routes(); Route::prefix('admin')->middleware('auth')->group(function () { diff --git a/storage/debugbar/.gitignore b/storage/debugbar/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/storage/debugbar/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore