LeviLamina
Loading...
Searching...
No Matches
I18n.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/threading/Async.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8
9// auto generated forward declare list
10// clang-format off
11class I18nObserver;
12class Localization;
14class PackManifest;
17// clang-format on
18
19class I18n {
20public:
21 // virtual functions
22 // NOLINTBEGIN
23 virtual ~I18n();
24
25 virtual void clearLanguages() = 0;
26
27 virtual ::std::vector<::std::string> findAvailableLanguages(::ResourcePackManager& resourcePackManager) = 0;
28
29 virtual ::std::unordered_map<::std::string, ::std::string>
30 findAvailableLanguageNames(::ResourcePackManager& resourcePackManager) = 0;
31
32 virtual ::Bedrock::Threading::Async<void> loadLanguages(
33 ::ResourcePackManager& resourcePackManager,
34 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
35 ::std::string const& initLang
36 ) = 0;
37
38 virtual void loadAllLanguages(::ResourcePackManager& resourcePackManager) = 0;
39
40 virtual ::std::vector<::std::string> getLanguageCodesFromPack(::PackAccessStrategy const& accessStrategy) = 0;
41
42 virtual void
43 loadLanguageKeywordsFromPack(::PackManifest const& manifest, ::PackAccessStrategy const& accessStrategy) = 0;
44
45 virtual void loadLanguageKeywordsFromPack(
46 ::PackManifest const& manifest,
47 ::PackAccessStrategy const& accessStrategy,
48 ::std::vector<::std::string> const& languageCodes,
49 ::std::optional<::std::vector<::std::string>> const& additionalLocKeys
50 ) = 0;
51
52 virtual void appendLanguageStringsFromPack(
53 ::PackManifest const& manifest,
54 ::std::multimap<::std::string, ::std::pair<::std::string, ::std::string>> const& localizationMapping
55 ) = 0;
56
57 virtual ::std::unordered_map<::std::string, ::std::string>
58 getLanguageKeywordsFromPack(::PackManifest const& manifest, ::std::string const& keyword) = 0;
59
60 virtual void loadLangaugesByLocale(
61 ::std::unordered_multimap<::std::string, ::std::pair<::std::string, ::std::string>> const& storeLocalization
62 ) = 0;
63
64 virtual void appendAdditionalTranslations(
65 ::std::unordered_map<::std::string, ::std::string> const& translations,
66 ::std::string const& keyPrefix
67 ) = 0;
68
69 virtual void appendLanguageStrings(::PackAccessStrategy* accessStrategy) = 0;
70
71 virtual void addI18nObserver(::I18nObserver& observer) = 0;
72
73 virtual void chooseLanguage(::std::string const& code) = 0;
74
75 virtual ::std::string
76 get(::std::string const& id,
77 ::std::vector<::std::string> const& params,
78 ::std::shared_ptr<::Localization const> const locale) = 0;
79
80 virtual ::std::string
81 get(::std::string const& langString, ::std::shared_ptr<::Localization const> const locale) = 0;
82
83 virtual ::std::string getPackKeywordValue(::PackManifest const& manifest, ::std::string const& key) = 0;
84
85 virtual ::std::string getPackKeywordValueForTelemetry(::PackManifest const& manifest, ::std::string const& key) = 0;
86
87 virtual bool hasPackKeyEntry(::PackManifest const& manifest, ::std::string const& key) = 0;
88
89 virtual ::std::vector<::std::string> const& getSupportedLanguageCodes() = 0;
90
91 virtual ::std::string const& getLanguageName(::std::string const& code) = 0;
92
93 virtual ::std::shared_ptr<::Localization const> const getLocaleFor(::std::string const& code) = 0;
94
95 virtual ::std::string const& getLocaleCodeFor(::std::string const& code) = 0;
96
97 virtual ::gsl::not_null<::std::shared_ptr<::Localization const>> getCurrentLanguage() = 0;
98
99 virtual bool languageSupportsHypenSplitting() = 0;
100
101 virtual ::std::string
102 getLocalizedAssetFileWithFallback(::std::string const& fileNamePrefix, ::std::string const& fileNameSuffix) = 0;
103
104 virtual bool isPackKeyword(::std::string const& key) = 0;
105 // NOLINTEND
106
107public:
108 // static variables
109 // NOLINTBEGIN
110 MCAPI static ::std::add_lvalue_reference_t<char const[]> NeutralLangCode();
111 // NOLINTEND
112
113public:
114 // destructor thunk
115 // NOLINTBEGIN
116 MCAPI void $dtor();
117 // NOLINTEND
118
119public:
120 // virtual function thunks
121 // NOLINTBEGIN
122
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
128 MCNAPI static void** $vftable();
129 // NOLINTEND
130};
131
132MCAPI I18n& getI18n();
Definition I18nObserver.h:14
Definition I18n.h:19
static MCAPI void ** $vftable()
Definition Localization.h:15
Definition PackAccessStrategy.h:21
Definition PackManifest.h:37
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:30
Definition code.h:5