From d77839e3c8dd2482856ec03dbe1e713caefa539d Mon Sep 17 00:00:00 2001 From: Raymond Luong Date: Thu, 2 Jul 2026 13:44:24 -0600 Subject: [PATCH] SF-3840 Alert user that available drafting books reflect source text --- .../draft-generation-steps.component.html | 8 +++----- .../draft-generation-steps.component.spec.ts | 3 +-- .../draft-generation-steps.component.ts | 4 ---- .../ClientApp/src/assets/i18n/non_checking_en.json | 2 +- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.html b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.html index 7091a05cdf9..7e8a6d1caeb 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.html +++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.html @@ -98,11 +98,9 @@

} - @if (unusableTranslateTargetBooks.length) { - - - - } + + {{ t("draft_book_unavailable", { sourceProjectName: draftingSourceProjectName }) }} + @if (showBookSelectionError) { {{ t("choose_books_to_translate_error") }} diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.spec.ts b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.spec.ts index 381e2457e05..0ea5d551719 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.spec.ts +++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.spec.ts @@ -396,8 +396,7 @@ describe('DraftGenerationStepsComponent', () => { expect(component.trainingBooksExcludingTranslatedWithoutEnoughData).toEqual([5]); })); - it('should set "unusableTranslateTargetBooks" and "unusableTrainingTargetBooks" correctly', fakeAsync(() => { - expect(component.unusableTranslateTargetBooks).toEqual([7]); + it('should set "unusableTrainingTargetBooks" correctly', fakeAsync(() => { expect(component.unusableTrainingTargetBooks).toEqual([7]); })); diff --git a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.ts b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.ts index 5e3a402f691..25e1622db6a 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.ts +++ b/src/SIL.XForge.Scripture/ClientApp/src/app/translate/draft-generation/draft-generation-steps/draft-generation-steps.component.ts @@ -136,7 +136,6 @@ export class DraftGenerationStepsComponent implements OnInit { // Unusable books do not exist in the target or corresponding drafting/training source project unusableTranslateSourceBooks: number[] = []; - unusableTranslateTargetBooks: number[] = []; emptyTranslateSourceBooks: number[] = []; trainingBooksExcludingTranslatedWithoutEnoughData: number[] = []; unusableTrainingSourceBooks: number[] = []; @@ -378,9 +377,6 @@ export class DraftGenerationStepsComponent implements OnInit { this.unusableTrainingTargetBooks = [...trainingSourceBooks].filter( bookNum => !targetBooks.has(bookNum) && Canon.isCanonical(bookNum) ); - this.unusableTranslateTargetBooks = [...draftingSourceBooks].filter( - bookNum => !targetBooks.has(bookNum) && Canon.isCanonical(bookNum) - ); // set developer settings if (this.featureFlags.showDeveloperTools.enabled) { diff --git a/src/SIL.XForge.Scripture/ClientApp/src/assets/i18n/non_checking_en.json b/src/SIL.XForge.Scripture/ClientApp/src/assets/i18n/non_checking_en.json index 9b13c709df7..2c8f3ace018 100644 --- a/src/SIL.XForge.Scripture/ClientApp/src/assets/i18n/non_checking_en.json +++ b/src/SIL.XForge.Scripture/ClientApp/src/assets/i18n/non_checking_en.json @@ -246,6 +246,7 @@ "configure_advanced_settings_title": "Advanced settings", "confirm_codes_correct_to_continue": "Please confirm the language codes are correct before continuing", "custom_configurations_apply": "Custom draft configurations have been applied by an administrator.", + "draft_book_unavailable": "Can't find the book you're looking for? Be sure the book exists in your drafting source text ({{ sourceProjectName }}).", "email_me": "Email me at {{ email }} when the draft is finished.", "fast_training_warning": "Enabling this will save time but greatly reduce accuracy.", "fast_training": "Enable Fast Training", @@ -276,7 +277,6 @@ "training_files": "Training files", "translated_book_selected_no_training_pair": "Some of the training books you selected have no matching reference books selected. Please select matching reference books.", "translated_books": "Translated books", - "unusable_target_books": "Can't find the book you're looking for? Be sure the book is created in Paratext, then sync your project.", "use_echo_warning": "Enabling this will echo your source text instead of translating it.", "use_echo": "Use Echo Translation Engine" },