internal override LocalizedString When()
        {
            LocalizedString result;

            if (base.RecurrenceInterval == 1)
            {
                if (base.RecurrenceObjectType == RecurrenceObjectType.CalendarRecurrence)
                {
                    result = ClientStrings.CalendarWhenWeeklyEveryWeek(new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
                }
                else
                {
                    result = ClientStrings.TaskWhenWeeklyEveryWeek(new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
                }
            }
            else if (base.RecurrenceInterval == 2)
            {
                if (base.RecurrenceObjectType == RecurrenceObjectType.CalendarRecurrence)
                {
                    result = ClientStrings.CalendarWhenWeeklyEveryAlterateWeek(new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
                }
                else
                {
                    result = ClientStrings.TaskWhenWeeklyEveryAlterateWeek(new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
                }
            }
            else if (base.RecurrenceObjectType == RecurrenceObjectType.CalendarRecurrence)
            {
                result = ClientStrings.CalendarWhenWeeklyEveryNWeeks(base.RecurrenceInterval, new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
            }
            else
            {
                result = ClientStrings.TaskWhenWeeklyEveryNWeeks(base.RecurrenceInterval, new LocalizedDaysOfWeek(this.DaysOfWeek, this.FirstDayOfWeek));
            }
            return(result);
        }