36 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Localization>> mCurrentLanguage;
37 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Localization>> mCurrentPackMetaLanguage;
47 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Localization const>> mEmptyLanguage;
48 ::ll::TypedStorage<8, 40, ::Bedrock::Threading::SharedLockbox<::I18nImpl::CurrentLanguageInfo, ::std::shared_mutex>>
50 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::Localization>>> mLanguages;
51 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLanguageCodes;
52 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::string>> mLanguageNames;
53 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::Localization>>> mPackKeywordLanguages;
54 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>
const> mPackReservedKeys;
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::vector<::std::string>>> mFormatDictionary;
56 ::ll::TypedStorage<1, 1, bool> mLanguageSupportsHypenSplitting;
57 ::ll::TypedStorage<8, 8, ::ResourcePackManager*> mResourcePackManager;
58 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mAdditionalTranslationsBackupMutex;
59 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::Localization>>> mAdditionalTranslationsBackup;
60 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mLocalizationMutex;
61 ::ll::TypedStorage<8, 104, ::Core::Subject<::I18nObserver, ::Bedrock::Threading::Mutex>> mSubject;
68 virtual void clearLanguages() ;
71 virtual ::std::vector<::std::string>
75 virtual ::std::unordered_map<::std::string, ::std::string>
79 virtual void loadLanguages(
81 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
82 ::std::string
const& initLang
89 virtual ::std::vector<::std::string>
93 virtual void loadLanguageKeywordsFromPack(
99 virtual void loadLanguageKeywordsFromPack(
102 ::std::vector<::std::string>
const& languageCodes
106 virtual void appendLanguageStringsFromPack(
108 ::std::multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& localizationMapping
112 virtual ::std::unordered_map<::std::string, ::std::string>
113 getLanguageKeywordsFromPack(
::PackManifest const& manifest, ::std::string
const& keyword) ;
116 virtual void loadLangaugesByLocale(
117 ::std::unordered_multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& storeLocalization
121 virtual void appendAdditionalTranslations(
122 ::std::unordered_map<::std::string, ::std::string>
const& translations,
123 ::std::string
const& keyPrefix
133 virtual void chooseLanguage(::std::string
const&
code) ;
136 virtual ::std::string
137 get(::std::string
const&
id,
138 ::std::vector<::std::string>
const& params,
139 ::std::shared_ptr<::Localization>
const locale) ;
142 virtual ::std::string
143 get(::std::string
const& langString, ::std::shared_ptr<::Localization>
const locale) ;
146 virtual ::std::string getPackKeywordValue(
::PackManifest const& manifest, ::std::string
const& key) ;
149 virtual ::std::string
150 getPackKeywordValueForTelemetry(
::PackManifest const& manifest, ::std::string
const& key) ;
153 virtual bool hasPackKeyEntry(
::PackManifest const& manifest, ::std::string
const& key) ;
156 virtual ::std::vector<::std::string>
const& getSupportedLanguageCodes() ;
159 virtual ::std::string
const& getLanguageName(::std::string
const&
code) ;
162 virtual ::std::shared_ptr<::Localization>
const getLocaleFor(::std::string
const&
code) ;
165 virtual ::std::string
const& getLocaleCodeFor(::std::string
const&
code) ;
168 virtual ::gsl::not_null<::std::shared_ptr<::Localization const>> getCurrentLanguage() ;
171 virtual bool languageSupportsHypenSplitting() ;
174 virtual ::std::string getLocalizedAssetFileWithFallback(
175 ::std::string
const& fileNamePrefix,
176 ::std::string
const& fileNameSuffix
180 virtual bool isPackKeyword(::std::string
const& key) ;
191 MCAPI
void _chooseLanguage(::std::shared_ptr<::Localization>
const& chosen);
193 MCAPI
void _findAvailableLanguageNames(
195 ::std::unordered_map<::std::string, ::std::string>& destination
198 MCAPI
void _findAvailableLanguages(
::Json::Value const& root, ::std::vector<::std::string>& destination);
200 MCAPI ::std::shared_ptr<::Localization> _findLocaleFor(::std::string
const&
code);
202 MCAPI ::std::string _generatePackKeyPrefix(
::PackManifest const& manifest);
204 MCAPI ::std::string& _getLocaleCodeFor(::std::string
const&
code);
206 MCAPI ::gsl::not_null<::std::shared_ptr<::Localization>> _getPackKeywordLocale(::std::string
const& langCode);
208 MCAPI
void _notifyLanguagesLoaded();
226 MCAPI
void $clearLanguages();
228 MCAPI ::std::vector<::std::string> $findAvailableLanguages(
::ResourcePackManager& resourcePackManager);
230 MCAPI ::std::unordered_map<::std::string, ::std::string>
233 MCAPI
void $loadLanguages(
235 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
236 ::std::string
const& initLang
241 MCAPI ::std::vector<::std::string> $getLanguageCodesFromPack(
::PackAccessStrategy const& accessStrategy);
246 MCAPI
void $loadLanguageKeywordsFromPack(
249 ::std::vector<::std::string>
const& languageCodes
252 MCAPI
void $appendLanguageStringsFromPack(
254 ::std::multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& localizationMapping
257 MCAPI ::std::unordered_map<::std::string, ::std::string>
258 $getLanguageKeywordsFromPack(
::PackManifest const& manifest, ::std::string
const& keyword);
260 MCAPI
void $loadLangaugesByLocale(
261 ::std::unordered_multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& storeLocalization
264 MCAPI
void $appendAdditionalTranslations(
265 ::std::unordered_map<::std::string, ::std::string>
const& translations,
266 ::std::string
const& keyPrefix
273 MCAPI
void $chooseLanguage(::std::string
const&
code);
275 MCAPI ::std::string $get(
276 ::std::string
const&
id,
277 ::std::vector<::std::string>
const& params,
278 ::std::shared_ptr<::Localization>
const locale
281 MCAPI ::std::string $get(::std::string
const& langString, ::std::shared_ptr<::Localization>
const locale);
283 MCAPI ::std::string $getPackKeywordValue(
::PackManifest const& manifest, ::std::string
const& key);
285 MCAPI ::std::string $getPackKeywordValueForTelemetry(
::PackManifest const& manifest, ::std::string
const& key);
287 MCAPI
bool $hasPackKeyEntry(
::PackManifest const& manifest, ::std::string
const& key);
289 MCFOLD ::std::vector<::std::string>
const& $getSupportedLanguageCodes();
291 MCAPI ::std::string
const& $getLanguageName(::std::string
const&
code);
293 MCAPI ::std::shared_ptr<::Localization>
const $getLocaleFor(::std::string
const&
code);
295 MCAPI ::std::string
const& $getLocaleCodeFor(::std::string
const&
code);
297 MCAPI ::gsl::not_null<::std::shared_ptr<::Localization const>> $getCurrentLanguage();
299 MCAPI
bool $languageSupportsHypenSplitting();
302 $getLocalizedAssetFileWithFallback(::std::string
const& fileNamePrefix, ::std::string
const& fileNameSuffix);
304 MCAPI
bool $isPackKeyword(::std::string
const& key);