@@ -231,6 +231,8 @@ private void OnStateChanged(object? sender, EventArgs e)
231231 // Update label text properties
232232 OnPropertyChanged ( nameof ( HasSectionStructure ) ) ;
233233 OnPropertyChanged ( nameof ( TrackLabelText ) ) ;
234+ OnPropertyChanged ( nameof ( TracksLabelText ) ) ;
235+ OnPropertyChanged ( nameof ( SelectedTracksText ) ) ;
234236 OnPropertyChanged ( nameof ( ModalHeaderText ) ) ;
235237 OnPropertyChanged ( nameof ( RestartLabelText ) ) ;
236238
@@ -275,7 +277,7 @@ public NumberOfTracksListViewItemModel? CurrentNumberOfTracks
275277 {
276278 // Notify that the Text property (computed from CurrentNumberOfTracks) has changed
277279 OnPropertyChanged ( nameof ( CurrentNumberOfTracksText ) ) ;
278- OnPropertyChanged ( nameof ( TracksLabelText ) ) ;
280+ OnPropertyChanged ( nameof ( SelectedTracksText ) ) ;
279281 }
280282 }
281283 }
@@ -307,17 +309,30 @@ public bool HasSectionStructure
307309 public string TrackLabelText => HasSectionStructure ? "Chapters to play each time" : "Episodes to play each time" ;
308310
309311 /// <summary>
310- /// Gets the combined label text showing the number with "chapters or episodes" format.
311- /// Returns format like "3 chapters or episodes" (not bold).
312+ /// Gets the static label text for the tracks selection row.
313+ /// Returns "Number of chapters to play" for sectioned publications (Bible),
314+ /// or "Number of episodes to play" for non-sectioned publications (dramas).
312315 /// </summary>
313- public string TracksLabelText
316+ public string TracksLabelText => HasSectionStructure ? "Number of chapters to play" : "Number of episodes to play" ;
317+
318+ /// <summary>
319+ /// Gets the dynamic selected value text showing the number with proper singular/plural.
320+ /// Returns format like "3 Chapters", "1 Chapter", "3 Episodes", or "1 Episode".
321+ /// </summary>
322+ public string SelectedTracksText
314323 {
315324 get
316325 {
317326 var number = CurrentNumberOfTracks ? . Value ?? 0 ;
318327 if ( number == 0 )
319- return "chapters or episodes" ;
320- return $ "{ number } chapters or episodes";
328+ {
329+ return HasSectionStructure ? "Chapters" : "Episodes" ;
330+ }
331+
332+ var unitSingular = HasSectionStructure ? "Chapter" : "Episode" ;
333+ var unitPlural = HasSectionStructure ? "Chapters" : "Episodes" ;
334+ var selectedUnit = number == 1 ? unitSingular : unitPlural ;
335+ return $ "{ number } { selectedUnit } ";
321336 }
322337 }
323338
0 commit comments