32 virtual ~I18n() =
default;
34 virtual void clearLanguages() = 0;
36 virtual ::std::vector<::std::string> findAvailableLanguages(
::ResourcePackManager& resourcePackManager) = 0;
38 virtual ::std::unordered_map<::std::string, ::std::string>
41 virtual ::Bedrock::Threading::Async<void> loadLanguages(
43 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
44 ::std::string
const& initLang
49 virtual ::std::vector<::std::string> getLanguageCodesFromPack(
::PackAccessStrategy const& accessStrategy) = 0;
54 virtual void loadLanguageKeywordsFromPack(
57 ::std::vector<::std::string>
const& languageCodes,
58 ::std::optional<::std::vector<::std::string>>
const& additionalLocKeys
61 virtual void appendLanguageStringsFromPack(
63 ::std::multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& localizationMapping
66 virtual ::std::unordered_map<::std::string, ::std::string>
67 getLanguageKeywordsFromPack(
::PackManifest const& manifest, ::std::string
const& keyword) = 0;
69 virtual void loadLangaugesByLocale(
70 ::std::unordered_multimap<::std::string, ::std::pair<::std::string, ::std::string>>
const& storeLocalization
73 virtual void appendAdditionalTranslations(
74 ::std::unordered_map<::std::string, ::std::string>
const& translations,
75 ::std::string
const& keyPrefix
82 virtual void chooseLanguage(::std::string
const&
code) = 0;
85 get(::std::string
const&
id,
86 ::std::vector<::std::string>
const& params,
87 ::std::shared_ptr<::Localization const>
const locale) = 0;
90 get(::std::string
const& langString, ::std::shared_ptr<::Localization const>
const locale) = 0;
92 virtual ::std::string getPackKeywordValue(
::PackManifest const& manifest, ::std::string
const& key) = 0;
94 virtual ::std::string getPackKeywordValueForTelemetry(
::PackManifest const& manifest, ::std::string
const& key) = 0;
96 virtual bool hasPackKeyEntry(
::PackManifest const& manifest, ::std::string
const& key) = 0;
98 virtual ::std::vector<::std::string>
const& getSupportedLanguageCodes() = 0;
100 virtual ::std::string
const& getLanguageName(::std::string
const&
code) = 0;
102 virtual ::std::shared_ptr<::Localization const>
const getLocaleFor(::std::string
const&
code) = 0;
104 virtual ::std::string
const& getLocaleCodeFor(::std::string
const&
code) = 0;
106 virtual ::gsl::not_null<::std::shared_ptr<::Localization const>> getCurrentLanguage() = 0;
108 virtual bool languageSupportsHypenSplitting() = 0;
110 virtual ::std::string
111 getLocalizedAssetFileWithFallback(::std::string
const& fileNamePrefix, ::std::string
const& fileNameSuffix) = 0;
113 virtual bool isPackKeyword(::std::string
const& key) = 0;