Civil Date PHP Package

LocaleBuilder
in package

FinalYes

Builds a custom locale from an existing locale definition.

Use this class to override a small set of localized names or services while keeping the rest of the base locale.

Example:

$locale = (new \Kampute\CivilDate\Locales\Persian())
    ->customizeFor('fa-IR')
    ->setMonthName(\Kampute\CivilDate\Calendar::Jalali, 5, 'امرداد')
    ->build();
Tags
see
Locale::customizeFor()
CustomLocale

Table of Contents

Methods

__construct()  : mixed
Creates a locale builder that delegates to another locale.
build()  : CustomLocale
Builds the custom locale.
setAbbreviatedDayOfWeekName()  : self
Sets one localized abbreviated weekday name.
setAbbreviatedDayOfWeekNames()  : self
Sets localized abbreviated weekday name overrides.
setAbbreviatedEraName()  : self
Sets one localized abbreviated era name.
setAbbreviatedEraNames()  : self
Sets localized abbreviated era name overrides.
setAbbreviatedMonthName()  : self
Sets one localized abbreviated month name.
setAbbreviatedMonthNames()  : self
Sets localized abbreviated month name overrides.
setDayOfWeekName()  : self
Sets one localized weekday name.
setDayOfWeekNames()  : self
Sets localized weekday name overrides.
setEraName()  : self
Sets one localized era name.
setEraNames()  : self
Sets localized era name overrides.
setLocalization()  : self
Sets one application-specific localized text override.
setLocalizations()  : self
Sets application-specific localized text overrides.
setMonthName()  : self
Sets one localized month name.
setMonthNames()  : self
Sets localized month name overrides.
setNumberLocalizer()  : self
Replaces the number localizer.
setRightToLeft()  : self
Sets text direction.
setSeasonName()  : self
Sets one localized season name.
setSeasonNames()  : self
Sets localized season name overrides.
setTextNormalizer()  : self
Replaces the text normalizer.

Methods

__construct()

Creates a locale builder that delegates to another locale.

public __construct(string $languageTag, Locale $locale) : mixed
Parameters
$languageTag : string

Language tag for the custom locale.

$locale : Locale

Base locale whose behavior is delegated.

Tags
throws
InvalidArgumentException

If the language tag is invalid.

see
Locale::customizeFor()

setAbbreviatedDayOfWeekName()

Sets one localized abbreviated weekday name.

public setAbbreviatedDayOfWeekName(DayOfWeek $dayOfWeek, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$dayOfWeek : DayOfWeek

Weekday.

$name : string

Localized abbreviated name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setAbbreviatedDayOfWeekNames()
Locale::abbreviatedDayOfWeekName()
Return values
self

This builder.

setAbbreviatedDayOfWeekNames()

Sets localized abbreviated weekday name overrides.

public setAbbreviatedDayOfWeekNames(array<int, string> $dayOfWeekNames) : self

Existing overrides for omitted weekdays remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$dayOfWeekNames : array<int, string>

Localized abbreviated weekday names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setAbbreviatedDayOfWeekName()
Locale::abbreviatedDayOfWeekName()
Return values
self

This builder.

setAbbreviatedEraName()

Sets one localized abbreviated era name.

public setAbbreviatedEraName(Calendar $calendar, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$calendar : Calendar

Calendar identifier.

$name : string

Localized abbreviated name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setAbbreviatedEraNames()
Locale::abbreviatedEraName()
Return values
self

This builder.

setAbbreviatedEraNames()

Sets localized abbreviated era name overrides.

public setAbbreviatedEraNames(array<int, string> $eraNames) : self

Existing overrides for omitted calendars remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$eraNames : array<int, string>

Localized abbreviated era names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setAbbreviatedEraName()
Locale::abbreviatedEraName()
Return values
self

This builder.

setAbbreviatedMonthName()

Sets one localized abbreviated month name.

public setAbbreviatedMonthName(Calendar $calendar, int $month, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$calendar : Calendar

Calendar identifier.

$month : int

Month number.

$name : string

Localized abbreviated name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setAbbreviatedMonthNames()
Locale::abbreviatedMonthName()
Return values
self

This builder.

setAbbreviatedMonthNames()

Sets localized abbreviated month name overrides.

public setAbbreviatedMonthNames(array<int, array<int, string>> $monthNames) : self

Existing overrides for omitted months remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$monthNames : array<int, array<int, string>>

Localized abbreviated month names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setAbbreviatedMonthName()
Locale::abbreviatedMonthName()
Return values
self

This builder.

setDayOfWeekName()

Sets one localized weekday name.

public setDayOfWeekName(DayOfWeek $dayOfWeek, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$dayOfWeek : DayOfWeek

Weekday.

$name : string

Localized name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setDayOfWeekNames()
Locale::dayOfWeekName()
Return values
self

This builder.

setDayOfWeekNames()

Sets localized weekday name overrides.

public setDayOfWeekNames(array<int, string> $dayOfWeekNames) : self

Existing overrides for omitted weekdays remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$dayOfWeekNames : array<int, string>

Localized weekday names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setDayOfWeekName()
Locale::dayOfWeekName()
Return values
self

This builder.

setEraName()

Sets one localized era name.

public setEraName(Calendar $calendar, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$calendar : Calendar

Calendar identifier.

$name : string

Localized name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setEraNames()
Locale::eraName()
Return values
self

This builder.

setEraNames()

Sets localized era name overrides.

public setEraNames(array<int, string> $eraNames) : self

Existing overrides for omitted calendars remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$eraNames : array<int, string>

Localized era names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setEraName()
Locale::eraName()
Return values
self

This builder.

setLocalization()

Sets one application-specific localized text override.

public setLocalization(string $key, string $localization) : self
Parameters
$key : string

Custom localization key.

$localization : string

Localized text.

Tags
throws
InvalidArgumentException

If the key or localized text is empty.

see
LocaleBuilder::setLocalizations()
Locale::localize()
Return values
self

This builder.

setLocalizations()

Sets application-specific localized text overrides.

public setLocalizations(array<string, string> $localizations) : self

Existing overrides for omitted keys remain unchanged.

Parameters
$localizations : array<string, string>

Localized text indexed by custom key.

Tags
throws
InvalidArgumentException

If a key or localized text is empty.

see
LocaleBuilder::setLocalization()
Locale::localize()
Return values
self

This builder.

setMonthName()

Sets one localized month name.

public setMonthName(Calendar $calendar, int $month, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$calendar : Calendar

Calendar identifier.

$month : int

Month number.

$name : string

Localized name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setMonthNames()
Locale::monthName()
Return values
self

This builder.

setMonthNames()

Sets localized month name overrides.

public setMonthNames(array<int, array<int, string>> $monthNames) : self

Existing overrides for omitted months remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$monthNames : array<int, array<int, string>>

Localized month names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setMonthName()
Locale::monthName()
Return values
self

This builder.

setRightToLeft()

Sets text direction.

public setRightToLeft(bool $rightToLeft) : self
Parameters
$rightToLeft : bool

Whether output uses right-to-left direction.

Tags
see
Locale::isRightToLeft()
Return values
self

This builder.

setSeasonName()

Sets one localized season name.

public setSeasonName(Season $season, string $name) : self

The override takes precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$season : Season

Season.

$name : string

Localized name.

Tags
throws
InvalidArgumentException

If the name is empty.

see
LocaleBuilder::setSeasonNames()
Locale::seasonName()
Return values
self

This builder.

setSeasonNames()

Sets localized season name overrides.

public setSeasonNames(array<int, string> $seasonNames) : self

Existing overrides for omitted seasons remain unchanged. Overrides take precedence during parsing; otherwise, parsing falls back to the base locale, including its accepted aliases.

Parameters
$seasonNames : array<int, string>

Localized season names to override.

Tags
throws
InvalidArgumentException

If a name is empty.

see
LocaleBuilder::setSeasonName()
Locale::seasonName()
Return values
self

This builder.

On this page

Search results