DisplayNames.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c) 2024, Tim Flynn <trflynn89@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Optional.h>
  8. #include <AK/String.h>
  9. #include <AK/StringView.h>
  10. #include <LibTimeZone/TimeZone.h>
  11. #include <LibUnicode/Locale.h>
  12. namespace Unicode {
  13. enum class LanguageDisplay {
  14. Standard,
  15. Dialect,
  16. };
  17. LanguageDisplay language_display_from_string(StringView language_display);
  18. StringView language_display_to_string(LanguageDisplay language_display);
  19. Optional<String> language_display_name(StringView locale, StringView language, LanguageDisplay);
  20. Optional<String> region_display_name(StringView locale, StringView region);
  21. Optional<String> script_display_name(StringView locale, StringView script);
  22. Optional<String> calendar_display_name(StringView locale, StringView calendar);
  23. Optional<String> date_time_field_display_name(StringView locale, StringView field, Style);
  24. Optional<String> time_zone_display_name(StringView locale, StringView time_zone_identifier, TimeZone::InDST, double time);
  25. Optional<String> currency_display_name(StringView locale, StringView currency, Style);
  26. Optional<String> currency_numeric_display_name(StringView locale, StringView currency);
  27. }