4#include "Containers/Array.h"
16#define LOC_DEFINE_REGION
35 UE_DEPRECATED(5.5,
"FInternationalization::ForUseOnlyByLocMacroAndGraphNodeTextLiterals_CreateText is deprecated in favor of FText::AsLocalizable_Advanced (NOTE: FText::AsLocalizable_Advanced takes its arguments in a different order!).")
194#if ENABLE_LOC_TESTING
207 UE_DEPRECATED(4.20,
"FInternationalization::GetCulturesWithAvailableLocalization is deprecated in favor of calling FTextLocalizationManager::GetLocalizedCultureNames, potentially followed by FInternationalization::GetAvailableCultures")
222 void BroadcastCultureChanged() { CultureChangedEvent.Broadcast(); }
228 bool bIsInitialized =
false;
289#undef LOCTEXT_NAMESPACE
295#define LOCTEXT(InKey, InTextLiteral) FText::AsLocalizable_Advanced_LocText(TEXT(LOCTEXT_NAMESPACE), TEXT(InKey), TEXT(InTextLiteral))
300#define NSLOCTEXT(InNamespace, InKey, InTextLiteral) FText::AsLocalizable_Advanced_LocText(TEXT(InNamespace), TEXT(InKey), TEXT(InTextLiteral))
305#define INVTEXT(InTextLiteral) FText::AsCultureInvariant(TEXT(InTextLiteral))
314#define LOCGEN_NUMBER(InNum, InCulture) FText::AsNumber(InNum, nullptr, UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
315#define LOCGEN_NUMBER_GROUPED(InNum, InCulture) FText::AsNumber(InNum, &FNumberFormattingOptions::DefaultWithGrouping(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
316#define LOCGEN_NUMBER_UNGROUPED(InNum, InCulture) FText::AsNumber(InNum, &FNumberFormattingOptions::DefaultNoGrouping(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
317#define LOCGEN_NUMBER_CUSTOM(InNum, InOpts, InCulture) FText::AsNumber(InNum, &FNumberFormattingOptions().InOpts, UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
326#define LOCGEN_PERCENT(InNum, InCulture) FText::AsPercent(InNum, nullptr, UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
327#define LOCGEN_PERCENT_GROUPED(InNum, InCulture) FText::AsPercent(InNum, &FNumberFormattingOptions::DefaultWithGrouping(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
328#define LOCGEN_PERCENT_UNGROUPED(InNum, InCulture) FText::AsPercent(InNum, &FNumberFormattingOptions::DefaultNoGrouping(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
329#define LOCGEN_PERCENT_CUSTOM(InNum, InOpts, InCulture) FText::AsPercent(InNum, &FNumberFormattingOptions().InOpts, UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
338#define LOCGEN_CURRENCY(InNum, InCurrency, InCulture) FText::AsCurrencyBase(InNum, TEXT(InCurrency), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
348#define LOCGEN_DATE_UTC(InUnixTime, InDateStyle, InTimeZone, InCulture) FText::AsDate(FDateTime::FromUnixTimestamp(InUnixTime), InDateStyle, TEXT(InTimeZone), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
349#define LOCGEN_DATE_LOCAL(InUnixTime, InDateStyle, InCulture) FText::AsDate(FDateTime::FromUnixTimestamp(InUnixTime), InDateStyle, FText::GetInvariantTimeZone(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
359#define LOCGEN_TIME_UTC(InUnixTime, InTimeStyle, InTimeZone, InCulture) FText::AsTime(FDateTime::FromUnixTimestamp(InUnixTime), InTimeStyle, TEXT(InTimeZone), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
360#define LOCGEN_TIME_LOCAL(InUnixTime, InTimeStyle, InCulture) FText::AsTime(FDateTime::FromUnixTimestamp(InUnixTime), InTimeStyle, FText::GetInvariantTimeZone(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
371#define LOCGEN_DATETIME_UTC(InUnixTime, InDateStyle, InTimeStyle, InTimeZone, InCulture) FText::AsDateTime(FDateTime::FromUnixTimestamp(InUnixTime), InDateStyle, InTimeStyle, TEXT(InTimeZone), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
372#define LOCGEN_DATETIME_LOCAL(InUnixTime, InDateStyle, InTimeStyle, InCulture) FText::AsDateTime(FDateTime::FromUnixTimestamp(InUnixTime), InDateStyle, InTimeStyle, FText::GetInvariantTimeZone(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
382#define LOCGEN_DATETIME_CUSTOM_UTC(InUnixTime, InPattern, InTimeZone, InCulture) FText::AsDateTime(FDateTime::FromUnixTimestamp(InUnixTime), TEXT(InPattern), TEXT(InTimeZone), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
383#define LOCGEN_DATETIME_CUSTOM_LOCAL(InUnixTime, InPattern, InCulture) FText::AsDateTime(FDateTime::FromUnixTimestamp(InUnixTime), TEXT(InPattern), FText::GetInvariantTimeZone(), UE::Private::LocGen::GetCultureByName(TEXT(InCulture)))
389#define LOCGEN_TOUPPER(InText) (InText).ToUpper()
395#define LOCGEN_TOLOWER(InText) (InText).ToLower()
401#define LOCGEN_FORMAT_ORDERED(InPattern, ...) FText::FormatOrdered(InPattern, __VA_ARGS__)
407#define LOCGEN_FORMAT_NAMED(InPattern, ...) FText::FormatNamed(InPattern, __VA_ARGS__)
409#undef LOC_DEFINE_REGION
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_EVENT(OwningType, EventName)
Definition DelegateCombinations.h:32
Definition Internationalization.h:24
CORE_API void LoadAllCultureData()
Definition Internationalization.cpp:410
CORE_API TArray< FCultureRef > GetAvailableCultures(const TArray< FString > &InCultureNames, const bool bIncludeDerivedCultures)
Definition Internationalization.cpp:466
CORE_API bool IsCultureRemapped(const FString &Name, FString *OutMappedCulture)
Definition Internationalization.cpp:430
CORE_API bool SetCurrentLanguage(const FString &InCultureName)
Definition Internationalization.cpp:58
CORE_API FCultureRef GetCurrentAssetGroupCulture(const FName &InAssetGroupName) const
Definition Internationalization.cpp:151
CORE_API bool SetCurrentAssetGroupCulture(const FName &InAssetGroupName, const FString &InCultureName)
Definition Internationalization.cpp:114
CORE_API bool IsCultureAllowed(const FString &Name)
Definition Internationalization.cpp:435
FCultureRef GetCurrentCulture() const
Definition Internationalization.h:63
FCultureRef GetCurrentLanguage() const
Definition Internationalization.h:77
FCultureRef GetCurrentLocale() const
Definition Internationalization.h:91
CORE_API TArray< FCultureRef > GetCurrentCultures(const bool bIncludeLanguage, const bool bIncludeLocale, const bool bIncludeAssetGroups) const
Definition Internationalization.cpp:171
FCultureRef GetDefaultCulture() const
Definition Internationalization.h:127
CORE_API void AddCustomCulture(const TSharedRef< ICustomCulture > &InCustomCulture)
Definition Internationalization.cpp:416
static CORE_API FInternationalization & Get()
Definition Internationalization.cpp:21
CORE_API void GetCultureNames(TArray< FString > &CultureNames) const
Definition Internationalization.cpp:450
CORE_API bool SetCurrentCulture(const FString &InCultureName)
Definition Internationalization.cpp:37
FCultureRef GetInvariantCulture() const
Definition Internationalization.h:151
static CORE_API bool IsAvailable()
Definition Internationalization.cpp:26
CORE_API void RestoreCultureState(const FCultureStateSnapshot &InSnapshot)
Definition Internationalization.cpp:208
CORE_API void GetCulturesWithAvailableLocalization(const TArray< FString > &InLocalizationPaths, TArray< FCultureRef > &OutAvailableCultures, const bool bIncludeDerivedCultures)
Definition Internationalization.cpp:460
bool IsInitialized() const
Definition Internationalization.h:171
FCultureChangedEvent & OnCultureChanged()
Definition Internationalization.h:215
CORE_API bool SetCurrentLanguageAndLocale(const FString &InCultureName)
Definition Internationalization.cpp:94
static UE_FORCEINLINE_HINT FText ForUseOnlyByLocMacroAndGraphNodeTextLiterals_CreateText(const TCHAR *InTextLiteral, const TCHAR *InNamespace, const TCHAR *InKey)
Definition Internationalization.h:36
CORE_API FCulturePtr GetCustomCulture(const FString &InCultureName) const
Definition Internationalization.cpp:421
static CORE_API void TearDown()
Definition Internationalization.cpp:32
FCultureRef GetDefaultLocale() const
Definition Internationalization.h:143
CORE_API void RefreshCachedConfigData()
Definition Internationalization.cpp:445
CORE_API void RefreshCultureDisplayNames(const TArray< FString > &InPrioritizedDisplayCultureNames)
Definition Internationalization.cpp:440
CORE_API TArray< FString > GetPrioritizedCultureNames(const FString &Name)
Definition Internationalization.cpp:455
CORE_API FCulturePtr GetCulture(const FString &InCultureName)
Definition Internationalization.cpp:265
CORE_API void ClearCurrentAssetGroupCulture(const FName &InAssetGroupName)
Definition Internationalization.cpp:163
FCultureRef GetDefaultLanguage() const
Definition Internationalization.h:135
CORE_API bool SetCurrentLocale(const FString &InCultureName)
Definition Internationalization.cpp:77
CORE_API void BackupCultureState(FCultureStateSnapshot &OutSnapshot) const
Definition Internationalization.cpp:196
Definition LazySingleton.h:9
Definition LegacyInternationalization.h:14
Definition NameTypes.h:617
Definition TextChronoFormatter.h:13
static CORE_API FText AsLocalizable_Advanced(const FTextKey &Namespace, const FTextKey &Key, const TCHAR *String)
Definition Text.cpp:1226
Definition ICustomCulture.h:13
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
Definition SharedPointer.h:153
Definition UniqueObj.h:13
Definition Internationalization.h:279
FCulturePtr GetCultureByName(const TCHAR *InCulture)
Definition Internationalization.h:280
Definition Internationalization.h:46
FString Language
Definition Internationalization.h:47
FString Locale
Definition Internationalization.h:48
TArray< TTuple< FName, FString > > AssetGroups
Definition Internationalization.h:49