UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LegacyCulture.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreTypes.h"
6#include "Containers/Map.h"
12
13#if !UE_ENABLE_ICU
15
17{
18 friend class FCulture;
19
20public:
22 const FText& InDisplayName,
23 const FString& InEnglishName,
24 const int InKeyboardLayoutId,
25 const int InLCID,
26 const FString& InName,
27 const FString& InNativeName,
29 const FString& InThreeLetterISOLanguageName,
30 const FString& InTwoLetterISOLanguageName,
35 );
36 virtual ~FLegacyCultureImplementation() = default;
37
38 //~ ICultureImplementation interface
39 virtual FString GetDisplayName() const override;
40 virtual FString GetEnglishName() const override;
41 virtual int GetKeyboardLayoutId() const override;
42 virtual int GetLCID() const override;
43 virtual FString GetName() const override;
44 virtual FString GetNativeName() const override;
45 virtual FString GetUnrealLegacyThreeLetterISOLanguageName() const override;
46 virtual FString GetThreeLetterISOLanguageName() const override;
47 virtual FString GetTwoLetterISOLanguageName() const override;
48 virtual FString GetNativeLanguage() const override;
49 virtual FString GetNativeRegion() const override;
50 virtual FString GetRegion() const override;
51 virtual FString GetScript() const override;
52 virtual FString GetVariant() const override;
53 virtual bool IsRightToLeft() const override;
56 virtual const FDecimalNumberFormattingRules& GetCurrencyFormattingRules(const FString& InCurrencyCode) override;
57 virtual ETextPluralForm GetPluralForm(int32 Val, const ETextPluralType PluralType) const override;
58 virtual ETextPluralForm GetPluralForm(double Val, const ETextPluralType PluralType) const override;
59 virtual const TArray<ETextPluralForm>& GetValidPluralForms(const ETextPluralType PluralType) const override;
60
61 static FString GetCanonicalName(const FString& Name, FInternationalization& I18N);
62
63private:
64 // Full localized culture name
65 const FText DisplayName;
66
67 // The English name of the culture in format languagefull [country/regionfull]
68 const FString EnglishName;
69
70 // Keyboard input locale id
71 const int KeyboardLayoutId;
72
73 // id for this Culture
74 const int LCID;
75
76 // Name of the culture in languagecode2-country/regioncode2 format
77 const FString Name;
78
79 // The culture name, consisting of the language, the country/region, and the optional script
80 const FString NativeName;
81
82 // ISO 639-2 three letter code of the language - for the purpose of supporting legacy Unreal documentation.
83 const FString UnrealLegacyThreeLetterISOLanguageName;
84
85 // ISO 639-2 three letter code of the language
86 const FString ThreeLetterISOLanguageName;
87
88 // ISO 639-1 two letter code of the language
89 const FString TwoLetterISOLanguageName;
90
91 // Rules for formatting decimal numbers in this culture
92 const FDecimalNumberFormattingRules DecimalNumberFormattingRules;
93
94 // Rules for formatting percentile numbers in this culture
95 const FDecimalNumberFormattingRules PercentFormattingRules;
96
97 // Rules for formatting currency numbers in this culture
98 const FDecimalNumberFormattingRules BaseCurrencyFormattingRules;
99
100 // Is this culture right to left?
101 const bool bIsRightToLeft;
102
103 // Rules for formatting alternate currencies in this culture
104 TMap<FString, TSharedPtr<const FDecimalNumberFormattingRules>> UEAlternateCurrencyFormattingRules;
105 FTransactionallySafeCriticalSection UEAlternateCurrencyFormattingRulesCS;
106};
107#endif
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETextPluralType
Definition Text.h:95
ETextPluralForm
Definition Text.h:101
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
Definition Culture.h:31
Definition Internationalization.h:24
Definition LegacyCulture.h:17
static FString GetCanonicalName(const FString &Name, FInternationalization &I18N)
Definition LegacyCulture.cpp:66
virtual FString GetNativeRegion() const override
Definition LegacyCulture.cpp:91
virtual FString GetThreeLetterISOLanguageName() const override
Definition LegacyCulture.cpp:127
virtual bool IsRightToLeft() const override
Definition LegacyCulture.cpp:117
virtual int GetKeyboardLayoutId() const override
Definition LegacyCulture.cpp:51
virtual FString GetVariant() const override
Definition LegacyCulture.cpp:112
virtual FString GetTwoLetterISOLanguageName() const override
Definition LegacyCulture.cpp:132
virtual FString GetDisplayName() const override
Definition LegacyCulture.cpp:41
virtual FString GetUnrealLegacyThreeLetterISOLanguageName() const override
Definition LegacyCulture.cpp:122
virtual const FDecimalNumberFormattingRules & GetCurrencyFormattingRules(const FString &InCurrencyCode) override
Definition LegacyCulture.cpp:147
virtual FString GetNativeLanguage() const override
Definition LegacyCulture.cpp:80
virtual FString GetNativeName() const override
Definition LegacyCulture.cpp:75
virtual FString GetScript() const override
Definition LegacyCulture.cpp:107
virtual int GetLCID() const override
Definition LegacyCulture.cpp:56
virtual const FDecimalNumberFormattingRules & GetPercentFormattingRules() override
Definition LegacyCulture.cpp:142
virtual FString GetName() const override
Definition LegacyCulture.cpp:61
virtual const TArray< ETextPluralForm > & GetValidPluralForms(const ETextPluralType PluralType) const override
Definition LegacyCulture.cpp:233
virtual ~FLegacyCultureImplementation()=default
virtual FString GetEnglishName() const override
Definition LegacyCulture.cpp:46
virtual const FDecimalNumberFormattingRules & GetDecimalNumberFormattingRules() override
Definition LegacyCulture.cpp:137
virtual ETextPluralForm GetPluralForm(int32 Val, const ETextPluralType PluralType) const override
Definition LegacyCulture.cpp:221
virtual FString GetRegion() const override
Definition LegacyCulture.cpp:102
Definition Text.h:385
Definition CultureImplementation.h:18
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition FastDecimalFormat.h:16