//============================================================================= /// Locale: Locale management class. /// Not yet implemented. /// This is a built-in Unreal class and it shouldn't be modified. //============================================================================= class Locale extends Object transient; /* // // Information about this locale. // //!!System.GetLocale( language, variant, local ) ///@reference: !!look at java getISO3Language for std 3-char language abbreviations var const string ISO3Language; var const localized string DisplayLanguage; // // Locale language support. // /// Returns the currently active language's ISO 3 language code. native function string GetLanguage(); /// Returns the localized, human-readable display name of the ISO 3 language code Language. native function string GetDisplayLanguage( string Language ); /// Set the current ISO 3 language. Causes all class' and objects' localized variables to be reloaded. native function bool SetLanguage( string NewLanguage ); // // Locale string processing. // /// Convert to locale-specific uppercase. function string ToUpper( string S ); /// Convert to locale-specific lowercase. function string ToLower( string S ); /// Compare two strings using locale-specific sorting. function int Compare( string A, string B ); // // Locale number and currency handling. // /// Leading and trailing percentage symbols. var const localized string PrePercent, PostPercent; /// Leading and trailing currency symbols. var const localized string PreCurrencySymbol, PostCurrencySymbol; /// Percentage scale, i.e. 100 for 100%. var const localized int PercentScaler; /// Number of digits between "thousands" delimitor. var const localized int ThousandsCount, ThousandsCountCurrency; /// Positive and negative currency indicators. var const localized string PrePositiveCurrency, PostPositiveCurrency, PreNegativeCurrency, PostNegativeCurrency; // Thousands delimitor. var const localized string ThousandsDelimitor, ThousandsDelimitorCurrency; // Decimal point. var const localized string Decimal, DecimalCurrency; // Decimal count. var const localized int DecimalCount; /// Convert a float number to a string using the locale's formatting instructions. function string NumberToString( float Number ); /// Convert a float number to a currency string using the locale's formatting instructions. function string CurrencyToString( float Currency ); /// Convert a fraction from 0.0-1.0 to a percentage string. function string PercentToString( float Fraction ) { return PrePercent $ int(Fraction * PercentScaler) $ PostPercent; } // // Locale date and time support. // /// Human readable names of months. var const localized string Months[12]; /// Human readable names of days-of-week. var const localized string DaysOfWeek[7]; /// Human-readable AM/PM. var const localized string AMPM[2]; /// Whether to display AM/PM, otherwise uses 24-hour notation. var const localized ShowAMPM; /// List of TimeToMap fields which should be exposed for editing in this locale. var const localized array EditableTimeFields; /// Format string for generating human-readable time in AM/PM and 24-hour formats; /// may be ignored by Locale subclasses who display times using a different calendar, /// for example Chinese. var const localized string TimeFormatAMPM, TimeFormat24Hour, BriefTimeFormatAMPM, BriefTimeFormat24Hour, CountdownTimeFormat; /// Format string for generating human-readable dates. var const localized string DateFormat; /// Return a map containing time parameters suitable for formatting. function map DateTimeToMap( long T ) { local map M; M.Set("Year", Time.GetYear(T)); M.Set("Month", Time.GetMonth(T)); M.Set("MonthName", Months(Time.GetMonth(T))); M.Set("Day", Time.GetDay(T)); M.Set("DayName", DaysOfWeek(Time.GetDay(T))); M.Set("Hour24", Time.GetHour(T)); M.Set("Hour12", Time.GetHour(T)%12); M.Set("AMPM", AMPM(Time.GetHour(T)/12); M.Set("Minute", Time.GetMinute(T)); M.Set("Second", Time.GetSecond(T)); M.Set("MSec", Time.GetMSec(T)); M.Set("USec", Time.GetUSec(T)); M.Set("NSec", Time.GetNSec(T)); return M; } /// Convert a map of TimeToMap key-values to a time; returns true if successful. function bool MapToDateTime( map Map, out long T ) { //!! } /// Converts the time to a human-readable string, depending on the current locale. function string TimeToString( long T, bool Brief, bool Countdown ) { local string S; if( Brief ) { if( ShowAMPM ) S = BriefTimeFormatAMPM; else S = BriefTimeFormat24Hour, } else if( !Countdown ) { if( ShowAMPM ) S = TimeFormatAMPM; else S = TimeFormat24Hour, } else { S = CountdownTimeFormat; } return string.Format( S, DateTimeToMap(T) ); } // Convert the date to a human-readable string, depending on the current locale. function string DateToString( long T ) { return string.Format( DateFormat, DateTimeToMap(T) ); } _defaultproperties { Months(0)=January Months(1)=February Months(2)=March Months(3)=April Months(4)=May Months(5)=June Months(6)=July Months(7)=August Months(8)=September Months(9)=October Months(10)=November Months(11)=December DaysOfWeek(0)=Sunday DaysOfWeek(1)=Monday DaysOfWeek(2)=Tuesday DaysOfWeek(3)=Wednesday DaysOfWeek(4)=Thursday DaysOfWeek(5)=Friday DaysOfWeek(6)=Saturday AMPM(0)=AM AMPM(1)=PM TimeFormatAMPM=%Hour12:02%.%Minute:02%.%Seconds:02% %AMPM% TimeFormat24Hour=%Hour24:02%.%Minute:02%.%Seconds:02% BriefTimeFormatAMPM=%Hour12:02%.%Minute:02% %AMPM% BriefTimeFormat24Hour=%Hour24:02%.%Minute:02% CountdownTimeFormat=%Hour24:02%.%Minute:02%.%Seconds:02% DateFormat=%DayName% %MonthName% %Day%, %Year% EditableTimeFields(0)=Year EditableTimeFields(1)=Month EditableTimeFields(2)=Day EditableTimeFields(3)=Hour12 EditableTimeFields(4)=AMPM EditableTimeFields(5)=Minute EditableTimeFields(6)=Second PreCurrencySymbol=$ PostCurrencySymbol= PrePercent= PostPercent=% PercentScaler=100 ThousandsCount=1000 ThousandsCountCurrency=1000 ThousandsDelimitor="," ThousandsDelimitorCurrency="," Decimal="." DecimalCurrency="." PrePositiveCurrency= PostPositiveCurrency= PreNegativeCurrency=- PostNegativeCurrency= DecimalCount=2 } */