Skip to content

ZERODIGIT is missing in ar #1064

Closed
Closed

Description

@QuncCccccc

The generic Arabic (ar) date symbols have lost their ZERODIGIT property in recent versions of package:intl in this commit. This causes DateFormat to silently fall back to ASCII/Latin digits (0-9) when formatting dates for the generic ar locale, rendering years and times (e.g. 2026 and 8:30) in Latin instead of the expected Arabic-Indic digits (٢٠٢٦ and ٨:٣٠).

Seems the last export from g3 is in 2024, should we consider exporting the latest version from g3 or fix the logic in lib/src/intl/date_format.dart?

Activity

  1. mosuem commented on Jun 25, 2026

    @mosuem
    Member

    This is WAI, as the default for Arabic is latin numbering, so it as a latin 0 as the ZERODIGIT.

  2. mosuem commented on Jun 29, 2026

    @mosuem
    Member

    This was a change in CLDR data, not a decision made by this repository.

    I just looked at the CLDR data. For locale "ar" the default numbering system is "latn".

            <defaultNumberingSystem>latn</defaultNumberingSystem>
            <defaultNumberingSystem alt="latn">latn</defaultNumberingSystem>
            <otherNumberingSystems>
                <native>arab</native>
            </otherNumberingSystems>
    

    Buf for ar_EG and some others, the default is "arab" digits:

        <numbers>
            <defaultNumberingSystem>arab</defaultNumberingSystem>
            <defaultNumberingSystem alt="latn">latn</defaultNumberingSystem>
        </numbers>
    
  3. mosuem commented on Jun 30, 2026

    @mosuem
    Member

    Regarding the Flutter RTL rendering - if this is a bug, please open an issue there. What is the time string with latin digits supposed to look like?

    Another separate issue is the separation of language and locale, and having more fine-grained individual settings as well as fallback logic. We hope to achieve this in the new package:intl4x, give it a try!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions