Combine Localizable.strings from Tulsi/Generator.

PiperOrigin-RevId: 190080095
diff --git a/src/Tulsi.xcodeproj/project.pbxproj b/src/Tulsi.xcodeproj/project.pbxproj
index 11db8b7..e804f70 100644
--- a/src/Tulsi.xcodeproj/project.pbxproj
+++ b/src/Tulsi.xcodeproj/project.pbxproj
@@ -113,7 +113,6 @@
 		3DE7F4171CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */; };
 		3DEC9EDD1CF3421600769251 /* TulsiProcessRunner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DEC9EDC1CF3421600769251 /* TulsiProcessRunner.swift */; };
 		3DF313B41C3488BE00A34C14 /* UISelectableOutlineViewNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */; };
-		3DF313B71C34898500A34C14 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DF313B91C34898500A34C14 /* Localizable.strings */; };
 		3DFB7C4B1C81F78000376760 /* command_line_splitter.sh in Resources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */; };
 		3DFB7C4D1C835EC000376760 /* CommandLineSplitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4C1C835EC000376760 /* CommandLineSplitter.swift */; };
 		3DFB7C4F1C835EFB00376760 /* CommandLineSplitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DFB7C4E1C835EFB00376760 /* CommandLineSplitterTests.swift */; };
@@ -335,7 +334,6 @@
 		3DE7F4161CF48ECB002C3498 /* PlatformDependentEndToEndGenerationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlatformDependentEndToEndGenerationTests.swift; sourceTree = "<group>"; };
 		3DEC9EDC1CF3421600769251 /* TulsiProcessRunner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TulsiProcessRunner.swift; sourceTree = "<group>"; };
 		3DF313B31C3488BE00A34C14 /* UISelectableOutlineViewNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UISelectableOutlineViewNode.swift; sourceTree = "<group>"; };
-		3DF313B81C34898500A34C14 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
 		3DFAB53A1C17764A0090CC6F /* BazelQueryInfoExtractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelQueryInfoExtractor.swift; sourceTree = "<group>"; };
 		3DFAB53C1C1778640090CC6F /* BazelWorkspaceInfoExtractorProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BazelWorkspaceInfoExtractorProtocol.swift; sourceTree = "<group>"; };
 		3DFB7C4A1C81F78000376760 /* command_line_splitter.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = command_line_splitter.sh; sourceTree = "<group>"; };
@@ -628,7 +626,6 @@
 				3D167E291C5B1FA700DD485C /* Credits.html */,
 				3D3DDD161CCA7BCF00E21FA4 /* ErrorAlertDetailView.xib */,
 				8B8F55A31BE3ECDC0095AF7F /* Info.plist */,
-				3DF313B91C34898500A34C14 /* Localizable.strings */,
 				8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */,
 				3D387BAF1C7500B500544AE0 /* NewGeneratorConfigViewController.xib */,
 				3DC5CE101CFF3BAC00688AD6 /* NewProjectViewController.xib */,
@@ -947,7 +944,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				8B8F559F1BE3ECDC0095AF7F /* Assets.xcassets in Resources */,
-				3DF313B71C34898500A34C14 /* Localizable.strings in Resources */,
 				3D8B37ED1C4F100F0090F3AD /* BazelOpenSheetAccessoryView.xib in Resources */,
 				3D387BB41C75354C00544AE0 /* XcodeProjectGenerationProgressViewController.xib in Resources */,
 				3D7CED5D1CC171E60073204D /* SplashScreenWindowController.xib in Resources */,
@@ -1214,14 +1210,6 @@
 			name = NewProjectViewController.xib;
 			sourceTree = "<group>";
 		};
-		3DF313B91C34898500A34C14 /* Localizable.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				3DF313B81C34898500A34C14 /* Base */,
-			);
-			name = Localizable.strings;
-			sourceTree = "<group>";
-		};
 		8B8F55A01BE3ECDC0095AF7F /* Main.storyboard */ = {
 			isa = PBXVariantGroup;
 			children = (
diff --git a/src/Tulsi/Base.lproj/Localizable.strings b/src/Tulsi/Base.lproj/Localizable.strings
deleted file mode 100644
index 21d5981..0000000
--- a/src/Tulsi/Base.lproj/Localizable.strings
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
-  Strings for the Tulsi application.
-*/
-
-/* Error when the Aspect returns multiple RuleEntries for a given target. The target label is in %1$@, the rule type is in %2$@. */
-"AmbiguousBuildTarget" = "Multiple configurations found for target %1$@. Is this %2$@ being built at the root level? Or do you have a root-level library somewhere that depends on this target?";
-
-/* Message to show at the top of the Tulsi project save as panel, explaining what to do. */
-"Document_SelectTulsiProjectOutputFolderMessage" = "Select a location to save this Tulsi project.";
-
-/* General error when project does not have a valid Bazel workspace. */
-"Error_BadWorkspace" = "Project does not contain a valid Bazel workspace. Start a new project or ensure that a WORKSPACE file exists.";
-
-/* Error when project does not have a valid Bazel WORKSPACE file at %1$@. */
-"Error_NoWORKSPACEFile" = "Project does not contain a valid Bazel workspace. Start a new project or ensure that a WORKSPACE file exists at \"%1$@\".";
-
-/* Error when a TulsiGeneratorConfig named %1$@ could not be deleted. */
-"Error_ConfigDeleteFailed" = "Failed to remove Tulsi generator config '%1$@'.";
-
-/* Error when a TulsiGeneratorConfig failed to be reloaded. */
-"Error_ConfigLoadFailed" = "Failed to reload Tulsi generator config.";
-
-/* Error when a TulsiGeneratorConfig failed to save. Details are provided as %1$@. */
-"Error_ConfigSaveFailed" = "Failed to save Tulsi generator config. Debug info: %1$@";
-
-/* A general, critical failure without a more fitting descriptive message. */
-"Error_GeneralCriticalFailure" = "An unexpected error occurred.";
-
-/* A general, critical failure during project generation. */
-"Error_GeneralProjectGenerationFailure" = "Failed to create Xcode project.";
-
-/* Error for a generation attempt without a valid target output folder even though one should exist. */
-"Error_NoOutputFolder" = "No output folder selected. This is likely a Tulsi bug, please report.";
-
-/* Error when unable to find the Bazel executable. */
-"Error_ResolveBazelPathFailure" = "Unable to locate your Bazel executable.";
-
-/* Message to show at the top of WORKSPACE file selector sheet, explaining what to do. */
-"NewProject_SetProjectWorkspaceMessage" = "Select the location of the Bazel \"WORKSPACE\" file for this project.";
-
-/* Label for the button used to confirm the selected WORKSPACE. */
-"NewProject_SetProjectWorkspacePrompt" = "Select";
-
-/* Message to show at the top of tulsiproj open panel, explaining what to do. */
-"OpenProject_OpenProjectPanelMessage" = "Choose a Tulsi project to open.";
-
-/* Short header shown before the project in the options editor's target selector. */
-"OptionsTarget_ProjectSectionTitle" = "PROJECT";
-
-/* Short header shown before the build targets in the options editor's target selector. */
-"OptionsTarget_TargetSectionTitle" = "TARGETS";
-
-/* String to show in the options editor's 'default' column when there is no default value. */
-"OptionsEditor_NoDefault" = "<none>";
-
-/* String to show in the option editor for group nodes when there are multiple per-config values. */
-"OptionsEditor_MultipleValues" = "<Multiple values>";
-
-/* Value to show when a boolean option is 'true'. This should match Xcode's localization. */
-"OptionsEditor_TrueValue" = "Yes";
-
-/* Value to show when a boolean option is 'false'. This should match Xcode's localization. */
-"OptionsEditor_FalseValue" = "No";
-
-/* Title for the options editor column used to edit per-config values. */
-"OptionsEditor_ColumnTitle_Config" = "Config";
-
-/* Title for the options editor column used to display the built-in default values. */
-"OptionsEditor_ColumnTitle_Default" = "Default";
-
-/* Title for the options editor column used to edit per-tulsiproj values. */
-"OptionsEditor_ColumnTitle_Project" = "Project";
-
-/* Label for the button used to confirm adding the selected BUILD file to the Tulsi project. */
-"ProjectEditor_AddBUILDFilePrompt" = "Add";
-
-/* Title for a button that will cancel an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
-"ProjectEditor_CloseOpenedConfigDocumentsButtonCancel" = "Cancel";
-
-/* Title for a button that will proceed with an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
-"ProjectEditor_CloseOpenedConfigDocumentsButtonOK" = "OK";
-
-/* Message asking the user if they want to continue with an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
-"ProjectEditor_CloseOpenedConfigDocumentsMessage" = "All open configuration editors will be closed. Continue?";
-
-/* Message to show at the top of the Bazel selector sheet, explaining what to do. */
-"ProjectEditor_SelectBazelPathMessage" = "Select the bazel binary to use.";
-
-/* Label for the button used to confirm the selected Bazel file in the Bazel selector sheet. */
-"ProjectEditor_SelectBazelPathPrompt" = "Select";
-
-/* Title for open panel through which the user should select where to generate the Xcode project. */
-"ProjectGeneration_SelectProjectOutputFolderTitle" = "Project output folder";
-
-/* Message to show at the top of the Xcode output folder sheet, explaining what to do. */
-"ProjectGeneration_SelectProjectOutputFolderMessage" = "Select the folder into which the Xcode project should be generated.";
-
-/* Label for the button used to confirm the selected output folder for the generated Xcode project. */
-"ProjectGeneration_SelectProjectOutputFolderAndGeneratePrompt" = "Generate";
-
-/* Error message for when the user tried to generate an Xcode project from an incomplete config. */
-"TulsiError_ConfigNotGenerateable" = "Generator config is not fully populated and cannot generate an Xcode project.";
-
-/* Error message for when a generator config fails to load for an unspecified reason. */
-"TulsiError_ConfigNotLoadable" = "Generator config could not be loaded from the given location.";
-
-/* Error message for when a generator config fails to save because it is missing critical information. */
-"TulsiError_ConfigNotSaveable" = "Generator config is not fully populated and cannot be saved.";
-
-/* A generic exception was thrown, additional debug data is in %1$@. */
-"TulsiError_General" = "Error: '%1$@'";
-
-/* A non-critical failure to restore some Bazel labels when loading a document. Details are provided as %1$@. */
-"Warning_LabelResolutionFailed" = "Failed to reload some Bazel targets. The loaded project may be incorrect. Debug info: %1$@";
-
-/* Label for action button to be used to go to the final page in the project wizard. */
-"Wizard_SaveConfig" = "Save";
-
-/* Label for action button to be used to go to the next page in the project wizard. */
-"Wizard_Next" = "Next";
-
-
-/* Strings mapping progress item notification names to user-friendly names */
-
-/* Sent when the Tulsi generator is gathering source/settings for Xcode indexer targets. */
-"gatheringIndexerSources" = "Gathering sources for Xcode indexers";
-
-/* Sent when creating Xcode build targets. */
-"generatingBuildTargets" = "Generating build targets";
-
-/* Sent when creating Xcode indexer targets. */
-"generatingIndexerTargets" = "Generating indexer libraries";
-
-/* Sent when the Tulsi generator is copying the build scripts into the output Xcode project. */
-"installingScripts" = "Installing build scripts";
-
-/* Sent when the Tulsi generator is copying the build utilities into the output Xcode project. */
-"installingUtilities" = "Installing build utilities";
-
-/* Sent when the Tulsi generator is copying the generator config into the output Xcode project. */
-"installingGeneratorConfig" = "Installing generator config";
-
-/* Sent when starting to serialize the Xcode project. */
-"serializingXcodeProject" = "Creating Xcode project";
-
-/* Sent when extracting source files from a Bazel project. */
-"sourceFileExtraction" = "Extracting source files";
-
-/* Sent when the Tulsi generator is extracting workspace information. */
-"workspaceInfoExtraction" = "Retrieving workspace info";
diff --git a/src/TulsiGenerator/Base.lproj/Localizable.strings b/src/TulsiGenerator/Base.lproj/Localizable.strings
index 9e4113d..f750a1e 100644
--- a/src/TulsiGenerator/Base.lproj/Localizable.strings
+++ b/src/TulsiGenerator/Base.lproj/Localizable.strings
@@ -1,6 +1,157 @@
 /*
-  Strings for the Tulsi Xcode project generator.
-*/
+ Strings for the Tulsi application.
+ */
+
+/* Error when the Aspect returns multiple RuleEntries for a given target. The target label is in %1$@, the rule type is in %2$@. */
+"AmbiguousBuildTarget" = "Multiple configurations found for target %1$@. Is this %2$@ being built at the root level? Or do you have a root-level library somewhere that depends on this target?";
+
+/* Message to show at the top of the Tulsi project save as panel, explaining what to do. */
+"Document_SelectTulsiProjectOutputFolderMessage" = "Select a location to save this Tulsi project.";
+
+/* General error when project does not have a valid Bazel workspace. */
+"Error_BadWorkspace" = "Project does not contain a valid Bazel workspace. Start a new project or ensure that a WORKSPACE file exists.";
+
+/* Error when project does not have a valid Bazel WORKSPACE file at %1$@. */
+"Error_NoWORKSPACEFile" = "Project does not contain a valid Bazel workspace. Start a new project or ensure that a WORKSPACE file exists at \"%1$@\".";
+
+/* Error when a TulsiGeneratorConfig named %1$@ could not be deleted. */
+"Error_ConfigDeleteFailed" = "Failed to remove Tulsi generator config '%1$@'.";
+
+/* Error when a TulsiGeneratorConfig failed to be reloaded. */
+"Error_ConfigLoadFailed" = "Failed to reload Tulsi generator config.";
+
+/* Error when a TulsiGeneratorConfig failed to save. Details are provided as %1$@. */
+"Error_ConfigSaveFailed" = "Failed to save Tulsi generator config. Debug info: %1$@";
+
+/* A general, critical failure without a more fitting descriptive message. */
+"Error_GeneralCriticalFailure" = "An unexpected error occurred.";
+
+/* A general, critical failure during project generation. */
+"Error_GeneralProjectGenerationFailure" = "Failed to create Xcode project.";
+
+/* Error for a generation attempt without a valid target output folder even though one should exist. */
+"Error_NoOutputFolder" = "No output folder selected. This is likely a Tulsi bug, please report.";
+
+/* Error when unable to find the Bazel executable. */
+"Error_ResolveBazelPathFailure" = "Unable to locate your Bazel executable.";
+
+/* Message to show at the top of WORKSPACE file selector sheet, explaining what to do. */
+"NewProject_SetProjectWorkspaceMessage" = "Select the location of the Bazel \"WORKSPACE\" file for this project.";
+
+/* Label for the button used to confirm the selected WORKSPACE. */
+"NewProject_SetProjectWorkspacePrompt" = "Select";
+
+/* Message to show at the top of tulsiproj open panel, explaining what to do. */
+"OpenProject_OpenProjectPanelMessage" = "Choose a Tulsi project to open.";
+
+/* Short header shown before the project in the options editor's target selector. */
+"OptionsTarget_ProjectSectionTitle" = "PROJECT";
+
+/* Short header shown before the build targets in the options editor's target selector. */
+"OptionsTarget_TargetSectionTitle" = "TARGETS";
+
+/* String to show in the options editor's 'default' column when there is no default value. */
+"OptionsEditor_NoDefault" = "<none>";
+
+/* String to show in the option editor for group nodes when there are multiple per-config values. */
+"OptionsEditor_MultipleValues" = "<Multiple values>";
+
+/* Value to show when a boolean option is 'true'. This should match Xcode's localization. */
+"OptionsEditor_TrueValue" = "Yes";
+
+/* Value to show when a boolean option is 'false'. This should match Xcode's localization. */
+"OptionsEditor_FalseValue" = "No";
+
+/* Title for the options editor column used to edit per-config values. */
+"OptionsEditor_ColumnTitle_Config" = "Config";
+
+/* Title for the options editor column used to display the built-in default values. */
+"OptionsEditor_ColumnTitle_Default" = "Default";
+
+/* Title for the options editor column used to edit per-tulsiproj values. */
+"OptionsEditor_ColumnTitle_Project" = "Project";
+
+/* Label for the button used to confirm adding the selected BUILD file to the Tulsi project. */
+"ProjectEditor_AddBUILDFilePrompt" = "Add";
+
+/* Title for a button that will cancel an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
+"ProjectEditor_CloseOpenedConfigDocumentsButtonCancel" = "Cancel";
+
+/* Title for a button that will proceed with an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
+"ProjectEditor_CloseOpenedConfigDocumentsButtonOK" = "OK";
+
+/* Message asking the user if they want to continue with an operation that requires that all opened TulsiGeneratorConfig documents be closed. */
+"ProjectEditor_CloseOpenedConfigDocumentsMessage" = "All open configuration editors will be closed. Continue?";
+
+/* Message to show at the top of the Bazel selector sheet, explaining what to do. */
+"ProjectEditor_SelectBazelPathMessage" = "Select the bazel binary to use.";
+
+/* Label for the button used to confirm the selected Bazel file in the Bazel selector sheet. */
+"ProjectEditor_SelectBazelPathPrompt" = "Select";
+
+/* Title for open panel through which the user should select where to generate the Xcode project. */
+"ProjectGeneration_SelectProjectOutputFolderTitle" = "Project output folder";
+
+/* Message to show at the top of the Xcode output folder sheet, explaining what to do. */
+"ProjectGeneration_SelectProjectOutputFolderMessage" = "Select the folder into which the Xcode project should be generated.";
+
+/* Label for the button used to confirm the selected output folder for the generated Xcode project. */
+"ProjectGeneration_SelectProjectOutputFolderAndGeneratePrompt" = "Generate";
+
+/* Error message for when the user tried to generate an Xcode project from an incomplete config. */
+"TulsiError_ConfigNotGenerateable" = "Generator config is not fully populated and cannot generate an Xcode project.";
+
+/* Error message for when a generator config fails to load for an unspecified reason. */
+"TulsiError_ConfigNotLoadable" = "Generator config could not be loaded from the given location.";
+
+/* Error message for when a generator config fails to save because it is missing critical information. */
+"TulsiError_ConfigNotSaveable" = "Generator config is not fully populated and cannot be saved.";
+
+/* A generic exception was thrown, additional debug data is in %1$@. */
+"TulsiError_General" = "Error: '%1$@'";
+
+/* A non-critical failure to restore some Bazel labels when loading a document. Details are provided as %1$@. */
+"Warning_LabelResolutionFailed" = "Failed to reload some Bazel targets. The loaded project may be incorrect. Debug info: %1$@";
+
+/* Label for action button to be used to go to the final page in the project wizard. */
+"Wizard_SaveConfig" = "Save";
+
+/* Label for action button to be used to go to the next page in the project wizard. */
+"Wizard_Next" = "Next";
+
+
+/* Strings mapping progress item notification names to user-friendly names */
+
+/* Sent when the Tulsi generator is gathering source/settings for Xcode indexer targets. */
+"gatheringIndexerSources" = "Gathering sources for Xcode indexers";
+
+/* Sent when creating Xcode build targets. */
+"generatingBuildTargets" = "Generating build targets";
+
+/* Sent when creating Xcode indexer targets. */
+"generatingIndexerTargets" = "Generating indexer libraries";
+
+/* Sent when the Tulsi generator is copying the build scripts into the output Xcode project. */
+"installingScripts" = "Installing build scripts";
+
+/* Sent when the Tulsi generator is copying the build utilities into the output Xcode project. */
+"installingUtilities" = "Installing build utilities";
+
+/* Sent when the Tulsi generator is copying the generator config into the output Xcode project. */
+"installingGeneratorConfig" = "Installing generator config";
+
+/* Sent when starting to serialize the Xcode project. */
+"serializingXcodeProject" = "Creating Xcode project";
+
+/* Sent when extracting source files from a Bazel project. */
+"sourceFileExtraction" = "Extracting source files";
+
+/* Sent when the Tulsi generator is extracting workspace information. */
+"workspaceInfoExtraction" = "Retrieving workspace info";
+
+/*
+ Strings for the Tulsi Xcode project generator.
+ */
 
 /* Error when unable to resolve which RuleEntry is a dep of another based on DeploymentTargets. The target label is in %1$@. */
 "AmbiguousRuleEntryReference" = "Unable to resolve proper configuration for target %1$@. Do you have a root-level library target set as a build target? Please check your Tulsi Config settings to make sure that no library targets are selected.";