diff --git a/DistFiles/localization/en/Bloom.xlf b/DistFiles/localization/en/Bloom.xlf
index 812224f220b6..6bd3ba716b0e 100644
--- a/DistFiles/localization/en/Bloom.xlf
+++ b/DistFiles/localization/en/Bloom.xlf
@@ -384,6 +384,103 @@
ID: CollectionSettingsDialog.AdvancedTab.Experimental.SpreadsheetImportExportThis is the label of a checkbox which, if enabled, allows a menu command to be used that can import Bloom books from an Excel spreadsheet or to an Excel spreadsheet.
+
+ AI Source Translation
+ ID: CollectionSettingsDialog.AdvancedTab.Experimental.AiSourceBubbles
+ Label of the experimental-features checkbox that turns on AI source-language translation for book source bubbles.
+
+
+ AI Source Translation
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.SectionLabel
+ Heading of the settings group where the AI source-translation providers (SIL Alpha2, DeepL, Google Translate) are configured.
+
+
+ Target Language
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.TargetLanguageLabel
+
+
+ Choose one of this collection's languages, or Other... to select another language.
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.TargetLanguageDescription
+ Currently unused (orphaned from an earlier design); left in place rather than deleted.
+
+
+ Other...
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.OtherLanguageLabel
+ Currently unused (orphaned from an earlier design); left in place rather than deleted.
+
+
+ DeepL
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.DeepLEnabledLabel
+ Label of the checkbox that enables the DeepL translation engine for AI source bubbles. "DeepL" is a product name and must not be translated.
+
+
+ API Key
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.DeepLApiKeyLabel
+ Label of the API-key field within the DeepL section of AI Source Translation settings (the section heading already identifies it as DeepL).
+
+
+ The key needs the 'translate:text' and 'languages:read' permissions.
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.DeepLApiKeyDescription
+ Description subtitle under the DeepL API key field in AI Source Translation settings. 'translate:text' and 'languages:read' are DeepL permission-scope identifiers and must not be translated.
+
+
+ Google Translate
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.GoogleEnabledLabel
+ Label of the checkbox that enables the Google Translate engine for AI source bubbles. "Google Translate" is a product name and must not be translated.
+
+
+ Google service account email
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.GoogleServiceAccountEmailLabel
+
+
+ Google private key
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.GooglePrivateKeyLabel
+
+
+ The service account needs access to the Cloud Translation API (the 'Cloud Translation API User' role).
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.GoogleServiceAccountDescription
+ Description subtitle under the Google service account fields in AI Source Translation settings. 'Cloud Translation API' and 'Cloud Translation API User' are Google product/role names and must not be translated.
+
+
+ SIL Alpha2
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.Alpha2EnabledLabel
+ Label of the checkbox that enables the SIL Alpha2 translation engine for AI source bubbles. "SIL Alpha2" is a product name and must not be translated.
+
+
+ API Key
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.Alpha2ApiKeyLabel
+ Label of the API-key field within the SIL Alpha2 section of AI Source Translation settings (the section heading already identifies it as SIL Alpha2).
+
+
+ Translation Test
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.TranslationTestLabel
+ Label of the row showing a live translation-test result for one AI source bubbles engine (DeepL, Google Translate, or SIL Alpha2); this same label is reused once per engine.
+
+
+ Source Language
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.Alpha2SourceLanguageLabel
+ Label of the SIL Alpha2 source-language chooser in AI Source Bubbles settings: the language Alpha2 translates FROM (Alpha2 needs a fixed source language, unlike the other engines).
+
+
+ {0} does not support translating to {1}, so it will be skipped.
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.TargetLanguageNotSupported
+ Amber note under an AI Source Bubbles engine when it can't translate into the chosen target language. {0} is the translation engine's name (e.g. "DeepL"), which must not be translated; {1} is the target language name.
+
+
+ no enabled service supports this
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.NoServiceSupportsLanguage
+ Shown in parentheses next to the currently-selected target language in the AI Source Bubbles target-language dropdown when none of the enabled translation services offers that language.
+
+
+ Select at least one translation provider to get a list of languages it supports.
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.NoProviderSelected
+ Message shown below the (disabled) AI Source Bubbles target-language field when no translation provider is enabled yet, so there is no language list to choose from.
+
+
+ SIL Alpha2 shows the languages it can translate from {0}.
+ ID: CollectionSettingsDialog.AdvancedTab.AiSourceBubbles.Alpha2LanguagesNote
+ Explanatory note below the AI Source Bubbles target-language dropdown, shown when SIL Alpha2 is an enabled provider. It clarifies that Alpha2's offered languages depend on its configured source language. {0} is the source language's name (e.g. "English"); "SIL Alpha2" is a product name and must not be translated.
+ Bloom is switching the default font for "{0}" to the new "Andika New Basic".ID: CollectionSettingsDialog.AndikaNewBasicUpdate1
@@ -1349,6 +1446,36 @@
Add Page...ID: EditTab.AddPageDialog.Title
+
+ Cancelled.
+ ID: EditTab.AiTranslation.Cancelled
+ Status line in the AI translation progress dialog after the user clicks Cancel; the book is left unchanged.
+
+
+ Translating
+ ID: EditTab.AiTranslation.DialogTitle
+ Title of the progress dialog shown while AI engines translate the book's text before it opens for editing.
+
+
+ {0}: done.
+ ID: EditTab.AiTranslation.EngineDone
+ Progress line in the AI translation dialog. {0} is replaced with the translation engine's name (e.g. "DeepL"), which must not be translated.
+
+
+ {0}: {1}
+ ID: EditTab.AiTranslation.EngineError
+ Error line in the AI translation dialog. {0} is the translation engine's name (e.g. "DeepL"); {1} is an error message. Only the separator punctuation can be localized.
+
+
+ {0}: skipped {1} text box(es) with no {2} text.
+ ID: EditTab.AiTranslation.EngineSkippedNoSourceText
+ Progress line in the AI translation dialog, shown when an engine with a fixed source language (e.g. SIL Alpha2) had to skip text boxes that have no text in that language. {0} is the translation engine's name (e.g. "SIL Alpha2"), which must not be translated; {1} is the number of text boxes skipped; {2} is the source language tag (e.g. "en").
+
+
+ {0}: translating {1} text box(es)...
+ ID: EditTab.AiTranslation.EngineTranslating
+ Progress line in the AI translation dialog. {0} is the translation engine's name (e.g. "DeepL"), which must not be translated; {1} is the number of text boxes being translated.
+ If you need somewhere to put more information about the book, you can use this page, which is the inside of the back cover.ID: EditTab.BackMatter.InsideBackCoverTextPrompt
diff --git a/DistFiles/localization/en/BloomLowPriority.xlf b/DistFiles/localization/en/BloomLowPriority.xlf
index 41d3d319086f..d5472c84be87 100644
--- a/DistFiles/localization/en/BloomLowPriority.xlf
+++ b/DistFiles/localization/en/BloomLowPriority.xlf
@@ -353,6 +353,16 @@
ID: CollectionTab.BookMenu.MoveToCurrentCollection{0} will be replaced with the name of the collection that the user currently has open for editing.
+
+ Remove AI Source Translations
+ ID: CollectionTab.BookMenu.RemoveAiSourceTranslations
+ A book right-click menu command in the Collection tab. It deletes the AI-generated translations that appear as source bubbles when editing. "AI" stands for artificial intelligence.
+
+
+ Bloom removed the AI source translations from this book.
+ ID: CollectionTab.BookMenu.RemovedAiSourceTranslations
+ Confirmation message shown after the "Remove AI Source Translations" menu command finishes. "Bloom" is the product name and must not be translated; "AI" stands for artificial intelligence.
+