graph LR
Locale_Data_Management["Locale Data Management"]
Locale_Representation["Locale Representation"]
Global_CLDR_Data_Access["Global CLDR Data Access"]
Locale_Representation -- "uses" --> Locale_Data_Management
Locale_Data_Management -- "uses" --> Global_CLDR_Data_Access
Locale_Representation -- "uses" --> Global_CLDR_Data_Access
The Locale Data & Core API subsystem is responsible for the foundational aspects of internationalization within the babel project, specifically managing the loading, caching, and resolution of locale-specific data and providing a core interface for locale identifiers and general locale information.
This component acts as the low-level manager for loading, caching, and merging raw CLDR locale data from .dat files. It handles the intricacies of data inheritance (e.g., en_US inheriting from en and root) and provides utilities for locale identifier normalization and existence checks. It is the primary source for raw, processed locale data.
Related Classes/Methods:
This component provides the primary object-oriented interface, the Locale class, for representing and interacting with a specific locale. It encapsulates the locale's identity (language, territory, script, etc.) and offers structured, high-level access to its associated locale-dependent information (e.g., language names, number formats, date patterns). It serves as the main entry point for consumers of locale data.
Related Classes/Methods:
This component is responsible for loading and providing access to global CLDR data that is not specific to any single locale but is crucial for overall locale resolution, aliasing, and data inheritance rules. Examples include likely_subtags, parent_exceptions, and zone_aliases. This data supports the correct interpretation and processing of locale identifiers and data.
Related Classes/Methods: