-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Added documentation for the Intl component #2312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
webmozart
commented
Mar 15, 2013
Q | A |
---|---|
Doc fix? | no |
New docs? | yes (symfony/symfony#7386) |
Applies to | 2.3 |
Fixed tickets | - |
NumberFormatter | ||
~~~~~~~~~~~~~~~ | ||
|
||
Numbers can be formatted with the :phpclass:``NumberFormatter`` class. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should be single backticks AFAIK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, fixed
Does anyone know how to create alternate TOC titles for section headings? For example, I would like the heading
to appear as
or
in the TOC. |
Or maybe it's indeed better to move information about which methods are supported to the API docs and only link there here? |
* :phpfunction:`intl_get_error_code` | ||
* :phpfunction:`intl_get_error_message` | ||
|
||
If you don't use Composer but the Symfony ClassLoader component, you need to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is maybe nice to add a link to the ClassLoader component here
@bschussek IMO, documenting all methods of the API should be left to the API doc (where you could document with more details what is supported by the stub implementation). The component doc should be about the way to use the component, not about all available methods |
I integrated the suggested changes now. I hope this PR is now complete. |
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This can be merged. |
Hi Bernhard! Before I merge this in, I have a few high-level questions.
Thanks! |
1 is fixed in symfony/symfony#7867 |
Thank you for the feedback @weaverryan! As @wouterj mentioned, I fixed (1) in the symfony/symfony repository. (2) is fixed in the commit I just added to this PR. I hope this is better now! :) |
|
||
The replacement layer is limited to the locale "en". If you want to use | ||
other locales, you should `install the intl extension`_ instead. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are missing a .. versionadded:: 2.3
directive
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
@bschussek very very nice tweaks - you make things easy! Merged with only minor changes at sha: 019bed7 (but let me know if you see something you don't like). Thanks! |
Thank you for the tweaks @weaverryan! :) Being corrected by a native speaker is a great learning opportunity. |
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch. Discussion ---------- [Intl] Refactored Locale component into two new components Icu and Intl | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | yes | Deprecations? | yes | Tests pass? | yes | Fixed tickets | #5279 | License | MIT | Doc PR | symfony/symfony-docs#2312 The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available. Additionally, the component ships data from the ICU library which can be accessed through the methods: ```php use Symfony\Component\Intl\Intl; Intl::getCurrencyBundle()->... Intl::getLanguageBundle()->... Intl::getLocaleBundle()->... Intl::getRegionBundle()->... ``` If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`). See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information. Todo: - [x] finish the Intl README file - [x] update the Icu README file - [x] update the documentation - [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods - [x] remove `(Icu)?Version::compare` calls in the tests - [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock Create the following branches in the [Icu component](https://github.com/symfony/Icu): - [x] 1.0.x - [x] 1.1.x - [x] 1.2.x Commits ------- 9118b4a [Locale] Removed "Stub" prefixes in Intl component b4cccfd [Intl] Removed "Stub" prefix from stub classes 60f31d1 [Intl] Improved inline documentation c2d37e6 [Intl] Improved error messages in the build scripts 1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system 9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing 427d24a [Intl] Outsourced bundle reader creation to Icu component 0160fd5 [Intl] Moved stub data to Icu component 1.0.x dbca3b7 [Intl] Added empty directory needed for the tests a717ce9 [Intl] Removed ICU version comparisons from the tests 5d17de5 [Intl] Fixed version comparisons in the transformation rules 470927d [Intl] Improved build scripts aceb20d [Form] Improved tests to use the IntlTestHelper class 3dd75ff [Locale] Improved tests to use the IntlTestHelper class 03b78b0 [Validator] Improved tests to use the IntlTestHelper class 9d9c389 [Intl] Simplified tests c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data 17a480b [Intl] Added IntlTestHelper class for convenience 1dcdcd3 [Locale] Fixed failing tests f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component 080c880 [Intl] Bumped the stub version to 50.1.2 dd2d013 [Intl] Improved the bundle compilation process f47e60a [Intl] Fixed small bugs in the resource bundle transformation 467cc93 [Intl] Fixed various problems in the resource compilation process 4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs 9899de7 [Intl] Updated the README bfec58a [Intl] Fixed flawed PHPDoc 21323ba [Intl] Updated the README file 209a9cb [Validator] Adapted to latest Intl changes f2a0aec [Form] Adapted to latest Intl changes 0f6277f [Locale] Adapted to latest Intl changes 2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore 838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion() dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded 99f6f8a [Form] Fixed failing tests 5d0b849 Fixed PHPDoc b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion() b902b6b [Locale] Added default locale 01d0ee8 [Validator] Changed component to use the Intl component 0c1fe39 [Form] Changed component to use the Intl component 5917a2e [Intl] Refactored Locale component into two new components Icu and Intl