graph LR
Humanize_Core_Library["Humanize Core Library"]
Number_Humanization_Module["Number Humanization Module"]
Time_Humanization_Module["Time Humanization Module"]
Filesize_Humanization_Module["Filesize Humanization Module"]
Internationalization_I18n_Module["Internationalization (I18n) Module"]
External_Locale_Data["External Locale Data"]
Humanize_Core_Library -- "uses" --> Number_Humanization_Module
Humanize_Core_Library -- "uses" --> Time_Humanization_Module
Humanize_Core_Library -- "uses" --> Filesize_Humanization_Module
Number_Humanization_Module -- "depends on" --> Internationalization_I18n_Module
Time_Humanization_Module -- "depends on" --> Internationalization_I18n_Module
Filesize_Humanization_Module -- "depends on" --> Internationalization_I18n_Module
Internationalization_I18n_Module -- "consumes" --> External_Locale_Data
click Humanize_Core_Library href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Humanize_Core_Library.md" "Details"
click Number_Humanization_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Number_Humanization_Module.md" "Details"
click Time_Humanization_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Time_Humanization_Module.md" "Details"
click Filesize_Humanization_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Filesize_Humanization_Module.md" "Details"
click Internationalization_I18n_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Internationalization_I18n_Module.md" "Details"
The humanize library follows a clear functional decomposition, centered around a Humanize Core Library that delegates specific data humanization tasks to dedicated modules for numbers, time, and file sizes. A crucial Internationalization (I18n) Module provides localization services, ensuring all humanized outputs are culturally appropriate by consuming External Locale Data. This design promotes modularity, allowing each humanization type to be developed and maintained independently while centralizing the complex logic of internationalization, making the library adaptable and globally usable.
Humanize Core Library [Expand]
The main entry point and orchestrator, exposing humanization functions to users.
Related Classes/Methods:
Number Humanization Module [Expand]
Handles formatting of numerical data (e.g., intcomma, ordinal).
Related Classes/Methods:
Time Humanization Module [Expand]
Manages human-readable representations of dates and times (e.g., naturaltime, naturaldate).
Related Classes/Methods:
Filesize Humanization Module [Expand]
Converts byte counts into human-readable file sizes (e.g., naturalsize).
Related Classes/Methods:
Internationalization (I18n) Module [Expand]
Provides core localization and translation services, managing active locales and retrieving translated strings.
Related Classes/Methods:
Contains the actual translation files and pluralization rules used by the I18n Module.
Related Classes/Methods: