abdirazack/somali-faker

A comprehensive Laravel package to generate fake Somali data using Faker.

v1.0.0 2025-08-28 10:30 UTC

This package is auto-updated.

Last update: 2025-09-28 10:47:50 UTC


README

Latest Version on Packagist Total Downloads

A comprehensive Laravel package to generate fake Somali data using FakerPHP/Faker.

This package provides a custom Faker provider for the Somali language (so_SO), which can be used to generate Somali-specific data like names, addresses, phone numbers, and more.

Installation

You can install the package via Composer:

composer require abdirazack/somali-faker

The package will automatically register its service provider.

Usage

You can use the new formatters by calling them on the faker() helper in Laravel or directly on a Faker\Generator instance.

Here's a list of the available formatters with examples:

Person

  • firstName(): Generates a random Somali first name.

    faker()->firstName(); // 'Ayaanle'
  • lastName(): Generates a random Somali last name.

    faker()->lastName(); // 'Hassan'

    Note: Both firstName() and lastName() use the same list of names, so you might get the same name for both.

  • name(): Generates a random Somali full name.

    faker()->name(); // 'Ayaanle Hassan'

Address

  • city(): Generates a random Somali city.

    faker()->city(); // 'Mogadishu'
  • district(): Generates a random Somali district.

    faker()->district(); // 'Hodan District'
  • streetName(): Generates a random Somali street name.

    faker()->streetName(); // 'Wadada Xamar'
  • address(): Generates a random Somali address.

    faker()->address(); // '123 Wadada Xamar, Hodan District, Mogadishu'

Company

  • company(): Generates a random Somali company name.

    faker()->company(); // 'Hormuud Telecom'
  • companyPrefix(): Generates a random Somali company prefix.

    faker()->companyPrefix(); // 'Shirkadda'
  • companySuffix(): Generates a random Somali company suffix.

    faker()->companySuffix(); // 'Group'

PhoneNumber

  • phoneNumber(): Generates a random Somali phone number.
    faker()->phoneNumber(); // '+252 61 123 4567'

Internet

  • email(): Generates a Somali-themed email address.

    faker()->email(); // 'ayaanle.hassan@example.com'
  • domainName(): Generates a Somali domain name.

    faker()->domainName(); // 'somalinet.so'

Text

  • realText(): Generates a snippet of Somali text.
    faker()->realText(); // 'Soomaalidu been waa sheegtaa, been kuma maahmaahdo...'

Usage Outside of Laravel

You can also use this provider in a non-Laravel project by adding the provider to your Faker instance manually:

use Faker\Factory;
use SomaliFaker\Provider\so_SO\Person;
use SomaliFaker\Provider\so_SO\Address;
use SomaliFaker\Provider\so_SO\Company;
use SomaliFaker\Provider\so_SO\PhoneNumber;
use SomaliFaker\Provider\so_SO\Internet;
use SomaliFaker\Provider\so_SO\Text;

$faker = Factory::create();
$faker->addProvider(new Person($faker));
$faker->addProvider(new Address($faker));
$faker->addProvider(new Company($faker));
$faker->addProvider(new PhoneNumber($faker));
$faker->addProvider(new Internet($faker));
$faker->addProvider(new Text($faker));

echo $faker->name; // 'Ayaanle Hassan'

Contributing

Contributions are welcome! Please feel free to submit a pull request.

License

The MIT License (MIT). Please see License File for more information.