lang_keys.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #pragma once
  8. #include "lang_auto.h"
  9. #include "lang/lang_hardcoded.h"
  10. #include "lang/lang_text_entity.h"
  11. #include <QDateTime>
  12. [[nodiscard]] QString langDayOfMonth(const QDate &date);
  13. [[nodiscard]] QString langDayOfMonthFull(const QDate &date);
  14. [[nodiscard]] QString langMonthOfYear(int month, int year);
  15. [[nodiscard]] QString langMonth(const QDate &date);
  16. [[nodiscard]] QString langMonthOfYearFull(int month, int year);
  17. [[nodiscard]] QString langMonthFull(const QDate &date);
  18. [[nodiscard]] QString langDayOfWeek(int index);
  19. [[nodiscard]] inline QString langDayOfWeek(const QDate &date) {
  20. return langDayOfWeek(date.dayOfWeek());
  21. }
  22. [[nodiscard]] QString langDateTime(const QDateTime &date);
  23. [[nodiscard]] QString langDateTimeFull(const QDateTime &date);
  24. [[nodiscard]] bool langFirstNameGoesSecond();
  25. namespace Lang {
  26. [[nodiscard]] QString Id();
  27. [[nodiscard]] rpl::producer<> Updated();
  28. [[nodiscard]] QString GetNonDefaultValue(const QByteArray &key);
  29. [[nodiscard]] QString DefaultLanguageId();
  30. [[nodiscard]] QString LanguageIdOrDefault(const QString &id);
  31. [[nodiscard]] tr::phrase<> Month(int index);
  32. [[nodiscard]] tr::phrase<> MonthSmall(int index);
  33. [[nodiscard]] tr::phrase<> MonthDay(int index);
  34. [[nodiscard]] tr::phrase<> Weekday(int index);
  35. } // namespace Lang