final abstract class UILocalizationHelper
{

	public static function GetStatNameLockey( statRecord : weak< Stat_Record > ) : String
	{
		var statType : gamedataStatType;
		var lockey : String;
		var proficiencyRecord : weak< Proficiency_Record >;
		statType = statRecord.StatType();
		if( IsStatProficiency( statType ) )
		{
			proficiencyRecord = TweakDBInterface.GetProficiencyRecord( TDBID.Create( "Proficiencies." + EnumValueToString( "gamedataStatType", ( ( Int32 )( statType ) ) ) ) );
			if( proficiencyRecord )
			{
				lockey = proficiencyRecord.Loc_name_key();
				if( IsStringValid( lockey ) )
				{
					return lockey;
				}
			}
		}
		return statRecord.LocalizedName();
	}

	private static function IsStatProficiency( statType : gamedataStatType ) : Bool
	{
		return ( ( ( ( ( ( ( ( ( ( ( statType == gamedataStatType.Level || statType == gamedataStatType.StreetCred ) || statType == gamedataStatType.Gunslinger ) || statType == gamedataStatType.Assault ) || statType == gamedataStatType.Demolition ) || statType == gamedataStatType.Athletics ) || statType == gamedataStatType.Brawling ) || statType == gamedataStatType.ColdBlood ) || statType == gamedataStatType.Stealth ) || statType == gamedataStatType.Engineering ) || statType == gamedataStatType.Crafting ) || statType == gamedataStatType.Hacking ) || statType == gamedataStatType.CombatHacking;
	}

	public static function GetSystemBaseUnit() : EMeasurementUnit
	{
		var measurementSystem : EMeasurementSystem;
		measurementSystem = MeasurementUtils.GetPlayerSettingSystem();
		switch( measurementSystem )
		{
			case EMeasurementSystem.Metric:
				return EMeasurementUnit.Meter;
			case EMeasurementSystem.Imperial:
				return EMeasurementUnit.Feet;
		}
		return EMeasurementUnit.Meter;
	}

}

