feat(04-07): add Phase 4 localization, shared dialogs, and example CSV resources
- Add 80+ Phase 4 EN/FR localization keys to Strings.resx and Strings.fr.resx (tabs, transfer, bulkmembers, bulksites, folderstruct, templates, bulk-shared, folderbrowser) - Add ResourceManager property accessors for all new keys to Strings.Designer.cs - Create ConfirmBulkOperationDialog (XAML + code-behind) with Proceed/Cancel buttons - Create FolderBrowserDialog (XAML + code-behind) with lazy-loading TreeView of SharePoint libraries/folders - Bundle bulk_add_members.csv, bulk_create_sites.csv, folder_structure.csv as EmbeddedResource in csproj
This commit is contained in:
@@ -221,4 +221,87 @@
|
||||
<data name="ph.dup.lib" xml:space="preserve"><value>All (leave empty)</value></data>
|
||||
<data name="btn.run.scan" xml:space="preserve"><value>Run Scan</value></data>
|
||||
<data name="btn.open.results" xml:space="preserve"><value>Open Results</value></data>
|
||||
<!-- Phase 4: Tab headers -->
|
||||
<data name="tab.transfer" xml:space="preserve"><value>Transfer</value></data>
|
||||
<data name="tab.bulkMembers" xml:space="preserve"><value>Bulk Members</value></data>
|
||||
<data name="tab.bulkSites" xml:space="preserve"><value>Bulk Sites</value></data>
|
||||
<data name="tab.folderStructure" xml:space="preserve"><value>Folder Structure</value></data>
|
||||
<!-- Phase 4: Transfer tab -->
|
||||
<data name="transfer.sourcesite" xml:space="preserve"><value>Source Site</value></data>
|
||||
<data name="transfer.destsite" xml:space="preserve"><value>Destination Site</value></data>
|
||||
<data name="transfer.sourcelibrary" xml:space="preserve"><value>Source Library</value></data>
|
||||
<data name="transfer.destlibrary" xml:space="preserve"><value>Destination Library</value></data>
|
||||
<data name="transfer.sourcefolder" xml:space="preserve"><value>Source Folder</value></data>
|
||||
<data name="transfer.destfolder" xml:space="preserve"><value>Destination Folder</value></data>
|
||||
<data name="transfer.mode" xml:space="preserve"><value>Transfer Mode</value></data>
|
||||
<data name="transfer.mode.copy" xml:space="preserve"><value>Copy</value></data>
|
||||
<data name="transfer.mode.move" xml:space="preserve"><value>Move</value></data>
|
||||
<data name="transfer.conflict" xml:space="preserve"><value>Conflict Policy</value></data>
|
||||
<data name="transfer.conflict.skip" xml:space="preserve"><value>Skip</value></data>
|
||||
<data name="transfer.conflict.overwrite" xml:space="preserve"><value>Overwrite</value></data>
|
||||
<data name="transfer.conflict.rename" xml:space="preserve"><value>Rename (append suffix)</value></data>
|
||||
<data name="transfer.browse" xml:space="preserve"><value>Browse...</value></data>
|
||||
<data name="transfer.start" xml:space="preserve"><value>Start Transfer</value></data>
|
||||
<data name="transfer.nofiles" xml:space="preserve"><value>No files found to transfer.</value></data>
|
||||
<!-- Phase 4: Bulk Members tab -->
|
||||
<data name="bulkmembers.import" xml:space="preserve"><value>Import CSV</value></data>
|
||||
<data name="bulkmembers.example" xml:space="preserve"><value>Load Example</value></data>
|
||||
<data name="bulkmembers.execute" xml:space="preserve"><value>Add Members</value></data>
|
||||
<data name="bulkmembers.preview" xml:space="preserve"><value>Preview ({0} rows, {1} valid, {2} invalid)</value></data>
|
||||
<data name="bulkmembers.groupname" xml:space="preserve"><value>Group Name</value></data>
|
||||
<data name="bulkmembers.groupurl" xml:space="preserve"><value>Group URL</value></data>
|
||||
<data name="bulkmembers.email" xml:space="preserve"><value>Email</value></data>
|
||||
<data name="bulkmembers.role" xml:space="preserve"><value>Role</value></data>
|
||||
<!-- Phase 4: Bulk Sites tab -->
|
||||
<data name="bulksites.import" xml:space="preserve"><value>Import CSV</value></data>
|
||||
<data name="bulksites.example" xml:space="preserve"><value>Load Example</value></data>
|
||||
<data name="bulksites.execute" xml:space="preserve"><value>Create Sites</value></data>
|
||||
<data name="bulksites.preview" xml:space="preserve"><value>Preview ({0} rows, {1} valid, {2} invalid)</value></data>
|
||||
<data name="bulksites.name" xml:space="preserve"><value>Name</value></data>
|
||||
<data name="bulksites.alias" xml:space="preserve"><value>Alias</value></data>
|
||||
<data name="bulksites.type" xml:space="preserve"><value>Type</value></data>
|
||||
<data name="bulksites.owners" xml:space="preserve"><value>Owners</value></data>
|
||||
<data name="bulksites.members" xml:space="preserve"><value>Members</value></data>
|
||||
<!-- Phase 4: Folder Structure tab -->
|
||||
<data name="folderstruct.import" xml:space="preserve"><value>Import CSV</value></data>
|
||||
<data name="folderstruct.example" xml:space="preserve"><value>Load Example</value></data>
|
||||
<data name="folderstruct.execute" xml:space="preserve"><value>Create Folders</value></data>
|
||||
<data name="folderstruct.preview" xml:space="preserve"><value>Preview ({0} folders to create)</value></data>
|
||||
<data name="folderstruct.library" xml:space="preserve"><value>Target Library</value></data>
|
||||
<data name="folderstruct.siteurl" xml:space="preserve"><value>Site URL</value></data>
|
||||
<!-- Phase 4: Templates tab -->
|
||||
<data name="templates.list" xml:space="preserve"><value>Saved Templates</value></data>
|
||||
<data name="templates.capture" xml:space="preserve"><value>Capture Template</value></data>
|
||||
<data name="templates.apply" xml:space="preserve"><value>Apply Template</value></data>
|
||||
<data name="templates.rename" xml:space="preserve"><value>Rename</value></data>
|
||||
<data name="templates.delete" xml:space="preserve"><value>Delete</value></data>
|
||||
<data name="templates.siteurl" xml:space="preserve"><value>Source Site URL</value></data>
|
||||
<data name="templates.name" xml:space="preserve"><value>Template Name</value></data>
|
||||
<data name="templates.newtitle" xml:space="preserve"><value>New Site Title</value></data>
|
||||
<data name="templates.newalias" xml:space="preserve"><value>New Site Alias</value></data>
|
||||
<data name="templates.options" xml:space="preserve"><value>Capture Options</value></data>
|
||||
<data name="templates.opt.libraries" xml:space="preserve"><value>Libraries</value></data>
|
||||
<data name="templates.opt.folders" xml:space="preserve"><value>Folders</value></data>
|
||||
<data name="templates.opt.permissions" xml:space="preserve"><value>Permission Groups</value></data>
|
||||
<data name="templates.opt.logo" xml:space="preserve"><value>Site Logo</value></data>
|
||||
<data name="templates.opt.settings" xml:space="preserve"><value>Site Settings</value></data>
|
||||
<data name="templates.empty" xml:space="preserve"><value>No templates saved yet.</value></data>
|
||||
<!-- Phase 4: Shared bulk operation strings -->
|
||||
<data name="bulk.confirm.title" xml:space="preserve"><value>Confirm Operation</value></data>
|
||||
<data name="bulk.confirm.proceed" xml:space="preserve"><value>Proceed</value></data>
|
||||
<data name="bulk.confirm.cancel" xml:space="preserve"><value>Cancel</value></data>
|
||||
<data name="bulk.confirm.message" xml:space="preserve"><value>{0} — Proceed?</value></data>
|
||||
<data name="bulk.result.success" xml:space="preserve"><value>Completed: {0} succeeded, {1} failed</value></data>
|
||||
<data name="bulk.result.allfailed" xml:space="preserve"><value>All {0} items failed.</value></data>
|
||||
<data name="bulk.result.allsuccess" xml:space="preserve"><value>All {0} items completed successfully.</value></data>
|
||||
<data name="bulk.exportfailed" xml:space="preserve"><value>Export Failed Items</value></data>
|
||||
<data name="bulk.retryfailed" xml:space="preserve"><value>Retry Failed</value></data>
|
||||
<data name="bulk.validation.invalid" xml:space="preserve"><value>{0} rows have validation errors. Fix and re-import.</value></data>
|
||||
<data name="bulk.csvimport.title" xml:space="preserve"><value>Select CSV File</value></data>
|
||||
<data name="bulk.csvimport.filter" xml:space="preserve"><value>CSV Files (*.csv)|*.csv</value></data>
|
||||
<!-- Phase 4: Folder browser dialog -->
|
||||
<data name="folderbrowser.title" xml:space="preserve"><value>Select Folder</value></data>
|
||||
<data name="folderbrowser.loading" xml:space="preserve"><value>Loading folder tree...</value></data>
|
||||
<data name="folderbrowser.select" xml:space="preserve"><value>Select</value></data>
|
||||
<data name="folderbrowser.cancel" xml:space="preserve"><value>Cancel</value></data>
|
||||
</root>
|
||||
|
||||
Reference in New Issue
Block a user