public static ClimbingRound GetByLocalizedValue(string roundName, out int routeNumber, CultureInfo language = null)
        {
            if (string.IsNullOrEmpty(roundName))
            {
                throw new ArgumentNullException("roundName");
            }
            var qualiName = CommonTranslations.ResourceManager.GetString("Qualification", language);

            if (roundName.Contains(qualiName))
            {
                ClimbingRound result = ClimbingRound.Qualification;
                roundName = roundName.Replace(qualiName, string.Empty).Trim();

                if (int.TryParse(roundName, out routeNumber))
                {
                    result = result | ClimbingRound.Route;
                }
                else
                {
                    routeNumber = 0;
                }
                return(result);
            }

            routeNumber = 0;
            return(Extensions.StringExtensions.GetEnumByStringValue(roundName, ClimbingRound.Final, language));
        }
 public static String GetLocalizedValue(this ClimbingRound round, int routeNumber = 0, CultureInfo language = null)
 {
     if ((round & ClimbingRound.Route) == ClimbingRound.Route)
     {
         return(String.Format("{0} {1} {2}", (round & (~ClimbingRound.Route)).EnumFriendlyValue(language), ClimbingRound.Route.EnumFriendlyValue(language), routeNumber));
     }
     else
     {
         return(round.EnumFriendlyValue(language));
     }
 }