LocaleBuilder
in package
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
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
build()
Builds the custom locale.
public
build() : CustomLocale
Tags
Return values
CustomLocale —Custom locale.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Return values
self —This builder.
setNumberLocalizer()
Replaces the number localizer.
public
setNumberLocalizer(NumberLocalizer $numberLocalizer) : self
Parameters
- $numberLocalizer : NumberLocalizer
-
Number localizer to use.
Tags
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
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
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
Return values
self —This builder.
setTextNormalizer()
Replaces the text normalizer.
public
setTextNormalizer(TextNormalizer $textNormalizer) : self
Parameters
- $textNormalizer : TextNormalizer
-
Text normalizer to use.
Tags
Return values
self —This builder.