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
fix: backport ICU changes for Japanese Era placeholder name #17518
fix: backport ICU changes for Japanese Era placeholder name #17518
Conversation
This change backports changes from the upstream ICU 62.1 maintenance branch into the Chromium copy of ICU, in order to enable the "placeholder era" for the upcoming new Japanese Era. Upstream change: unicode-org/icu#514 Upstream ticket: https://unicode-org.atlassian.net/browse/ICU-20482 With this change you can set/define an Environment Variable `ICU_ENABLE_TENTATIVE_ERA` to `true which will enable the placeholder era name. Note: This change requires re-generating the checked-in Chromium ICU data files (icudtl.dat) in order for them to have the updated data for the placeholder era name. Also included in this change are some minor changes to the scripts used by Chromium for building the data files so that they actually work on Ubuntu.
💖 Thanks for opening this pull request! 💖 We use semantic commit messages to streamline the release process. Before your pull request can be merged, you should update your pull request title to start with a semantic prefix. Examples of commit messages with semantic prefixes:
Things that will help get your PR across the finish line:
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can. |
Just to clarify, where the ICU data files generated following the instructions in https://cs.chromium.org/chromium/src/third_party/icu/README.chromium ? |
Yes of course. :) |
Thanks! Just to get some understanding, what would steps C1-4 be for in the above document
Is that something we should care about when updating icu with patches ? |
I'm not sure I understand the question? Perhaps you could rephrase it?. However, regarding ICU and Chromium changes: If you are just patching things in ICU (by pulling things from upstream ICU) then you generally/hopefully will not have any issues with conflicting Chromium-specific changes. However, if you try to independently bump the ICU version in Electron, then yes -- you will also need to carry forward all of the Chromium-specific changes, which might need to be changed between ICU versions. (Hopefully this helps explain things a bit?) |
Oh, one other important point: |
Sorry, I was referring to the steps here https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?l=116-166
You have clarified it, thanks! |
Release Notes Persisted
|
Congrats on merging your first pull request! 🎉🎉🎉 |
Description of Change
This change backports changes from the upstream ICU 62.1 maintenance branch into the Chromium copy of ICU, in order to enable the "placeholder era" for the upcoming new Japanese Era.
Upstream change: unicode-org/icu#514
Upstream ticket: https://unicode-org.atlassian.net/browse/ICU-20482
With this change you can set/define an Environment Variable named
ICU_ENABLE_TENTATIVE_ERA
totrue
which will enable the placeholder era name.Notes on the changes:
icudtl.dat
) in order to update them with the new data for the placeholder era name. (This is why the .patch file is so large and contains binary diffs.)third_party
is a separate git repo, so this required added a new folder namedicu
to theelectron\patches\common
folder (since there are currently no existing patches for ICU)CC: @alexeykuzmin (also FYI for @aandrejs).
Here's a simple example showing the results of the change:
Before:
After:
(Note the use of "QQ" instead of the "平成" for the date format for ja-JP).
Sample code used for testing:
Checklist
npm test
passesnpm test
command working on Windows, even without my changes.)Release Notes
Notes: Added support for testing the new Japanese Era with a placeholder era name. Set an environment variable named
ICU_ENABLE_TENTATIVE_ERA
to true to enable the placeholder era.