                 .fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/)
                 .multilineTextAlignment(.leading)
                 .frame(maxWidth: .infinity, alignment: .leading)
-    //            let yearsString = String(format: WMFLocalizedString("on-this-day-detail-header-date-range", language: language, value:"from %1$@ - %2$@", comment:"Text for 'On this day' detail view events 'year range' label - %1$@ is replaced with string version of the oldest event year - i.e. '300 BC', %2$@ is replaced with string version of the most recent event year - i.e. '2006', "), locale: locale, lastEventEraString, firstEventEraString)
-
-            Text(verbatim: "\(minYear) - \(maxYear)")
+
+            Text(String(format: WMFLocalizedString("on-this-day-detail-header-date-range", language: nil, value:"from %1$@ - %2$@", comment:"Text for 'On this day' detail view events 'year range' label - %1$@ is replaced with string version of the oldest event year - i.e. '300 BC', %2$@ is replaced with string version of the most recent event year - i.e. '2006', "), locale: nil, minYear, maxYear))
                 .foregroundColor(OnThisDayColors.grayColor(colorScheme))
                 .font(.subheadline)
                 .bold()

}

struct MainOnThisDayElement: View {
    var eventYear: Int
    var snippet: String?
    var widgetSize: WidgetFamily

    /// For unknown reasons, the layout of the `TimelineView` for a large widget is different from the rest. (A larger comment is above.) One side affect is that (as of iOS 14, beta 6) the large dot is not properly centered on the large widget. This `isLargeWidget` boolean allows us to manually correct for the error.

    var body: some View {
        VStack(spacing: 0) {
            MainOnThisDayTopElement(eventYear: eventYear, widgetSize: widgetSize)
            if let snippet = snippet {
                TimelineView(dotStyle: .none, isLineTopFaded: false, isLineBottomFaded: false, mainView:
                        Text(snippet)
                            .font(.caption)
                            .frame(maxWidth: .infinity, alignment: .leading)
                            .padding(.top, 9)
                ).layoutPriority(1.0)
            }
        }.layoutPriority(1.0)

    var isLineBottomFaded: Bool
    var mainView: Content

    var gradient: LinearGradient {
        if isLineTopFaded {
            let colorGradient = Gradient(stops: [
                Gradient.Stop(color: OnThisDayColors.widgetBackgroundColor(colorScheme), location: 0),
                Gradient.Stop(color: OnThisDayColors.blueColor(colorScheme), location: 0.65)
            ])
            return LinearGradient(gradient: colorGradient, startPoint: .top, endPoint: .bottom)
        // No bottom gradient on large widgets. See Phab for details: INSERT PHAB HERE
        } else if isLineBottomFaded && widgetSize != .systemLarge {
            let colorGradient = Gradient(stops: [
                // Small widgets have a much larger final section, and thus gradient starts later.
                Gradient.Stop(color: OnThisDayColors.blueColor(colorScheme), location: (widgetSize == .systemSmall ? 0.75 : 0.45)),
                Gradient.Stop(color: OnThisDayColors.widgetBackgroundColor(colorScheme), location: 1.0)
            ])
            return LinearGradient(gradient: colorGradient, startPoint: .top, endPoint: .bottom)
        } else {
            // plain blue
            return LinearGradient(gradient: Gradient(colors: [OnThisDayColors.blueColor(colorScheme)]), startPoint: .top, endPoint: .bottom)
        }
    }

    var body: some View {
        let lineWidth: CGFloat = 1
        HStack(alignment: .top) {
            ZStack(alignment: .top) {
                TimelinePathElement()
                    .stroke(lineWidth: lineWidth)
                    .fill(gradient)
                switch dotStyle {
                case .large: TimelineLargeCircleElement(lineWidth: lineWidth, circleYOffset: circleYOffset)
                case .small: TimelineSmallCircleElement(lineWidth: lineWidth, circleYOffset: circleYOffset)
                case .none: EmptyView()
                }
            }
            .frame(width: TimelineLargeCircleElement.largeCircleHeight)
            mainView
        }
        .onPreferenceChange(SmallYValuePreferenceKey.self, perform: { yOffset in
