Re: Consulting Adding Tibetan Calendar into ICU

52 views
Skip to first unread message

Forest Rui Jiang

unread,
Mar 13, 2021, 6:19:50 PM3/13/21
to Shane Carr, tibetan-initi...@googlegroups.com, Élie Roux, Drupchen Dorje
Shane, do you have a starter doc for students to take a look at around ICU4X? There are students asking around what to learn at this point. Assuming we want your help on ICU4X first.
Although I feel a little bit weird about the fact that we are starting to discuss the project details before we can finalize the student allocation. That seems to be the arrangement of GSoC.
+tibetan-initi...@googlegroups.com 
Forest Rui Jiang | Software Engineer | for...@google.com | +1 650-862-0630


On Fri, Mar 12, 2021 at 1:03 PM Forest Rui Jiang <for...@google.com> wrote:
Got it. Thanks for your information! Sounds promising to implement in ICU4X first!
Will keep you posted how it goes.
Thanks!

Forest Rui Jiang | Software Engineer | for...@google.com | +1 650-862-0630


On Fri, Mar 12, 2021 at 12:16 PM Shane Carr <sf...@google.com> wrote:
First, to make sure we're on the same page: ICU4X is a much earlier-phase project than ICU4C.  It will be longer before the impact of the Tibetan calendar in ICU4X can be realized throughout the ecosystem.  Firefox is going to be an early adopter of ICU4X, so adding the Tibetan calendar to ICU4X may mean that Firefox will support it, but ICU4C is, and will remain to be, the industry standard with the highest impact for the foreseeable future.

With that being said, I am personally involved in ICU4X development, and adding more non-Gregorian calendars is something we've already discussed wanting to do in 2021.  We plan to make ICU4X usable by apps on several different platforms.  We should have C++ bindings working by the summer, and later in the year, it's on the roadmap to also support JavaScript via WebAssembly and Java/Android.

To summarize: If the goal is to make the Tibetan calendar available by default across the whole software platform ecosystem, you want to implement it in ICU4C, period.  However, if we implement it in ICU4X, the code will be available for apps to bundle, as well as in Firefox, Fuchsia, and other early-adopting platforms.  In other words, I would be excited to have a GSoC fellow working on ICU4X, but I don't want to hijack your project if you had different goals in mind.

Another factor: I would have more to contribute as an advisor / supporting host if we went the ICU4X route, particularly in terms of Rust code reviews.  If we went the ICU4C route, I would likely take a more hands-off approach; I can provide pointers on how to proceed, but I would want you and the fellow to work out more of the details on your own.

Does that make sense?

Shane

On Fri, Mar 12, 2021 at 11:55 AM Forest Rui Jiang <for...@google.com> wrote:
A more basic question, does everyone who wish to use the ICU library need to have rust installed? How can users conveniently use it?

Forest Rui Jiang | Software Engineer | for...@google.com | +1 650-862-0630


On Fri, Mar 12, 2021 at 9:47 AM Forest Rui Jiang <for...@google.com> wrote:
+Élie Roux who has knowledge about Tibetan calendar. +Drupchen Dorje org admin for GSoC.

Hi Shane,
I want to consult you about this as a GSoC project (175 hours, which means half-time work lasts 10 weeks). What would you prioritize among:
  • Add to ICU4X
  • Add to ICU4C and/or ICU4J
  • Maybe other?
I am thinking, take ICU4X as an example, a few milestones could be like:
  • Familiarize with ICU4X dev framework, learn to run tests
  • Learn Rust (I guess very few students know Rust. what tutorial do you suggest?)
  • Write some util functions and test code
  • Finish the whole algorithm
  • ...
Does that look good?
BTW, we don't need to give full details at this point. I am just trying to get more ideas about this project. Thanks!

Thanks!

Forest Rui Jiang | Software Engineer | for...@google.com | +1 650-862-0630


On Fri, Mar 12, 2021 at 9:12 AM Shane Carr <sf...@google.com> wrote:
ICU4X is a project I'm working on where we want to add more calendar support. Adding a calendar to ICU4X doesn't also add it to ICU4C or ICU4J, at least not in the near term.

To add a calendar to ICU4C, most of the work is going to be the code in ICU, but you'll also need to add a small amount of metadata in CLDR to let other components know about the new calendar. For example, you'd change CLDR to enable the -u-ca-tibetan language tag.

On Fri, Mar 12, 2021, 6:18 AM Forest Rui Jiang <for...@google.com> wrote:
Hi Shane,

I am confused about what specifically need to be done if someone wants to contribute to the Tibetan calendar to ICU.
Do they need to change CLDR? Why do you mention ICU4X (Rust) but not ICU4J and ICU4C?
Thanks!
Forest Rui Jiang | Software Engineer | for...@google.com | +1 650-862-0630


Shane Carr

unread,
Mar 13, 2021, 9:07:52 PM3/13/21
to Forest Rui Jiang, tibetan-initi...@googlegroups.com, Élie Roux, Drupchen Dorje

Forest Rui Jiang

unread,
Mar 28, 2021, 2:35:48 PM3/28/21
to Shane Carr, Drupchen Dorje, tibetan-initi...@googlegroups.com, Élie Roux
Hi Shane,

I have sent you a Slack invitation to join the channel discussing this. We are discussing whether to implement on ICU4X or ICU4C and their difficulties in the slack channel. Hope for your thoughts.
Thanks!
Forest
--

Shane Carr

unread,
Mar 28, 2021, 2:54:45 PM3/28/21
to Forest Rui Jiang, Drupchen Dorje, tibetan-initi...@googlegroups.com, Élie Roux
Hi,

I have an account on Unicode slack; can you invite me via that federated account?

Use this link to start a direct message with me:


Shane
Reply all
Reply to author
Forward
0 new messages