-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Updated ICU data. #3528
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
Updated ICU data. #3528
Conversation
I see that you rebuild res files. If you used anything newer than icu 4.2, then those are useless. There was binary format change in icu > 4.2. |
I'm not sure I understand, but I used latest ICU data from svn as it says in UPDATE.txt. I tested it and it seem to work fine. |
The data is unimportant, what is important is which version of icu was used to build the binary files. And it has to be 4.2 as this is what most LTS Linux distributions use. |
Maybe update-data.php should be able to check this? Or it should be noted in UPDATE.txt |
You must compile the files with the format version 1.2 not 2.0, |
Where did you see 2.0? I'm a bit confused, I just followed instructions. I'm using Ubuntu 11.10, can someone help me how to update this files? I'm close to migrate to CLDR :) |
Well you can use Ubuntu 10.04 for that, or build icu 4.2 from source just for building locale data. |
In the binary file
Like I said, |
ICU <= 4.4 is buggy on localized date formats e.g. "FEBR." instead of "FEB" and have errors in countries list for russian/ukrainian lang. I don't know if this related to icu-data or icu itself, but i believe we need to generate ".res" from lastest ICU:
And rewrite code to support CLDR 2.0 format. |
Just noticed, genrb version 3.3 (ICU version 4.8.1). Have option ``` --formatVersion write a .res file compatible with the requested formatVersion (single digit);
|
@umpirsky The tests got broken with this update. I've used some ICU data to check that the Then the tests would use the expected values for the current PHP ICU version. But for this we would need to ship with the stub data for the different ICU releases. This would add at least 4 new stub data files to the component for each ICU release. The only problem is that we don't have a special CI build setup to run the Locale tests for different PHP/ICU releases but we'll at least mitigate the need to adjust the tests because of ICU/CLDR updates. Then we will can focus only in implementing the changes introduced in the ext/intl Unfortunatelly I will can not participate in the Symfony bug hunt days but I'll have free time on this weekend and I'll give some attention to the Locale component. |
I've been playing with locale data a bit today as a part of bug hunt day.
|
What solutions we have?
|
@mvrhov @dr-fozzy I'm in debt with this Locale issue. Maybe we could ship with each major ICU release data. This way we could run the tests with the almost same version available in the environment. I found that Debian (for an example) sticky with a major version and apply only security patches to the code (ICU C source code or the makefile script). CLDR data is updated at a incredible pace. Since the three chosen currencies helps to test the formatting implementation, I see no other way to dealt with this. Thoughts? |
Updating the php code to match major icu versions shouldn't be the problem, but shipping res files for each version would greatly increase the symfony download size. |
It would be good but this way we might use CLDR/ICU data that could be not available in a lot of Linux distros. If we shipped today with ICU 49.1.1 (and CLDR 21.0.1), our tests would not be executed in the CI environment, since Travis uses Ubuntu Oneiric (11.10) that ships with ICU 4.4 (they try to keep one release Ubuntu behind). With the next Travis update (to Ubuntu Precise with ICU 4.8) our tests probably would be skipped too. The problems now are only some tests (specifically the ones that I coded for checking monetary values) but they are really easy to deal because basically they are just formatters.
I did not understand the first point but I liked the second one. We could have a separated repository for the resource files. @igorw - now that you're a Composer mage - do you think this is reasonable? |
Is it still realistic to do that in 2.1? OR do we reschedule it for 2.2? |
Yes, it is feasible. Sorry for the lack of feedback, I had issues with the I will PR it as soon as possible for the 2.1 release. |
@fabpot This issue can be closed. |
Some regions were missing: