Skip to content

Conversation

@mosuem
Copy link
Collaborator

@mosuem mosuem commented Dec 15, 2025

Looking good:

  • plural_rules
  • list_fmt
  • collation

Not as good:

  • number_fmt, with errors around Unknown unit furlong and the missing support for currency, unit, and percent formatting in ICU4X
  • lang_names, with JS not supporting some more complex locales (e.g. en-t-k0-el319) and ICU4X also having problems parsing locales such as kk_Cyrl.
  • datetime_fmt, with errors around time zones and hour cycles.

@gemini-code-assist
Copy link

Summary of Changes

Hello @mosuem, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the intl4x package to its 0.15.0 version, necessitating a comprehensive refactoring of the Dart executor code to align with the new API design. The changes streamline the instantiation of internationalization formatters by moving from a factory-based Intl class to direct constructor calls, simplifying how locales and options are applied. This update ensures compatibility with the latest intl4x features and improvements.

Highlights

  • API Refactoring: The intl4x package has undergone a significant API refactoring, moving away from the Intl factory class to direct instantiation of formatter classes like Collation, DateTimeFormat, DisplayNames, ListFormat, and PluralRules.
  • Direct Formatter Instantiation: Formatter classes are now instantiated directly with Locale and options passed as constructor arguments, simplifying their usage and removing the need for intermediate option objects in many cases.
  • Dependency Updates: The intl4x package has been updated to version 0.15.0, along with several other dependencies such as code_assets, hooks, icu4x, native_toolchain_c, and record_use. New dependencies http and timezone were also added.
  • Enum to JavaScript Name Mapping: New extensions have been introduced for CaseFirst, Calendar, and Unit enums to provide JavaScript-compatible string representations, likely for internal consistency or improved interoperability.
  • NumberFormat Support: A new check has been added to the native Dart NumberFormat implementation to explicitly mark UnitStyle and PercentStyle as unsupported when not running in a browser environment.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the intl4x package to version 0.15.0 and refactors the codebase to align with the new API, which no longer uses a central Intl class. While the refactoring correctly adapts to the new direct-instantiation pattern for formatters, there are several critical issues related to depending on the internal implementation of the intl4x package. The review includes comments on using implementation_imports, calling internal classes/methods, and copying internal code from the dependency. These practices make the code brittle and should be addressed by using only the public API of the package.

@mosuem mosuem requested review from echeran and sffc December 17, 2025 12:29
@sffc sffc merged commit 5608454 into main Dec 24, 2025
13 checks passed
@sffc sffc deleted the updateDart branch December 24, 2025 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants