Releases: ICanBoogie/CLDR
v4.0.0
New Requirements
Requires PHP 7.1+
New features
None
Backward Incompatible Changes
-
Numbers symbols are now represented by a
Symbolsinstance instead of an array. Methods using numeric symbols have been updated. The currency symbol is no longer added to the numeric symbols, it is now a separated parameter.<?php /* @var ICanBoogie\CLDR\CurrencyFormatter $formatter */ /* @var array $symbols */ $formatter->format($number, $pattern, $symbols);
<?php /* @var ICanBoogie\CLDR\CurrencyFormatter $formatter */ /* @var ICanBoogie\CLDR\Numbers\Symbols $symbols */ /* @var string $currencySymbol */ $formatter->format($number, $pattern, $symbols, $currencySymbol);
-
List patterns are now represented by a
ListPatterninstance instead of an array. Methods using a list pattern have been updated.<?php /* @var ICanBoogie\CLDR\ListFormatter $formatter */ /* @var array $list_pattern */ $formatter->format([ 1, 2, 3 ], list_pattern);
<?php /* @var ICanBoogie\CLDR\ListFormatter $formatter */ /* @var ICanBoogie\CLDR\Locale\ListPattern $list_pattern */ $formatter->format([ 1, 2, 3 ], list_pattern);
-
Removed
NumberPattern:$format, it was never used. -
Removed the
localized()method on entities that don't naturally require access to the repository:NumberFormatterandListFormatter. You can use$repository->locales['fr']->localize($formatter)to get a localized formatter, or thenumber_formatterandlist_formaterproperties of theLocaleobject. -
The fluent interface of units is now more on par with the rest of the API.
<?php echo $units->duration_hour(23); echo $units->duration_hour(23, $units::LENGTH_SHORT); echo $units->volume_liter->per_unit(12.345, $units->duration_hour); echo $units->volume_liter->per_unit(12.345, $units->duration_hour, $units::LENGTH_SHORT);
<?php echo $units->duration_hour(23); echo $units->duration_hour(23)->as_short; echo $units->volume_liter(12.345)->per($units->duration_hour); echo $units->volume_liter(12.345)->per($units->duration_hour)->as_short;
Deprecated Features
-
The localized currency formatter no longer supports a
$symbolsparameter. If you need to customize how a currency is formatted, create your ownSymbolsinstance and use it with a non-localized formatter e.g.$repository->format_currency(). -
The localized list formatter no longer accepts a list pattern or a type, only a type. If you need to customize how a list is formatted, create you own
ListPatterninstance and use it with a non-localized formatter e.g.$repository->format_list().
Other Changes
- Compatible with PHP 8.1+
- Targets CLDR v36
- Improved type annotations, including generics.
v3.0.3: Not all locales have context transforms
Fix #17 Not all locales have context transforms
v3.0.1: Merge pull request #16 from kornrunner/master
DateTimeFormatter: PHP 8
Target CLDR 34, hosted on GitHub
Targeting CLDR 26, hosted by Unicode, was causing a lot of availability issues. We now target CLDR 34, which is hosted on GitHub and should be highly available. It's also the most recent version.
Updated requirements
- Target CLDR 34, hosted on GitHub
- Remove dev dependency
icanboogie/datetime
New features
- Added
Repository::$available_locales - Added
Repository::is_locale_available()
Other changes
- Travis: Cache repository data
- Add remote configuration for Xdebug
PHP 5.6, Providers and Cache
Updated requirements
- PHP 5.6+
Backward incompatible changes
- Extract cache feature from providers
- Rename LocalizeAwareInterface as Localizable
Other changes
- Add EditorConfig
v1.10.0
Currency formatters, percent formatters
New features
- Refactored
LocalizedCurrency, AddedLocalizedCurrencyFormatter - Added
Repository::$currency_formatter - Added
Repository::format_currency() - Added
Locale::$currency_formatter - Added
Locale::format_currency() - Added
Locale::format_percent()
Units
Plurals
Context transforms
New features
- Added
ContextTransforms - Added
Locale::$context_transforms - Added
Locale::context_transform()
Other changes
- Calendar applies context transforms to its data