3neef / laravel-nationalities
A Laravel package that provides localized nationality names with support for exclusions
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/3neef/laravel-nationalities
Requires
- php: ^7.4|^8.0|^8.1|^8.2|^8.3
 - illuminate/support: ^7.0|^8.0|^9.0|^10.0|^11.0
 
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0|^7.0|^8.0|^9.0
 - phpunit/phpunit: ^9.0|^10.0|^11.0
 
This package is auto-updated.
Last update: 2025-10-07 13:21:29 UTC
README
A Laravel package that provides localized nationality names with support for exclusions. Compatible with Laravel, Laravel Filament, and other Laravel-based applications.
Features
- 🌍 Localized nationality names using Laravel's translation system
 - 🚫 Optional exclusion of specific nationality codes
 - 🎯 Laravel Filament compatible
 - 📦 Easy installation via Composer
 - 🔧 Automatic service provider registration
 - 🌐 Supports multiple locales (English, Arabic, and more)
 
Installation
Install the package via Composer:
composer require 3neef/laravel-nationalities
The service provider will be automatically registered thanks to Laravel's package auto-discovery.
Usage
Basic Usage
use Aneef\Nationalities\Nationalities; // Get all nationalities $all = Nationalities::get(); // Get nationalities excluding specific codes $filtered = Nationalities::get(['US', 'EG']);
Example Output
When app()->getLocale() === 'en':
[
    'EG' => 'Egyptian',
    'SA' => 'Saudi',
    'US' => 'American',
    'GB' => 'British',
    // ... more nationalities
]
When app()->getLocale() === 'ar':
[
    'EG' => 'مصري',
    'SA' => 'سعودي', 
    'US' => 'أمريكي',
    'GB' => 'بريطاني',
    // ... more nationalities
]
Laravel Filament Usage
Perfect for Filament forms and tables:
use Filament\Forms\Components\Select; use Aneef\Nationalities\Nationalities; Select::make('nationality') ->options(Nationalities::get()) ->searchable() ->required()
Blade Templates
<select name="nationality"> @foreach(Nationalities::get() as $code => $name) <option value="{{ $code }}">{{ $name }}</option> @endforeach </select>
Publishing Translations
To customize the nationality translations, publish the language files:
php artisan vendor:publish --provider="Aneef\Nationalities\NationalitiesServiceProvider" --tag="lang"
This will publish the translation files to resources/lang/vendor/nationalities/.
Supported Languages
- English (
en) - Arabic (
ar) 
You can add more languages by creating additional translation files.
Requirements
- PHP ^8.1
 - Laravel ^9.0|^10.0|^11.0
 
License
The MIT License (MIT). Please see License File for more information.