Initial commit
This commit is contained in:
Generated
+231
@@ -0,0 +1,231 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace SharepointToolbox.Web.Localization {
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// Auto-generated designer file for Strings.resx — do not edit manually.
|
||||
/// </summary>
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Strings {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Strings() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SharepointToolbox.Localization.Strings", typeof(Strings).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
public static string grp_scan_opts => ResourceManager.GetString("grp.scan.opts", resourceCulture) ?? string.Empty;
|
||||
public static string chk_scan_folders => ResourceManager.GetString("chk.scan.folders", resourceCulture) ?? string.Empty;
|
||||
public static string chk_recursive => ResourceManager.GetString("chk.recursive", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_folder_depth => ResourceManager.GetString("lbl.folder.depth", resourceCulture) ?? string.Empty;
|
||||
public static string chk_max_depth => ResourceManager.GetString("chk.max.depth", resourceCulture) ?? string.Empty;
|
||||
public static string chk_inherited_perms => ResourceManager.GetString("chk.inherited.perms", resourceCulture) ?? string.Empty;
|
||||
public static string grp_export_fmt => ResourceManager.GetString("grp.export.fmt", resourceCulture) ?? string.Empty;
|
||||
public static string rad_csv_perms => ResourceManager.GetString("rad.csv.perms", resourceCulture) ?? string.Empty;
|
||||
public static string rad_html_perms => ResourceManager.GetString("rad.html.perms", resourceCulture) ?? string.Empty;
|
||||
public static string btn_gen_perms => ResourceManager.GetString("btn.gen.perms", resourceCulture) ?? string.Empty;
|
||||
public static string btn_open_perms => ResourceManager.GetString("btn.open.perms", resourceCulture) ?? string.Empty;
|
||||
public static string btn_view_sites => ResourceManager.GetString("btn.view.sites", resourceCulture) ?? string.Empty;
|
||||
public static string perm_site_url => ResourceManager.GetString("perm.site.url", resourceCulture) ?? string.Empty;
|
||||
public static string perm_or_select => ResourceManager.GetString("perm.or.select", resourceCulture) ?? string.Empty;
|
||||
public static string perm_sites_selected => ResourceManager.GetString("perm.sites.selected", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 3: Storage Tab
|
||||
public static string chk_per_lib => ResourceManager.GetString("chk.per.lib", resourceCulture) ?? string.Empty;
|
||||
public static string chk_subsites => ResourceManager.GetString("chk.subsites", resourceCulture) ?? string.Empty;
|
||||
public static string stor_note => ResourceManager.GetString("stor.note", resourceCulture) ?? string.Empty;
|
||||
public static string btn_gen_storage => ResourceManager.GetString("btn.gen.storage", resourceCulture) ?? string.Empty;
|
||||
public static string btn_open_storage => ResourceManager.GetString("btn.open.storage", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_library => ResourceManager.GetString("stor.col.library", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_site => ResourceManager.GetString("stor.col.site", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_files => ResourceManager.GetString("stor.col.files", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_size => ResourceManager.GetString("stor.col.size", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_versions => ResourceManager.GetString("stor.col.versions", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_lastmod => ResourceManager.GetString("stor.col.lastmod", resourceCulture) ?? string.Empty;
|
||||
public static string stor_col_share => ResourceManager.GetString("stor.col.share", resourceCulture) ?? string.Empty;
|
||||
public static string stor_rad_csv => ResourceManager.GetString("stor.rad.csv", resourceCulture) ?? string.Empty;
|
||||
public static string stor_rad_html => ResourceManager.GetString("stor.rad.html", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 3: File Search Tab
|
||||
public static string grp_search_filters => ResourceManager.GetString("grp.search.filters", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_extensions => ResourceManager.GetString("lbl.extensions", resourceCulture) ?? string.Empty;
|
||||
public static string ph_extensions => ResourceManager.GetString("ph.extensions", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_regex => ResourceManager.GetString("lbl.regex", resourceCulture) ?? string.Empty;
|
||||
public static string ph_regex => ResourceManager.GetString("ph.regex", resourceCulture) ?? string.Empty;
|
||||
public static string chk_created_after => ResourceManager.GetString("chk.created.after", resourceCulture) ?? string.Empty;
|
||||
public static string chk_created_before => ResourceManager.GetString("chk.created.before", resourceCulture) ?? string.Empty;
|
||||
public static string chk_modified_after => ResourceManager.GetString("chk.modified.after", resourceCulture) ?? string.Empty;
|
||||
public static string chk_modified_before => ResourceManager.GetString("chk.modified.before", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_created_by => ResourceManager.GetString("lbl.created.by", resourceCulture) ?? string.Empty;
|
||||
public static string ph_created_by => ResourceManager.GetString("ph.created.by", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_modified_by => ResourceManager.GetString("lbl.modified.by", resourceCulture) ?? string.Empty;
|
||||
public static string ph_modified_by => ResourceManager.GetString("ph.modified.by", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_library => ResourceManager.GetString("lbl.library", resourceCulture) ?? string.Empty;
|
||||
public static string ph_library => ResourceManager.GetString("ph.library", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_max_results => ResourceManager.GetString("lbl.max.results", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_site_url => ResourceManager.GetString("lbl.site.url", resourceCulture) ?? string.Empty;
|
||||
public static string ph_site_url => ResourceManager.GetString("ph.site.url", resourceCulture) ?? string.Empty;
|
||||
public static string btn_run_search => ResourceManager.GetString("btn.run.search", resourceCulture) ?? string.Empty;
|
||||
public static string btn_open_search => ResourceManager.GetString("btn.open.search", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_name => ResourceManager.GetString("srch.col.name", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_ext => ResourceManager.GetString("srch.col.ext", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_created => ResourceManager.GetString("srch.col.created", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_modified => ResourceManager.GetString("srch.col.modified", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_author => ResourceManager.GetString("srch.col.author", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_modby => ResourceManager.GetString("srch.col.modby", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_size => ResourceManager.GetString("srch.col.size", resourceCulture) ?? string.Empty;
|
||||
public static string srch_col_path => ResourceManager.GetString("srch.col.path", resourceCulture) ?? string.Empty;
|
||||
public static string srch_rad_csv => ResourceManager.GetString("srch.rad.csv", resourceCulture) ?? string.Empty;
|
||||
public static string srch_rad_html => ResourceManager.GetString("srch.rad.html", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 3: Duplicates Tab
|
||||
public static string grp_dup_type => ResourceManager.GetString("grp.dup.type", resourceCulture) ?? string.Empty;
|
||||
public static string rad_dup_files => ResourceManager.GetString("rad.dup.files", resourceCulture) ?? string.Empty;
|
||||
public static string rad_dup_folders => ResourceManager.GetString("rad.dup.folders", resourceCulture) ?? string.Empty;
|
||||
public static string grp_dup_criteria => ResourceManager.GetString("grp.dup.criteria", resourceCulture) ?? string.Empty;
|
||||
public static string lbl_dup_note => ResourceManager.GetString("lbl.dup.note", resourceCulture) ?? string.Empty;
|
||||
public static string chk_dup_size => ResourceManager.GetString("chk.dup.size", resourceCulture) ?? string.Empty;
|
||||
public static string chk_dup_created => ResourceManager.GetString("chk.dup.created", resourceCulture) ?? string.Empty;
|
||||
public static string chk_dup_modified => ResourceManager.GetString("chk.dup.modified", resourceCulture) ?? string.Empty;
|
||||
public static string chk_dup_subfolders => ResourceManager.GetString("chk.dup.subfolders", resourceCulture) ?? string.Empty;
|
||||
public static string chk_dup_filecount => ResourceManager.GetString("chk.dup.filecount", resourceCulture) ?? string.Empty;
|
||||
public static string chk_include_subsites => ResourceManager.GetString("chk.include.subsites", resourceCulture) ?? string.Empty;
|
||||
public static string ph_dup_lib => ResourceManager.GetString("ph.dup.lib", resourceCulture) ?? string.Empty;
|
||||
public static string btn_run_scan => ResourceManager.GetString("btn.run.scan", resourceCulture) ?? string.Empty;
|
||||
public static string btn_open_results => ResourceManager.GetString("btn.open.results", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Tab headers
|
||||
public static string tab_transfer => ResourceManager.GetString("tab.transfer", resourceCulture) ?? string.Empty;
|
||||
public static string tab_bulkMembers => ResourceManager.GetString("tab.bulkMembers", resourceCulture) ?? string.Empty;
|
||||
public static string tab_bulkSites => ResourceManager.GetString("tab.bulkSites", resourceCulture) ?? string.Empty;
|
||||
public static string tab_folderStructure => ResourceManager.GetString("tab.folderStructure", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Transfer tab
|
||||
public static string transfer_sourcesite => ResourceManager.GetString("transfer.sourcesite", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_destsite => ResourceManager.GetString("transfer.destsite", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_sourcelibrary => ResourceManager.GetString("transfer.sourcelibrary", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_destlibrary => ResourceManager.GetString("transfer.destlibrary", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_sourcefolder => ResourceManager.GetString("transfer.sourcefolder", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_destfolder => ResourceManager.GetString("transfer.destfolder", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_mode => ResourceManager.GetString("transfer.mode", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_mode_copy => ResourceManager.GetString("transfer.mode.copy", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_mode_move => ResourceManager.GetString("transfer.mode.move", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_conflict => ResourceManager.GetString("transfer.conflict", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_conflict_skip => ResourceManager.GetString("transfer.conflict.skip", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_conflict_overwrite => ResourceManager.GetString("transfer.conflict.overwrite", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_conflict_rename => ResourceManager.GetString("transfer.conflict.rename", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_browse => ResourceManager.GetString("transfer.browse", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_start => ResourceManager.GetString("transfer.start", resourceCulture) ?? string.Empty;
|
||||
public static string transfer_nofiles => ResourceManager.GetString("transfer.nofiles", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Bulk Members tab
|
||||
public static string bulkmembers_import => ResourceManager.GetString("bulkmembers.import", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_example => ResourceManager.GetString("bulkmembers.example", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_execute => ResourceManager.GetString("bulkmembers.execute", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_preview => ResourceManager.GetString("bulkmembers.preview", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_groupname => ResourceManager.GetString("bulkmembers.groupname", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_groupurl => ResourceManager.GetString("bulkmembers.groupurl", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_email => ResourceManager.GetString("bulkmembers.email", resourceCulture) ?? string.Empty;
|
||||
public static string bulkmembers_role => ResourceManager.GetString("bulkmembers.role", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Bulk Sites tab
|
||||
public static string bulksites_import => ResourceManager.GetString("bulksites.import", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_example => ResourceManager.GetString("bulksites.example", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_execute => ResourceManager.GetString("bulksites.execute", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_preview => ResourceManager.GetString("bulksites.preview", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_name => ResourceManager.GetString("bulksites.name", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_alias => ResourceManager.GetString("bulksites.alias", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_type => ResourceManager.GetString("bulksites.type", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_owners => ResourceManager.GetString("bulksites.owners", resourceCulture) ?? string.Empty;
|
||||
public static string bulksites_members => ResourceManager.GetString("bulksites.members", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Folder Structure tab
|
||||
public static string folderstruct_import => ResourceManager.GetString("folderstruct.import", resourceCulture) ?? string.Empty;
|
||||
public static string folderstruct_example => ResourceManager.GetString("folderstruct.example", resourceCulture) ?? string.Empty;
|
||||
public static string folderstruct_execute => ResourceManager.GetString("folderstruct.execute", resourceCulture) ?? string.Empty;
|
||||
public static string folderstruct_preview => ResourceManager.GetString("folderstruct.preview", resourceCulture) ?? string.Empty;
|
||||
public static string folderstruct_library => ResourceManager.GetString("folderstruct.library", resourceCulture) ?? string.Empty;
|
||||
public static string folderstruct_siteurl => ResourceManager.GetString("folderstruct.siteurl", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Templates tab
|
||||
public static string templates_list => ResourceManager.GetString("templates.list", resourceCulture) ?? string.Empty;
|
||||
public static string templates_capture => ResourceManager.GetString("templates.capture", resourceCulture) ?? string.Empty;
|
||||
public static string templates_apply => ResourceManager.GetString("templates.apply", resourceCulture) ?? string.Empty;
|
||||
public static string templates_rename => ResourceManager.GetString("templates.rename", resourceCulture) ?? string.Empty;
|
||||
public static string templates_delete => ResourceManager.GetString("templates.delete", resourceCulture) ?? string.Empty;
|
||||
public static string templates_siteurl => ResourceManager.GetString("templates.siteurl", resourceCulture) ?? string.Empty;
|
||||
public static string templates_name => ResourceManager.GetString("templates.name", resourceCulture) ?? string.Empty;
|
||||
public static string templates_newtitle => ResourceManager.GetString("templates.newtitle", resourceCulture) ?? string.Empty;
|
||||
public static string templates_newalias => ResourceManager.GetString("templates.newalias", resourceCulture) ?? string.Empty;
|
||||
public static string templates_options => ResourceManager.GetString("templates.options", resourceCulture) ?? string.Empty;
|
||||
public static string templates_opt_libraries => ResourceManager.GetString("templates.opt.libraries", resourceCulture) ?? string.Empty;
|
||||
public static string templates_opt_folders => ResourceManager.GetString("templates.opt.folders", resourceCulture) ?? string.Empty;
|
||||
public static string templates_opt_permissions => ResourceManager.GetString("templates.opt.permissions", resourceCulture) ?? string.Empty;
|
||||
public static string templates_opt_logo => ResourceManager.GetString("templates.opt.logo", resourceCulture) ?? string.Empty;
|
||||
public static string templates_opt_settings => ResourceManager.GetString("templates.opt.settings", resourceCulture) ?? string.Empty;
|
||||
public static string templates_empty => ResourceManager.GetString("templates.empty", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Shared bulk operation strings
|
||||
public static string bulk_confirm_title => ResourceManager.GetString("bulk.confirm.title", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_confirm_proceed => ResourceManager.GetString("bulk.confirm.proceed", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_confirm_cancel => ResourceManager.GetString("bulk.confirm.cancel", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_confirm_message => ResourceManager.GetString("bulk.confirm.message", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_result_success => ResourceManager.GetString("bulk.result.success", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_result_allfailed => ResourceManager.GetString("bulk.result.allfailed", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_result_allsuccess => ResourceManager.GetString("bulk.result.allsuccess", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_exportfailed => ResourceManager.GetString("bulk.exportfailed", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_retryfailed => ResourceManager.GetString("bulk.retryfailed", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_validation_invalid => ResourceManager.GetString("bulk.validation.invalid", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_csvimport_title => ResourceManager.GetString("bulk.csvimport.title", resourceCulture) ?? string.Empty;
|
||||
public static string bulk_csvimport_filter => ResourceManager.GetString("bulk.csvimport.filter", resourceCulture) ?? string.Empty;
|
||||
|
||||
// Phase 4: Folder browser dialog
|
||||
public static string folderbrowser_title => ResourceManager.GetString("folderbrowser.title", resourceCulture) ?? string.Empty;
|
||||
public static string folderbrowser_loading => ResourceManager.GetString("folderbrowser.loading", resourceCulture) ?? string.Empty;
|
||||
public static string folderbrowser_select => ResourceManager.GetString("folderbrowser.select", resourceCulture) ?? string.Empty;
|
||||
public static string folderbrowser_cancel => ResourceManager.GetString("folderbrowser.cancel", resourceCulture) ?? string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,870 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="app.title" xml:space="preserve">
|
||||
<value>SharePoint Toolbox</value>
|
||||
</data>
|
||||
<data name="toolbar.connect" xml:space="preserve">
|
||||
<value>Connexion</value>
|
||||
</data>
|
||||
<data name="toolbar.manage" xml:space="preserve">
|
||||
<value>Gérer les profils...</value>
|
||||
</data>
|
||||
<data name="toolbar.clear" xml:space="preserve">
|
||||
<value>Déconnecter</value>
|
||||
</data>
|
||||
<data name="tab.permissions" xml:space="preserve">
|
||||
<value>Permissions</value>
|
||||
</data>
|
||||
<data name="tab.storage" xml:space="preserve">
|
||||
<value>Stockage</value>
|
||||
</data>
|
||||
<data name="tab.search" xml:space="preserve">
|
||||
<value>Recherche de fichiers</value>
|
||||
</data>
|
||||
<data name="tab.duplicates" xml:space="preserve">
|
||||
<value>Doublons</value>
|
||||
</data>
|
||||
<data name="tab.versions" xml:space="preserve">
|
||||
<value>Versions</value>
|
||||
</data>
|
||||
<data name="versions.tab" xml:space="preserve">
|
||||
<value>Nettoyage des versions</value>
|
||||
</data>
|
||||
<data name="versions.grp.libs" xml:space="preserve">
|
||||
<value>Bibliothèques</value>
|
||||
</data>
|
||||
<data name="versions.grp.policy" xml:space="preserve">
|
||||
<value>Politique de conservation</value>
|
||||
</data>
|
||||
<data name="versions.btn.pickLibs" xml:space="preserve">
|
||||
<value>Choisir des bibliothèques…</value>
|
||||
</data>
|
||||
<data name="versions.btn.clearLibs" xml:space="preserve">
|
||||
<value>Réinitialiser (toutes les bibliothèques)</value>
|
||||
</data>
|
||||
<data name="versions.btn.run" xml:space="preserve">
|
||||
<value>Supprimer les anciennes versions</value>
|
||||
</data>
|
||||
<data name="versions.lbl.keepLast" xml:space="preserve">
|
||||
<value>Conserver les dernières :</value>
|
||||
</data>
|
||||
<data name="versions.chk.keepFirst" xml:space="preserve">
|
||||
<value>Conserver aussi la toute première version</value>
|
||||
</data>
|
||||
<data name="versions.chk.confirm" xml:space="preserve">
|
||||
<value>Demander confirmation avant l'exécution</value>
|
||||
</data>
|
||||
<data name="versions.note" xml:space="preserve">
|
||||
<value>Seules les versions historiques sont supprimées. La version courante publiée est toujours conservée. L'action est irréversible.</value>
|
||||
</data>
|
||||
<data name="versions.libs.all" xml:space="preserve">
|
||||
<value>Toutes les bibliothèques (aucun filtre)</value>
|
||||
</data>
|
||||
<data name="versions.libs.count" xml:space="preserve">
|
||||
<value>{0} bibliothèque(s) sélectionnée(s)</value>
|
||||
</data>
|
||||
<data name="versions.confirm" xml:space="preserve">
|
||||
<value>Supprimer les versions historiques en gardant les {0} dernières {1} ?
|
||||
Cette action est irréversible.</value>
|
||||
</data>
|
||||
<data name="versions.confirm.keepFirst" xml:space="preserve">
|
||||
<value>(plus la première version)</value>
|
||||
</data>
|
||||
<data name="versions.err.keepLast" xml:space="preserve">
|
||||
<value>« Conserver les dernières » doit être supérieur ou égal à 0.</value>
|
||||
</data>
|
||||
<data name="versions.summary.files" xml:space="preserve">
|
||||
<value>Fichiers nettoyés :</value>
|
||||
</data>
|
||||
<data name="versions.summary.deleted" xml:space="preserve">
|
||||
<value>Versions supprimées :</value>
|
||||
</data>
|
||||
<data name="versions.summary.freed" xml:space="preserve">
|
||||
<value>Octets libérés :</value>
|
||||
</data>
|
||||
<data name="versions.col.library" xml:space="preserve">
|
||||
<value>Bibliothèque</value>
|
||||
</data>
|
||||
<data name="versions.col.file" xml:space="preserve">
|
||||
<value>Fichier</value>
|
||||
</data>
|
||||
<data name="versions.col.before" xml:space="preserve">
|
||||
<value>Avant</value>
|
||||
</data>
|
||||
<data name="versions.col.deleted" xml:space="preserve">
|
||||
<value>Supprimées</value>
|
||||
</data>
|
||||
<data name="versions.col.remaining" xml:space="preserve">
|
||||
<value>Restantes</value>
|
||||
</data>
|
||||
<data name="versions.col.freed" xml:space="preserve">
|
||||
<value>Libérés</value>
|
||||
</data>
|
||||
<data name="versions.col.path" xml:space="preserve">
|
||||
<value>Chemin</value>
|
||||
</data>
|
||||
<data name="versions.col.error" xml:space="preserve">
|
||||
<value>Erreur</value>
|
||||
</data>
|
||||
<data name="librarypicker.title" xml:space="preserve">
|
||||
<value>Sélectionner les bibliothèques</value>
|
||||
</data>
|
||||
<data name="librarypicker.loading" xml:space="preserve">
|
||||
<value>Chargement des bibliothèques…</value>
|
||||
</data>
|
||||
<data name="librarypicker.loaded" xml:space="preserve">
|
||||
<value>{0} bibliothèques chargées.</value>
|
||||
</data>
|
||||
<data name="librarypicker.selectAll" xml:space="preserve">
|
||||
<value>Tout sélectionner</value>
|
||||
</data>
|
||||
<data name="librarypicker.selectNone" xml:space="preserve">
|
||||
<value>Tout désélectionner</value>
|
||||
</data>
|
||||
<data name="tab.templates" xml:space="preserve">
|
||||
<value>Modèles</value>
|
||||
</data>
|
||||
<data name="tab.bulk" xml:space="preserve">
|
||||
<value>Opérations en masse</value>
|
||||
</data>
|
||||
<data name="tab.structure" xml:space="preserve">
|
||||
<value>Structure de dossiers</value>
|
||||
</data>
|
||||
<data name="tab.settings" xml:space="preserve">
|
||||
<value>Paramètres</value>
|
||||
</data>
|
||||
<data name="tab.comingsoon" xml:space="preserve">
|
||||
<value>Bientôt disponible</value>
|
||||
</data>
|
||||
<data name="btn.cancel" xml:space="preserve">
|
||||
<value>Annuler</value>
|
||||
</data>
|
||||
<data name="settings.language" xml:space="preserve">
|
||||
<value>Langue</value>
|
||||
</data>
|
||||
<data name="settings.lang.en" xml:space="preserve">
|
||||
<value>Anglais</value>
|
||||
</data>
|
||||
<data name="settings.lang.fr" xml:space="preserve">
|
||||
<value>Français</value>
|
||||
</data>
|
||||
<data name="settings.theme" xml:space="preserve">
|
||||
<value>Thème</value>
|
||||
</data>
|
||||
<data name="settings.theme.system" xml:space="preserve">
|
||||
<value>Utiliser le paramètre système</value>
|
||||
</data>
|
||||
<data name="settings.theme.light" xml:space="preserve">
|
||||
<value>Clair</value>
|
||||
</data>
|
||||
<data name="settings.theme.dark" xml:space="preserve">
|
||||
<value>Sombre</value>
|
||||
</data>
|
||||
<data name="settings.folder" xml:space="preserve">
|
||||
<value>Dossier de sortie des données</value>
|
||||
</data>
|
||||
<data name="settings.browse" xml:space="preserve">
|
||||
<value>Parcourir...</value>
|
||||
</data>
|
||||
<data name="profile.name" xml:space="preserve">
|
||||
<value>Nom du profil</value>
|
||||
</data>
|
||||
<data name="profile.url" xml:space="preserve">
|
||||
<value>URL du tenant</value>
|
||||
</data>
|
||||
<data name="profile.clientid" xml:space="preserve">
|
||||
<value>ID client</value>
|
||||
</data>
|
||||
<data name="profile.clientid.hint" xml:space="preserve">
|
||||
<value>Optionnel — laissez vide pour enregistrer l'application automatiquement</value>
|
||||
</data>
|
||||
<data name="profile.add" xml:space="preserve">
|
||||
<value>Ajouter</value>
|
||||
</data>
|
||||
<data name="profile.save" xml:space="preserve">
|
||||
<value>Enregistrer</value>
|
||||
</data>
|
||||
<data name="profile.delete" xml:space="preserve">
|
||||
<value>Supprimer</value>
|
||||
</data>
|
||||
<data name="profile.add.tooltip" xml:space="preserve">
|
||||
<value>Créer un nouveau profil à partir des valeurs ci-dessus.</value>
|
||||
</data>
|
||||
<data name="profile.save.tooltip" xml:space="preserve">
|
||||
<value>Enregistrer les modifications du profil sélectionné.</value>
|
||||
</data>
|
||||
<data name="profile.delete.tooltip" xml:space="preserve">
|
||||
<value>Supprimer le profil sélectionné.</value>
|
||||
</data>
|
||||
<data name="profile.register.warning" xml:space="preserve">
|
||||
<value>L'enregistrement de l'application peut nécessiter jusqu'à {0} connexions. Continuer ?</value>
|
||||
</data>
|
||||
<data name="status.ready" xml:space="preserve">
|
||||
<value>Prêt</value>
|
||||
</data>
|
||||
<data name="status.complete" xml:space="preserve">
|
||||
<value>Terminé</value>
|
||||
</data>
|
||||
<data name="status.cancelled" xml:space="preserve">
|
||||
<value>Opération annulée</value>
|
||||
</data>
|
||||
<data name="err.auth.failed" xml:space="preserve">
|
||||
<value>Échec de l'authentification. Vérifiez l'URL du tenant et l'ID client.</value>
|
||||
</data>
|
||||
<data name="err.generic" xml:space="preserve">
|
||||
<value>Une erreur s'est produite. Consultez le journal pour plus de détails.</value>
|
||||
</data>
|
||||
<data name="grp.scan.opts" xml:space="preserve"><value>Options d'analyse</value></data>
|
||||
<data name="chk.scan.folders" xml:space="preserve"><value>Analyser les dossiers</value></data>
|
||||
<data name="chk.recursive" xml:space="preserve"><value>Récursif (sous-sites)</value></data>
|
||||
<data name="lbl.folder.depth" xml:space="preserve"><value>Profondeur des dossiers :</value></data>
|
||||
<data name="chk.max.depth" xml:space="preserve"><value>Maximum (tous les niveaux)</value></data>
|
||||
<data name="chk.inherited.perms" xml:space="preserve"><value>Inclure les permissions héritées</value></data>
|
||||
<data name="chk.simplified.mode" xml:space="preserve"><value>Mode simplifié</value></data>
|
||||
<data name="grp.display.opts" xml:space="preserve"><value>Options d'affichage</value></data>
|
||||
<data name="grp.export.fmt" xml:space="preserve"><value>Format d'export</value></data>
|
||||
<data name="rad.csv.perms" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="rad.detail.detailed" xml:space="preserve"><value>Détaillé (toutes les lignes)</value></data>
|
||||
<data name="rad.detail.simple" xml:space="preserve"><value>Simple (résumé uniquement)</value></data>
|
||||
<data name="rad.html.perms" xml:space="preserve"><value>HTML</value></data>
|
||||
<data name="btn.gen.perms" xml:space="preserve"><value>Générer le rapport</value></data>
|
||||
<data name="btn.open.perms" xml:space="preserve"><value>Ouvrir le rapport</value></data>
|
||||
<data name="btn.view.sites" xml:space="preserve"><value>Voir les sites</value></data>
|
||||
<data name="perm.site.url" xml:space="preserve"><value>URL du site :</value></data>
|
||||
<data name="perm.or.select" xml:space="preserve"><value>ou sélectionnez plusieurs sites :</value></data>
|
||||
<data name="perm.sites.selected" xml:space="preserve"><value>{0} site(s) sélectionné(s)</value></data>
|
||||
<!-- Phase 3: Storage Tab -->
|
||||
<data name="chk.per.lib" xml:space="preserve"><value>Détail par bibliothèque</value></data>
|
||||
<data name="chk.subsites" xml:space="preserve"><value>Inclure les sous-sites</value></data>
|
||||
<data name="stor.note" xml:space="preserve"><value>Remarque : les analyses de dossiers profondes sur les grands sites peuvent prendre plusieurs minutes.</value></data>
|
||||
<data name="btn.gen.storage" xml:space="preserve"><value>Générer les métriques</value></data>
|
||||
<data name="btn.open.storage" xml:space="preserve"><value>Ouvrir le rapport</value></data>
|
||||
<data name="stor.col.library" xml:space="preserve"><value>Bibliothèque</value></data>
|
||||
<data name="stor.col.site" xml:space="preserve"><value>Site</value></data>
|
||||
<data name="stor.col.files" xml:space="preserve"><value>Fichiers</value></data>
|
||||
<data name="stor.col.size" xml:space="preserve"><value>Taille totale</value></data>
|
||||
<data name="stor.col.versions" xml:space="preserve"><value>Taille des versions</value></data>
|
||||
<data name="stor.col.lastmod" xml:space="preserve"><value>Dernière modification</value></data>
|
||||
<data name="stor.col.share" xml:space="preserve"><value>Part du total</value></data>
|
||||
<data name="stor.rad.csv" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="stor.rad.html" xml:space="preserve"><value>HTML</value></data>
|
||||
<data name="stor.col.kind" xml:space="preserve"><value>Type</value></data>
|
||||
<data name="stor.kind.library" xml:space="preserve"><value>Bibliothèque</value></data>
|
||||
<data name="stor.kind.hidden" xml:space="preserve"><value>Bibliothèque masquée</value></data>
|
||||
<data name="stor.kind.preservation" xml:space="preserve"><value>Conservation</value></data>
|
||||
<data name="stor.kind.attachments" xml:space="preserve"><value>Pièces jointes</value></data>
|
||||
<data name="stor.kind.recyclebin" xml:space="preserve"><value>Corbeille</value></data>
|
||||
<data name="stor.kind.subsite" xml:space="preserve"><value>Sous-site</value></data>
|
||||
<data name="grp.scan.sources" xml:space="preserve"><value>Sources analysées</value></data>
|
||||
<data name="grp.report.filter" xml:space="preserve"><value>Afficher dans le rapport</value></data>
|
||||
<data name="chk.scan.hidden" xml:space="preserve"><value>Bibliothèques masquées</value></data>
|
||||
<data name="chk.scan.preservation" xml:space="preserve"><value>Conservation</value></data>
|
||||
<data name="chk.scan.attachments" xml:space="preserve"><value>Pièces jointes</value></data>
|
||||
<data name="chk.scan.recyclebin" xml:space="preserve"><value>Corbeille</value></data>
|
||||
<data name="chk.show.libraries" xml:space="preserve"><value>Bibliothèques</value></data>
|
||||
<data name="chk.show.hidden" xml:space="preserve"><value>Bibliothèques masquées</value></data>
|
||||
<data name="chk.show.preservation" xml:space="preserve"><value>Conservation</value></data>
|
||||
<data name="chk.show.attachments" xml:space="preserve"><value>Pièces jointes</value></data>
|
||||
<data name="chk.show.recyclebin" xml:space="preserve"><value>Corbeille</value></data>
|
||||
<data name="chk.show.subsites" xml:space="preserve"><value>Sous-sites</value></data>
|
||||
<data name="chk.combine.recyclebin" xml:space="preserve"><value>Combiner les corbeilles (afficher le total)</value></data>
|
||||
<data name="storage.lbl.spo_reported_colon" xml:space="preserve"><value>Total rapporté par SPO : </value></data>
|
||||
<data name="storage.lbl.recyclebin_colon" xml:space="preserve"><value>Corbeille : </value></data>
|
||||
<!-- Phase 3: File Search Tab -->
|
||||
<data name="grp.search.filters" xml:space="preserve"><value>Filtres de recherche</value></data>
|
||||
<data name="lbl.detail.level" xml:space="preserve"><value>Niveau de détail :</value></data>
|
||||
<data name="lbl.extensions" xml:space="preserve"><value>Extension(s) :</value></data>
|
||||
<data name="ph.extensions" xml:space="preserve"><value>docx pdf xlsx</value></data>
|
||||
<data name="lbl.regex" xml:space="preserve"><value>Nom / Regex :</value></data>
|
||||
<data name="ph.regex" xml:space="preserve"><value>Ex : rapport.* ou \.bak$</value></data>
|
||||
<data name="chk.created.after" xml:space="preserve"><value>Créé après :</value></data>
|
||||
<data name="chk.created.before" xml:space="preserve"><value>Créé avant :</value></data>
|
||||
<data name="chk.modified.after" xml:space="preserve"><value>Modifié après :</value></data>
|
||||
<data name="chk.modified.before" xml:space="preserve"><value>Modifié avant :</value></data>
|
||||
<data name="lbl.created.by" xml:space="preserve"><value>Créé par :</value></data>
|
||||
<data name="ph.created.by" xml:space="preserve"><value>Prénom Nom ou courriel</value></data>
|
||||
<data name="lbl.modified.by" xml:space="preserve"><value>Modifié par :</value></data>
|
||||
<data name="ph.modified.by" xml:space="preserve"><value>Prénom Nom ou courriel</value></data>
|
||||
<data name="lbl.library" xml:space="preserve"><value>Bibliothèque :</value></data>
|
||||
<data name="ph.library" xml:space="preserve"><value>Chemin relatif optionnel, ex. Documents partagés</value></data>
|
||||
<data name="lbl.max.results" xml:space="preserve"><value>Max résultats :</value></data>
|
||||
<data name="lbl.site.url" xml:space="preserve"><value>URL du site :</value></data>
|
||||
<data name="lbl.summary.users" xml:space="preserve"><value>utilisateur(s)</value></data>
|
||||
<data name="ph.site.url" xml:space="preserve"><value>https://tenant.sharepoint.com/sites/MonSite</value></data>
|
||||
<data name="btn.run.search" xml:space="preserve"><value>Lancer la recherche</value></data>
|
||||
<data name="btn.open.search" xml:space="preserve"><value>Ouvrir les résultats</value></data>
|
||||
<data name="srch.col.name" xml:space="preserve"><value>Nom du fichier</value></data>
|
||||
<data name="srch.col.ext" xml:space="preserve"><value>Extension</value></data>
|
||||
<data name="srch.col.created" xml:space="preserve"><value>Créé</value></data>
|
||||
<data name="srch.col.modified" xml:space="preserve"><value>Modifié</value></data>
|
||||
<data name="srch.col.author" xml:space="preserve"><value>Créé par</value></data>
|
||||
<data name="srch.col.modby" xml:space="preserve"><value>Modifié par</value></data>
|
||||
<data name="srch.col.size" xml:space="preserve"><value>Taille</value></data>
|
||||
<data name="srch.col.path" xml:space="preserve"><value>Chemin</value></data>
|
||||
<data name="srch.rad.csv" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="srch.rad.html" xml:space="preserve"><value>HTML</value></data>
|
||||
<!-- Phase 3: Duplicates Tab -->
|
||||
<data name="grp.dup.type" xml:space="preserve"><value>Type de doublon</value></data>
|
||||
<data name="rad.dup.files" xml:space="preserve"><value>Fichiers en doublon</value></data>
|
||||
<data name="rad.dup.folders" xml:space="preserve"><value>Dossiers en doublon</value></data>
|
||||
<data name="grp.dup.criteria" xml:space="preserve"><value>Critères de comparaison</value></data>
|
||||
<data name="lbl.dup.note" xml:space="preserve"><value>Le nom est toujours le critère principal. Cochez des critères supplémentaires :</value></data>
|
||||
<data name="chk.dup.size" xml:space="preserve"><value>Même taille</value></data>
|
||||
<data name="chk.dup.created" xml:space="preserve"><value>Même date de création</value></data>
|
||||
<data name="chk.dup.modified" xml:space="preserve"><value>Même date de modification</value></data>
|
||||
<data name="chk.dup.subfolders" xml:space="preserve"><value>Même nombre de sous-dossiers</value></data>
|
||||
<data name="chk.dup.filecount" xml:space="preserve"><value>Même nombre de fichiers</value></data>
|
||||
<data name="chk.include.subsites" xml:space="preserve"><value>Inclure les sous-sites</value></data>
|
||||
<data name="ph.dup.lib" xml:space="preserve"><value>Tous (laisser vide)</value></data>
|
||||
<data name="btn.run.scan" xml:space="preserve"><value>Lancer l'analyse</value></data>
|
||||
<data name="btn.open.results" xml:space="preserve"><value>Ouvrir les résultats</value></data>
|
||||
<!-- Phase 4: Tab headers -->
|
||||
<data name="tab.transfer" xml:space="preserve"><value>Transfert</value></data>
|
||||
<data name="tab.bulkMembers" xml:space="preserve"><value>Ajout en masse</value></data>
|
||||
<data name="tab.bulkSites" xml:space="preserve"><value>Sites en masse</value></data>
|
||||
<data name="tab.folderStructure" xml:space="preserve"><value>Structure de dossiers</value></data>
|
||||
<!-- Phase 4: Transfer tab -->
|
||||
<data name="transfer.sourcesite" xml:space="preserve"><value>Site source</value></data>
|
||||
<data name="transfer.destsite" xml:space="preserve"><value>Site destination</value></data>
|
||||
<data name="transfer.sourcelibrary" xml:space="preserve"><value>Bibliothèque source</value></data>
|
||||
<data name="transfer.destlibrary" xml:space="preserve"><value>Bibliothèque destination</value></data>
|
||||
<data name="transfer.sourcefolder" xml:space="preserve"><value>Dossier source</value></data>
|
||||
<data name="transfer.destfolder" xml:space="preserve"><value>Dossier destination</value></data>
|
||||
<data name="transfer.mode" xml:space="preserve"><value>Mode de transfert</value></data>
|
||||
<data name="transfer.mode.copy" xml:space="preserve"><value>Copier</value></data>
|
||||
<data name="transfer.mode.move" xml:space="preserve"><value>Déplacer</value></data>
|
||||
<data name="transfer.conflict" xml:space="preserve"><value>Politique de conflit</value></data>
|
||||
<data name="transfer.conflict.skip" xml:space="preserve"><value>Ignorer</value></data>
|
||||
<data name="transfer.conflict.overwrite" xml:space="preserve"><value>Écraser</value></data>
|
||||
<data name="transfer.conflict.rename" xml:space="preserve"><value>Renommer (ajouter suffixe)</value></data>
|
||||
<data name="transfer.browse" xml:space="preserve"><value>Parcourir...</value></data>
|
||||
<data name="transfer.start" xml:space="preserve"><value>Démarrer le transfert</value></data>
|
||||
<data name="transfer.nofiles" xml:space="preserve"><value>Aucun fichier à transférer.</value></data>
|
||||
<!-- Phase 4: Bulk Members tab -->
|
||||
<data name="bulkmembers.import" xml:space="preserve"><value>Importer CSV</value></data>
|
||||
<data name="bulkmembers.example" xml:space="preserve"><value>Charger l'exemple</value></data>
|
||||
<data name="bulkmembers.execute" xml:space="preserve"><value>Ajouter les membres</value></data>
|
||||
<data name="bulkmembers.preview" xml:space="preserve"><value>Aperçu ({0} lignes, {1} valides, {2} invalides)</value></data>
|
||||
<data name="bulkmembers.groupname" xml:space="preserve"><value>Nom du groupe</value></data>
|
||||
<data name="bulkmembers.groupurl" xml:space="preserve"><value>URL du groupe</value></data>
|
||||
<data name="bulkmembers.email" xml:space="preserve"><value>Courriel</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>Importer CSV</value></data>
|
||||
<data name="bulksites.example" xml:space="preserve"><value>Charger l'exemple</value></data>
|
||||
<data name="bulksites.execute" xml:space="preserve"><value>Créer les sites</value></data>
|
||||
<data name="bulksites.preview" xml:space="preserve"><value>Aperçu ({0} lignes, {1} valides, {2} invalides)</value></data>
|
||||
<data name="bulksites.name" xml:space="preserve"><value>Nom</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>Propriétaires</value></data>
|
||||
<data name="bulksites.members" xml:space="preserve"><value>Membres</value></data>
|
||||
<!-- Phase 4: Folder Structure tab -->
|
||||
<data name="folderstruct.import" xml:space="preserve"><value>Importer CSV</value></data>
|
||||
<data name="folderstruct.example" xml:space="preserve"><value>Charger l'exemple</value></data>
|
||||
<data name="folderstruct.execute" xml:space="preserve"><value>Créer les dossiers</value></data>
|
||||
<data name="folderstruct.preview" xml:space="preserve"><value>Aperçu ({0} dossiers à créer)</value></data>
|
||||
<data name="folderstruct.library" xml:space="preserve"><value>Bibliothèque cible</value></data>
|
||||
<data name="folderstruct.siteurl" xml:space="preserve"><value>URL du site</value></data>
|
||||
<!-- Phase 4: Templates tab -->
|
||||
<data name="templates.list" xml:space="preserve"><value>Modèles enregistrés</value></data>
|
||||
<data name="templates.capture" xml:space="preserve"><value>Capturer un modèle</value></data>
|
||||
<data name="templates.apply" xml:space="preserve"><value>Appliquer le modèle</value></data>
|
||||
<data name="templates.rename" xml:space="preserve"><value>Renommer</value></data>
|
||||
<data name="templates.delete" xml:space="preserve"><value>Supprimer</value></data>
|
||||
<data name="templates.siteurl" xml:space="preserve"><value>URL du site source</value></data>
|
||||
<data name="templates.name" xml:space="preserve"><value>Nom du modèle</value></data>
|
||||
<data name="templates.newtitle" xml:space="preserve"><value>Titre du nouveau site</value></data>
|
||||
<data name="templates.newalias" xml:space="preserve"><value>Alias du nouveau site</value></data>
|
||||
<data name="templates.options" xml:space="preserve"><value>Options de capture</value></data>
|
||||
<data name="templates.opt.libraries" xml:space="preserve"><value>Bibliothèques</value></data>
|
||||
<data name="templates.opt.folders" xml:space="preserve"><value>Dossiers</value></data>
|
||||
<data name="templates.opt.permissions" xml:space="preserve"><value>Groupes de permissions</value></data>
|
||||
<data name="templates.opt.logo" xml:space="preserve"><value>Logo du site</value></data>
|
||||
<data name="templates.opt.settings" xml:space="preserve"><value>Paramètres du site</value></data>
|
||||
<data name="templates.empty" xml:space="preserve"><value>Aucun modèle enregistré.</value></data>
|
||||
<!-- Phase 4: Shared bulk operation strings -->
|
||||
<data name="bulk.confirm.title" xml:space="preserve"><value>Confirmer l'opération</value></data>
|
||||
<data name="bulk.confirm.proceed" xml:space="preserve"><value>Continuer</value></data>
|
||||
<data name="bulk.confirm.cancel" xml:space="preserve"><value>Annuler</value></data>
|
||||
<data name="bulk.confirm.message" xml:space="preserve"><value>{0} — Continuer ?</value></data>
|
||||
<data name="bulk.result.success" xml:space="preserve"><value>Terminé : {0} réussis, {1} échoués</value></data>
|
||||
<data name="bulk.result.allfailed" xml:space="preserve"><value>Les {0} éléments ont échoué.</value></data>
|
||||
<data name="bulk.result.allsuccess" xml:space="preserve"><value>Les {0} éléments ont été traités avec succès.</value></data>
|
||||
<data name="bulk.exportfailed" xml:space="preserve"><value>Exporter les éléments échoués</value></data>
|
||||
<data name="bulk.retryfailed" xml:space="preserve"><value>Réessayer les échecs</value></data>
|
||||
<data name="bulk.validation.invalid" xml:space="preserve"><value>{0} lignes contiennent des erreurs. Corrigez et réimportez.</value></data>
|
||||
<data name="bulk.csvimport.title" xml:space="preserve"><value>Sélectionner un fichier CSV</value></data>
|
||||
<data name="bulk.csvimport.filter" xml:space="preserve"><value>Fichiers CSV (*.csv)|*.csv</value></data>
|
||||
<!-- Phase 4: Folder browser dialog -->
|
||||
<data name="folderbrowser.title" xml:space="preserve"><value>Sélectionner un dossier</value></data>
|
||||
<data name="folderbrowser.loading" xml:space="preserve"><value>Chargement de l'arborescence...</value></data>
|
||||
<data name="folderbrowser.select" xml:space="preserve"><value>Sélectionner</value></data>
|
||||
<data name="folderbrowser.cancel" xml:space="preserve"><value>Annuler</value></data>
|
||||
<!-- Phase 6: Global Site Selection toolbar -->
|
||||
<data name="toolbar.selectSites" xml:space="preserve">
|
||||
<value>Choisir les sites</value>
|
||||
</data>
|
||||
<data name="toolbar.selectSites.tooltip" xml:space="preserve">
|
||||
<value>Choisir les sites cibles pour tous les onglets</value>
|
||||
</data>
|
||||
<data name="toolbar.selectSites.tooltipDisabled" xml:space="preserve">
|
||||
<value>Connectez-vous d'abord</value>
|
||||
</data>
|
||||
<data name="toolbar.globalSites.count" xml:space="preserve">
|
||||
<value>{0} site(s) selectionne(s)</value>
|
||||
</data>
|
||||
<data name="toolbar.globalSites.none" xml:space="preserve">
|
||||
<value>Aucun site selectionne</value>
|
||||
</data>
|
||||
<!-- Phase 7: User Access Audit -->
|
||||
<data name="tab.userAccessAudit" xml:space="preserve">
|
||||
<value>Audit des accès utilisateur</value>
|
||||
</data>
|
||||
<data name="audit.grp.users" xml:space="preserve">
|
||||
<value>Sélectionner les utilisateurs</value>
|
||||
</data>
|
||||
<data name="audit.grp.sites" xml:space="preserve">
|
||||
<value>Sites cibles</value>
|
||||
</data>
|
||||
<data name="audit.grp.options" xml:space="preserve">
|
||||
<value>Options d'analyse</value>
|
||||
</data>
|
||||
<data name="audit.search.placeholder" xml:space="preserve">
|
||||
<value>Rechercher par nom ou email...</value>
|
||||
</data>
|
||||
<data name="audit.users.selected" xml:space="preserve">
|
||||
<value>{0} utilisateur(s) sélectionné(s)</value>
|
||||
</data>
|
||||
<data name="audit.btn.run" xml:space="preserve">
|
||||
<value>Lancer l'audit</value>
|
||||
</data>
|
||||
<data name="audit.btn.exportCsv" xml:space="preserve">
|
||||
<value>Exporter CSV</value>
|
||||
</data>
|
||||
<data name="audit.btn.exportHtml" xml:space="preserve">
|
||||
<value>Exporter HTML</value>
|
||||
</data>
|
||||
<data name="export.split.label" xml:space="preserve">
|
||||
<value>Découper</value>
|
||||
</data>
|
||||
<data name="export.split.single" xml:space="preserve">
|
||||
<value>Fichier unique</value>
|
||||
</data>
|
||||
<data name="export.split.bySite" xml:space="preserve">
|
||||
<value>Par site</value>
|
||||
</data>
|
||||
<data name="export.split.byUser" xml:space="preserve">
|
||||
<value>Par utilisateur</value>
|
||||
</data>
|
||||
<data name="export.html.layout.label" xml:space="preserve">
|
||||
<value>Mise en page HTML</value>
|
||||
</data>
|
||||
<data name="export.html.layout.separate" xml:space="preserve">
|
||||
<value>Fichiers séparés</value>
|
||||
</data>
|
||||
<data name="export.html.layout.tabbed" xml:space="preserve">
|
||||
<value>Fichier unique à onglets</value>
|
||||
</data>
|
||||
<data name="audit.summary.total" xml:space="preserve">
|
||||
<value>Total des accès</value>
|
||||
</data>
|
||||
<data name="audit.summary.sites" xml:space="preserve">
|
||||
<value>Sites</value>
|
||||
</data>
|
||||
<data name="audit.summary.highPriv" xml:space="preserve">
|
||||
<value>Privilèges élevés</value>
|
||||
</data>
|
||||
<data name="audit.toggle.byUser" xml:space="preserve">
|
||||
<value>Par utilisateur</value>
|
||||
</data>
|
||||
<data name="audit.toggle.bySite" xml:space="preserve">
|
||||
<value>Par site</value>
|
||||
</data>
|
||||
<data name="audit.filter.placeholder" xml:space="preserve">
|
||||
<value>Filtrer les résultats...</value>
|
||||
</data>
|
||||
<data name="audit.noUsers" xml:space="preserve">
|
||||
<value>Sélectionnez au moins un utilisateur.</value>
|
||||
</data>
|
||||
<data name="audit.noSites" xml:space="preserve">
|
||||
<value>Sélectionnez au moins un site.</value>
|
||||
</data>
|
||||
<!-- Phase 9: Storage Visualization Charts -->
|
||||
<data name="stor.chart.title" xml:space="preserve"><value>Stockage par type de fichier</value></data>
|
||||
<data name="stor.chart.donut" xml:space="preserve"><value>Graphique en anneau</value></data>
|
||||
<data name="stor.chart.bar" xml:space="preserve"><value>Graphique en barres</value></data>
|
||||
<data name="stor.chart.toggle" xml:space="preserve"><value>Type de graphique :</value></data>
|
||||
<data name="stor.chart.nodata" xml:space="preserve"><value>Exécutez une analyse pour voir la répartition par type de fichier.</value></data>
|
||||
<!-- Phase 12: Logo UI -->
|
||||
<data name="settings.logo.title" xml:space="preserve"><value>Logo MSP</value></data>
|
||||
<data name="settings.logo.browse" xml:space="preserve"><value>Importer</value></data>
|
||||
<data name="settings.logo.clear" xml:space="preserve"><value>Effacer</value></data>
|
||||
<data name="settings.logo.nopreview" xml:space="preserve"><value>Aucun logo configuré</value></data>
|
||||
<data name="profile.logo.title" xml:space="preserve"><value>Logo client</value></data>
|
||||
<data name="profile.logo.browse" xml:space="preserve"><value>Importer</value></data>
|
||||
<data name="profile.logo.clear" xml:space="preserve"><value>Effacer</value></data>
|
||||
<data name="profile.logo.autopull" xml:space="preserve"><value>Importer depuis Entra</value></data>
|
||||
<data name="profile.logo.nopreview" xml:space="preserve"><value>Aucun logo configuré</value></data>
|
||||
<!-- Phase 14: Directory Browse UI -->
|
||||
<data name="audit.mode.search" xml:space="preserve"><value>Recherche</value></data>
|
||||
<data name="audit.mode.browse" xml:space="preserve"><value>Parcourir l'annuaire</value></data>
|
||||
<data name="directory.grp.browse" xml:space="preserve"><value>Annuaire utilisateurs</value></data>
|
||||
<data name="directory.btn.load" xml:space="preserve"><value>Charger l'annuaire</value></data>
|
||||
<data name="directory.btn.cancel" xml:space="preserve"><value>Annuler</value></data>
|
||||
<data name="directory.filter.placeholder" xml:space="preserve"><value>Filtrer les utilisateurs...</value></data>
|
||||
<data name="directory.chk.guests" xml:space="preserve"><value>Inclure les invités</value></data>
|
||||
<data name="directory.status.count" xml:space="preserve"><value>utilisateurs</value></data>
|
||||
<data name="directory.hint.doubleclick" xml:space="preserve"><value>Double-cliquez sur un utilisateur pour l'ajouter à l'audit</value></data>
|
||||
<data name="directory.col.name" xml:space="preserve"><value>Nom</value></data>
|
||||
<data name="directory.col.upn" xml:space="preserve"><value>Courriel</value></data>
|
||||
<data name="directory.col.department" xml:space="preserve"><value>Département</value></data>
|
||||
<data name="directory.col.jobtitle" xml:space="preserve"><value>Poste</value></data>
|
||||
<data name="directory.col.type" xml:space="preserve"><value>Type</value></data>
|
||||
<!-- Phase 16: Report Consolidation Toggle -->
|
||||
<data name="audit.grp.export" xml:space="preserve"><value>Options d'exportation</value></data>
|
||||
<data name="chk.merge.permissions" xml:space="preserve"><value>Fusionner les permissions en double</value></data>
|
||||
<data name="chk.hide.system.group.raw" xml:space="preserve"><value>Masquer les noms bruts (SharingLinks, Limited Access)</value></data>
|
||||
<data name="chk.exclude.sharing.links" xml:space="preserve"><value>Exclure les liens de partage</value></data>
|
||||
<data name="chk.exclude.system.groups" xml:space="preserve"><value>Exclure les groupes système (Limited Access)</value></data>
|
||||
<!-- Phase 19: App Registration & Removal -->
|
||||
<data name="profile.register" xml:space="preserve"><value>Enregistrer l'app</value></data>
|
||||
<data name="profile.remove" xml:space="preserve"><value>Supprimer l'app</value></data>
|
||||
<data name="profile.register.checking" xml:space="preserve"><value>Vérification des permissions...</value></data>
|
||||
<data name="profile.register.registering" xml:space="preserve"><value>Enregistrement de l'application...</value></data>
|
||||
<data name="profile.register.success" xml:space="preserve"><value>Application enregistrée avec succès</value></data>
|
||||
<data name="profile.register.failed" xml:space="preserve"><value>L'enregistrement a échoué</value></data>
|
||||
<data name="profile.register.noperm" xml:space="preserve"><value>Permissions insuffisantes pour l'enregistrement automatique</value></data>
|
||||
<data name="profile.remove.removing" xml:space="preserve"><value>Suppression de l'application...</value></data>
|
||||
<data name="profile.remove.success" xml:space="preserve"><value>Application supprimée avec succès</value></data>
|
||||
<data name="profile.fallback.title" xml:space="preserve"><value>Enregistrement manuel requis</value></data>
|
||||
<data name="profile.fallback.step1" xml:space="preserve"><value>1. Allez dans le portail Azure > Inscriptions d'applications > Nouvelle inscription</value></data>
|
||||
<data name="profile.fallback.step2" xml:space="preserve"><value>2. Nom : 'SharePoint Toolbox - {0}', Types de comptes : Locataire unique</value></data>
|
||||
<data name="profile.fallback.step3" xml:space="preserve"><value>3. URI de redirection : Client public, https://login.microsoftonline.com/common/oauth2/nativeclient</value></data>
|
||||
<data name="profile.fallback.step4" xml:space="preserve"><value>4. Sous Permissions API, ajouter : Microsoft Graph (User.Read, User.Read.All, Group.Read.All, Directory.Read.All) et SharePoint (AllSites.FullControl)</value></data>
|
||||
<data name="profile.fallback.step5" xml:space="preserve"><value>5. Accorder le consentement administrateur pour toutes les permissions</value></data>
|
||||
<data name="profile.fallback.step6" xml:space="preserve"><value>6. Copier l'ID d'application (client) et le coller dans le champ ID Client ci-dessus</value></data>
|
||||
<!-- Phase 18: Auto-Take Ownership -->
|
||||
<data name="settings.ownership.title" xml:space="preserve"><value>Propriété du site</value></data>
|
||||
<data name="settings.ownership.auto" xml:space="preserve"><value>Prendre automatiquement la propriété d'administrateur de collection de sites en cas de refus d'accès</value></data>
|
||||
<data name="settings.ownership.description" xml:space="preserve"><value>Lorsqu'activé, l'application prendra automatiquement les droits d'administrateur de collection de sites lorsqu'un scan rencontre une erreur de refus d'accès. Nécessite les permissions d'administrateur de tenant.</value></data>
|
||||
<data name="permissions.elevated.tooltip" xml:space="preserve"><value>Ce site a été élevé automatiquement — la propriété a été prise pour compléter le scan</value></data>
|
||||
<!-- Report export localization -->
|
||||
<data name="report.title.user_access" xml:space="preserve"><value>Rapport d'audit des accès utilisateurs</value></data>
|
||||
<data name="report.title.user_access_consolidated" xml:space="preserve"><value>Rapport d'audit des accès utilisateurs (consolidé)</value></data>
|
||||
<data name="report.title.permissions" xml:space="preserve"><value>Rapport des permissions SharePoint</value></data>
|
||||
<data name="report.title.permissions_simplified" xml:space="preserve"><value>Rapport des permissions SharePoint (simplifié)</value></data>
|
||||
<data name="report.title.storage" xml:space="preserve"><value>Métriques de stockage SharePoint</value></data>
|
||||
<data name="report.title.duplicates" xml:space="preserve"><value>Rapport de détection de doublons SharePoint</value></data>
|
||||
<data name="report.title.duplicates_short" xml:space="preserve"><value>Rapport de détection de doublons</value></data>
|
||||
<data name="report.title.search" xml:space="preserve"><value>Résultats de recherche de fichiers SharePoint</value></data>
|
||||
<data name="report.title.search_short" xml:space="preserve"><value>Résultats de recherche de fichiers</value></data>
|
||||
<data name="report.title.versions" xml:space="preserve"><value>Rapport de nettoyage des versions SharePoint</value></data>
|
||||
<data name="report.title.versions_short" xml:space="preserve"><value>Rapport de nettoyage des versions</value></data>
|
||||
<data name="report.stat.total_accesses" xml:space="preserve"><value>Accès totaux</value></data>
|
||||
<data name="report.stat.users_audited" xml:space="preserve"><value>Utilisateurs audités</value></data>
|
||||
<data name="report.stat.sites_scanned" xml:space="preserve"><value>Sites analysés</value></data>
|
||||
<data name="report.stat.high_privilege" xml:space="preserve"><value>Privilège élevé</value></data>
|
||||
<data name="report.stat.external_users" xml:space="preserve"><value>Utilisateurs externes</value></data>
|
||||
<data name="report.stat.total_entries" xml:space="preserve"><value>Entrées totales</value></data>
|
||||
<data name="report.stat.unique_permission_sets" xml:space="preserve"><value>Ensembles de permissions uniques</value></data>
|
||||
<data name="report.stat.distinct_users_groups" xml:space="preserve"><value>Utilisateurs/Groupes distincts</value></data>
|
||||
<data name="report.stat.libraries" xml:space="preserve"><value>Bibliothèques</value></data>
|
||||
<data name="report.stat.files" xml:space="preserve"><value>Fichiers</value></data>
|
||||
<data name="report.stat.total_size" xml:space="preserve"><value>Taille totale</value></data>
|
||||
<data name="report.stat.version_size" xml:space="preserve"><value>Taille des versions</value></data>
|
||||
<data name="report.badge.guest" xml:space="preserve"><value>Invité</value></data>
|
||||
<data name="report.badge.direct" xml:space="preserve"><value>Direct</value></data>
|
||||
<data name="report.badge.group" xml:space="preserve"><value>Groupe</value></data>
|
||||
<data name="report.badge.inherited" xml:space="preserve"><value>Hérité</value></data>
|
||||
<data name="report.badge.unique" xml:space="preserve"><value>Unique</value></data>
|
||||
<data name="report.view.by_user" xml:space="preserve"><value>Par utilisateur</value></data>
|
||||
<data name="report.view.by_site" xml:space="preserve"><value>Par site</value></data>
|
||||
<data name="report.filter.placeholder_results" xml:space="preserve"><value>Filtrer les résultats...</value></data>
|
||||
<data name="report.filter.placeholder_permissions" xml:space="preserve"><value>Filtrer les permissions...</value></data>
|
||||
<data name="report.filter.placeholder_rows" xml:space="preserve"><value>Filtrer les lignes…</value></data>
|
||||
<data name="report.filter.label" xml:space="preserve"><value>Filtre :</value></data>
|
||||
<data name="report.col.site" xml:space="preserve"><value>Site</value></data>
|
||||
<data name="report.col.sites" xml:space="preserve"><value>Sites</value></data>
|
||||
<data name="report.col.object_type" xml:space="preserve"><value>Type d'objet</value></data>
|
||||
<data name="report.col.object" xml:space="preserve"><value>Objet</value></data>
|
||||
<data name="report.col.permission_level" xml:space="preserve"><value>Niveau de permission</value></data>
|
||||
<data name="report.col.access_type" xml:space="preserve"><value>Type d'accès</value></data>
|
||||
<data name="report.col.granted_through" xml:space="preserve"><value>Accordé via</value></data>
|
||||
<data name="report.col.user" xml:space="preserve"><value>Utilisateur</value></data>
|
||||
<data name="report.col.title" xml:space="preserve"><value>Titre</value></data>
|
||||
<data name="report.col.url" xml:space="preserve"><value>URL</value></data>
|
||||
<data name="report.col.users_groups" xml:space="preserve"><value>Utilisateurs/Groupes</value></data>
|
||||
<data name="report.col.simplified" xml:space="preserve"><value>Simplifié</value></data>
|
||||
<data name="report.col.risk" xml:space="preserve"><value>Risque</value></data>
|
||||
<data name="report.col.library_folder" xml:space="preserve"><value>Bibliothèque / Dossier</value></data>
|
||||
<data name="report.col.last_modified" xml:space="preserve"><value>Dernière modification</value></data>
|
||||
<data name="report.col.name" xml:space="preserve"><value>Nom</value></data>
|
||||
<data name="report.col.library" xml:space="preserve"><value>Bibliothèque</value></data>
|
||||
<data name="report.col.path" xml:space="preserve"><value>Chemin</value></data>
|
||||
<data name="report.col.size" xml:space="preserve"><value>Taille</value></data>
|
||||
<data name="report.col.created" xml:space="preserve"><value>Créé</value></data>
|
||||
<data name="report.col.modified" xml:space="preserve"><value>Modifié</value></data>
|
||||
<data name="report.col.created_by" xml:space="preserve"><value>Créé par</value></data>
|
||||
<data name="report.col.modified_by" xml:space="preserve"><value>Modifié par</value></data>
|
||||
<data name="report.col.file_name" xml:space="preserve"><value>Nom de fichier</value></data>
|
||||
<data name="report.col.extension" xml:space="preserve"><value>Extension</value></data>
|
||||
<data name="report.col.file_type" xml:space="preserve"><value>Type de fichier</value></data>
|
||||
<data name="report.col.file_count" xml:space="preserve"><value>Nombre de fichiers</value></data>
|
||||
<data name="report.col.error" xml:space="preserve"><value>Erreur</value></data>
|
||||
<data name="report.col.timestamp" xml:space="preserve"><value>Horodatage</value></data>
|
||||
<data name="report.col.number" xml:space="preserve"><value>#</value></data>
|
||||
<data name="report.col.group" xml:space="preserve"><value>Groupe</value></data>
|
||||
<data name="report.col.total_size_mb" xml:space="preserve"><value>Taille totale (Mo)</value></data>
|
||||
<data name="report.col.version_size_mb" xml:space="preserve"><value>Taille des versions (Mo)</value></data>
|
||||
<data name="report.col.size_mb" xml:space="preserve"><value>Taille (Mo)</value></data>
|
||||
<data name="report.col.size_bytes" xml:space="preserve"><value>Taille (octets)</value></data>
|
||||
<data name="report.text.accesses" xml:space="preserve"><value>accès</value></data>
|
||||
<data name="report.text.access_es" xml:space="preserve"><value>accès</value></data>
|
||||
<data name="report.text.sites_parens" xml:space="preserve"><value>site(s)</value></data>
|
||||
<data name="report.text.permissions_parens" xml:space="preserve"><value>permission(s)</value></data>
|
||||
<data name="report.text.copies" xml:space="preserve"><value>copies</value></data>
|
||||
<data name="report.text.duplicate_groups_found" xml:space="preserve"><value>groupe(s) de doublons trouvé(s).</value></data>
|
||||
<data name="report.text.results_parens" xml:space="preserve"><value>résultat(s)</value></data>
|
||||
<data name="report.text.of" xml:space="preserve"><value>sur</value></data>
|
||||
<data name="report.text.shown" xml:space="preserve"><value>affiché(s)</value></data>
|
||||
<data name="report.text.generated" xml:space="preserve"><value>Généré</value></data>
|
||||
<data name="report.text.generated_colon" xml:space="preserve"><value>Généré :</value></data>
|
||||
<data name="report.text.members_unavailable" xml:space="preserve"><value>membres indisponibles</value></data>
|
||||
<data name="report.text.empty_group" xml:space="preserve"><value>Groupe vide</value></data>
|
||||
<data name="report.text.link" xml:space="preserve"><value>Lien</value></data>
|
||||
<data name="report.text.no_ext" xml:space="preserve"><value>(sans ext.)</value></data>
|
||||
<data name="report.text.no_extension" xml:space="preserve"><value>(sans extension)</value></data>
|
||||
<data name="report.text.high_priv" xml:space="preserve"><value>priv. élevé</value></data>
|
||||
<data name="report.section.storage_by_file_type" xml:space="preserve"><value>Stockage par type de fichier</value></data>
|
||||
<data name="report.section.library_details" xml:space="preserve"><value>Détails des bibliothèques</value></data>
|
||||
<!-- Site picker dialog -->
|
||||
<data name="sitepicker.title" xml:space="preserve"><value>Sélectionner les sites</value></data>
|
||||
<data name="sitepicker.filter" xml:space="preserve"><value>Filtre :</value></data>
|
||||
<data name="sitepicker.type" xml:space="preserve"><value>Type :</value></data>
|
||||
<data name="sitepicker.type.all" xml:space="preserve"><value>Tous</value></data>
|
||||
<data name="sitepicker.type.team" xml:space="preserve"><value>Sites d'équipe (MS Teams)</value></data>
|
||||
<data name="sitepicker.type.communication" xml:space="preserve"><value>Communication</value></data>
|
||||
<data name="sitepicker.type.classic" xml:space="preserve"><value>Classique</value></data>
|
||||
<data name="sitepicker.type.other" xml:space="preserve"><value>Autre</value></data>
|
||||
<data name="sitepicker.size" xml:space="preserve"><value>Taille (Mo) :</value></data>
|
||||
<data name="sitepicker.size.min" xml:space="preserve"><value>min</value></data>
|
||||
<data name="sitepicker.size.max" xml:space="preserve"><value>max</value></data>
|
||||
<data name="sitepicker.col.title" xml:space="preserve"><value>Titre</value></data>
|
||||
<data name="sitepicker.col.url" xml:space="preserve"><value>URL</value></data>
|
||||
<data name="sitepicker.col.type" xml:space="preserve"><value>Type</value></data>
|
||||
<data name="sitepicker.col.size" xml:space="preserve"><value>Taille</value></data>
|
||||
<data name="sitepicker.btn.load" xml:space="preserve"><value>Charger les sites</value></data>
|
||||
<data name="sitepicker.btn.selectAll" xml:space="preserve"><value>Tout sélectionner</value></data>
|
||||
<data name="sitepicker.btn.deselectAll" xml:space="preserve"><value>Tout désélectionner</value></data>
|
||||
<data name="sitepicker.btn.ok" xml:space="preserve"><value>OK</value></data>
|
||||
<data name="sitepicker.btn.cancel" xml:space="preserve"><value>Annuler</value></data>
|
||||
<data name="sitepicker.status.loading" xml:space="preserve"><value>Chargement des sites...</value></data>
|
||||
<data name="sitepicker.status.loaded" xml:space="preserve"><value>{0} sites chargés.</value></data>
|
||||
<data name="sitepicker.status.shown" xml:space="preserve"><value>{0} / {1} sites affichés.</value></data>
|
||||
<data name="sitepicker.status.error" xml:space="preserve"><value>Erreur : {0}</value></data>
|
||||
<data name="sitepicker.kind.teamsite" xml:space="preserve"><value>Site d'équipe</value></data>
|
||||
<data name="sitepicker.kind.communication" xml:space="preserve"><value>Communication</value></data>
|
||||
<data name="sitepicker.kind.classic" xml:space="preserve"><value>Classique</value></data>
|
||||
<data name="sitepicker.kind.other" xml:space="preserve"><value>Autre</value></data>
|
||||
<!-- Common UI -->
|
||||
<data name="common.valid" xml:space="preserve"><value>Valide</value></data>
|
||||
<data name="common.errors" xml:space="preserve"><value>Erreurs</value></data>
|
||||
<data name="common.close" xml:space="preserve"><value>Fermer</value></data>
|
||||
<data name="common.new_folder" xml:space="preserve"><value>+ Nouveau dossier</value></data>
|
||||
<data name="common.guest" xml:space="preserve"><value>Invité</value></data>
|
||||
<!-- InputDialog -->
|
||||
<data name="input.title" xml:space="preserve"><value>Saisie</value></data>
|
||||
<!-- ProfileManagementDialog -->
|
||||
<data name="profmgmt.title" xml:space="preserve"><value>Gérer les profils</value></data>
|
||||
<data name="profmgmt.group" xml:space="preserve"><value>Profils</value></data>
|
||||
<!-- Duplicates columns -->
|
||||
<data name="duplicates.col.group" xml:space="preserve"><value>Groupe</value></data>
|
||||
<data name="duplicates.col.copies" xml:space="preserve"><value>Copies</value></data>
|
||||
<!-- Folder structure levels -->
|
||||
<data name="folderstruct.col.level1" xml:space="preserve"><value>Niveau 1</value></data>
|
||||
<data name="folderstruct.col.level2" xml:space="preserve"><value>Niveau 2</value></data>
|
||||
<data name="folderstruct.col.level3" xml:space="preserve"><value>Niveau 3</value></data>
|
||||
<data name="folderstruct.col.level4" xml:space="preserve"><value>Niveau 4</value></data>
|
||||
<!-- Permissions extra columns -->
|
||||
<data name="perm.col.unique_perms" xml:space="preserve"><value>Perm. uniques</value></data>
|
||||
<data name="perm.col.permission_levels" xml:space="preserve"><value>Niveaux d'autorisation</value></data>
|
||||
<data name="perm.col.principal_type" xml:space="preserve"><value>Type de principal</value></data>
|
||||
<!-- Storage summary labels -->
|
||||
<data name="storage.lbl.total_size_colon" xml:space="preserve"><value>Taille totale : </value></data>
|
||||
<data name="storage.lbl.version_size_colon" xml:space="preserve"><value>Taille des versions : </value></data>
|
||||
<data name="storage.lbl.files_colon" xml:space="preserve"><value>Fichiers : </value></data>
|
||||
<!-- Templates columns -->
|
||||
<data name="templates.col.source" xml:space="preserve"><value>Source</value></data>
|
||||
<data name="templates.col.captured" xml:space="preserve"><value>Capturé</value></data>
|
||||
<!-- Transfer view -->
|
||||
<data name="transfer.text.files_selected" xml:space="preserve"><value> fichier(s) sélectionné(s)</value></data>
|
||||
<data name="transfer.chk.include_source" xml:space="preserve"><value>Inclure le dossier source dans la destination</value></data>
|
||||
<data name="transfer.chk.include_source.tooltip" xml:space="preserve"><value>Si activé, recrée le dossier source sous la destination. Sinon, dépose le contenu directement dans le dossier de destination.</value></data>
|
||||
<data name="transfer.chk.copy_contents" xml:space="preserve"><value>Copier le contenu du dossier</value></data>
|
||||
<data name="transfer.chk.copy_contents.tooltip" xml:space="preserve"><value>Si activé (par défaut), transfère les fichiers du dossier. Sinon, seul le dossier est créé à la destination.</value></data>
|
||||
<!-- Shared ViewModel errors and statuses -->
|
||||
<data name="err.no_tenant" xml:space="preserve"><value>Aucun tenant connecté.</value></data>
|
||||
<data name="err.no_tenant_connected" xml:space="preserve"><value>Aucun tenant sélectionné. Connectez-vous à un tenant d'abord.</value></data>
|
||||
<data name="err.no_profile_selected" xml:space="preserve"><value>Aucun profil de tenant sélectionné. Connectez-vous d'abord.</value></data>
|
||||
<data name="err.no_sites_selected" xml:space="preserve"><value>Sélectionnez au moins un site dans la barre d'outils.</value></data>
|
||||
<data name="err.no_users_selected" xml:space="preserve"><value>Ajoutez au moins un utilisateur à auditer.</value></data>
|
||||
<data name="err.no_valid_rows" xml:space="preserve"><value>Aucune ligne valide à traiter. Importez un CSV d'abord.</value></data>
|
||||
<data name="err.template_name_required" xml:space="preserve"><value>Le nom du modèle est requis.</value></data>
|
||||
<data name="err.site_title_required" xml:space="preserve"><value>Le titre du nouveau site est requis.</value></data>
|
||||
<data name="err.site_alias_required" xml:space="preserve"><value>L'alias du nouveau site est requis.</value></data>
|
||||
<data name="err.transfer_source_required" xml:space="preserve"><value>Le site source et la bibliothèque doivent être sélectionnés.</value></data>
|
||||
<data name="err.transfer_dest_required" xml:space="preserve"><value>Le site de destination et la bibliothèque doivent être sélectionnés.</value></data>
|
||||
<data name="err.library_title_required" xml:space="preserve"><value>Le titre de la bibliothèque est requis.</value></data>
|
||||
<!-- Templates status -->
|
||||
<data name="templates.status.capturing" xml:space="preserve"><value>Capture du modèle...</value></data>
|
||||
<data name="templates.status.success" xml:space="preserve"><value>Modèle capturé avec succès.</value></data>
|
||||
<data name="templates.status.capture_failed" xml:space="preserve"><value>Échec de la capture : {0}</value></data>
|
||||
<data name="templates.status.applying" xml:space="preserve"><value>Application du modèle...</value></data>
|
||||
<data name="templates.status.applied" xml:space="preserve"><value>Modèle appliqué. Site créé à : {0}</value></data>
|
||||
<data name="templates.status.apply_failed" xml:space="preserve"><value>Échec de l'application : {0}</value></data>
|
||||
<!-- UI text -->
|
||||
<data name="audit.searching" xml:space="preserve"><value>Recherche en cours...</value></data>
|
||||
<!-- Report text -->
|
||||
<data name="report.text.users_parens" xml:space="preserve"><value>utilisateur(s)</value></data>
|
||||
<data name="report.text.files_unit" xml:space="preserve"><value>fichiers</value></data>
|
||||
<data name="report.text.sites_unit" xml:space="preserve"><value>sites</value></data>
|
||||
<data name="report.text.entries_unit" xml:space="preserve"><value>entrées</value></data>
|
||||
<!-- Textes d'aide / boutons info -->
|
||||
<data name="help.perm.simplified.title" xml:space="preserve"><value>Mode simplifié</value></data>
|
||||
<data name="help.perm.simplified.body" xml:space="preserve"><value>Regroupe les permissions brutes SharePoint en libellés lisibles (Propriétaire, Éditeur, Contributeur, Lecteur, Lecture seule) et colore les lignes par niveau de risque. Utile pour un aperçu rapide de la sécurité sans jargon technique.</value></data>
|
||||
<data name="help.perm.merge.title" xml:space="preserve"><value>Fusionner les permissions</value></data>
|
||||
<data name="help.perm.merge.body" xml:space="preserve"><value>Lorsqu'activé, les entrées de permission multiples pour le même utilisateur ou groupe sont regroupées en une seule ligne dans l'export, réduisant la taille du rapport. Désactivez pour voir chaque permission individuellement.</value></data>
|
||||
<data name="help.perm.hidesys.title" xml:space="preserve"><value>Masquer les groupes système</value></data>
|
||||
<data name="help.perm.hidesys.body" xml:space="preserve"><value>Supprime les groupes système créés automatiquement par SharePoint (ex. « Excel Services Viewers », groupes « SharingLinks.* »). Ces groupes sont gérés en interne par SharePoint et ne sont généralement pas pertinents pour les audits d'accès.</value></data>
|
||||
<data name="help.perm.excl.sharing.title" xml:space="preserve"><value>Exclure les liens de partage</value></data>
|
||||
<data name="help.perm.excl.sharing.body" xml:space="preserve"><value>Supprime les entrées de lien de partage des résultats et des exports (ex. « Tout le monde avec le lien », liens à l'échelle de l'organisation). Utile pour ne conserver que les permissions directes des utilisateurs et groupes.</value></data>
|
||||
<data name="help.perm.excl.system.title" xml:space="preserve"><value>Exclure les groupes système (Limited Access)</value></data>
|
||||
<data name="help.perm.excl.system.body" xml:space="preserve"><value>Supprime les entrées « Limited Access System Group For Web/List » des résultats et des exports. SharePoint crée ces groupes automatiquement lorsqu'un utilisateur a accès à un élément spécifique ; ils sont rarement pertinents pour les audits d'accès.</value></data>
|
||||
<data name="help.perm.inherited.title" xml:space="preserve"><value>Inclure les permissions héritées</value></data>
|
||||
<data name="help.perm.inherited.body" xml:space="preserve"><value>Par défaut, seuls les objets avec des permissions uniques (rompues) sont affichés. Activez pour inclure les objets qui héritent les permissions d'un parent et obtenir une vue complète des accès.</value></data>
|
||||
<data name="help.perm.splitmode.title" xml:space="preserve"><value>Mode de fractionnement de l'export</value></data>
|
||||
<data name="help.perm.splitmode.body" xml:space="preserve"><value>Fichier unique : tous les résultats dans un seul fichier CSV ou HTML.
|
||||
|
||||
Fractionner par site : crée un fichier séparé pour chaque collection de sites. Utile pour les grandes tenances multi-sites.</value></data>
|
||||
<data name="help.search.title" xml:space="preserve"><value>Recherche de fichiers KQL</value></data>
|
||||
<data name="help.search.body" xml:space="preserve"><value>Recherche des fichiers dans vos sites SharePoint via KQL (Keyword Query Language). Le champ mot-clé est optionnel — laissez-le vide pour retourner tous les fichiers correspondant aux filtres actifs. Combinez les filtres de date, auteur et bibliothèque pour affiner les résultats.</value></data>
|
||||
<data name="help.search.regex.title" xml:space="preserve"><value>Filtre regex sur le nom de fichier</value></data>
|
||||
<data name="help.search.regex.body" xml:space="preserve"><value>Filtre les résultats côté client avec une expression régulière .NET appliquée aux noms de fichiers. Exemple : \.pdf$ correspond uniquement aux PDF. Laissez vide pour ignorer ce filtre. L'expression est insensible à la casse.</value></data>
|
||||
<data name="help.versions.policy.title" xml:space="preserve"><value>Politique de nettoyage des versions</value></data>
|
||||
<data name="help.versions.policy.body" xml:space="preserve"><value>Supprime définitivement les anciennes versions de documents des bibliothèques SharePoint. Seules les N versions les plus récentes sont conservées — les versions plus anciennes sont supprimées de façon permanente et ne peuvent pas être récupérées. Effectuez d'abord une analyse pour prévisualiser les suppressions.</value></data>
|
||||
<data name="help.versions.keepfirst.title" xml:space="preserve"><value>Conserver la première version</value></data>
|
||||
<data name="help.versions.keepfirst.body" xml:space="preserve"><value>Conserve toujours la version 1.0 (originale) de chaque document, indépendamment du paramètre « Conserver les N dernières ». Utile pour maintenir une trace de l'état initial du document.</value></data>
|
||||
<data name="help.versions.confirm.title" xml:space="preserve"><value>Confirmer avant suppression</value></data>
|
||||
<data name="help.versions.confirm.body" xml:space="preserve"><value>Lorsqu'activé, une boîte de dialogue de confirmation apparaît pour chaque fichier avant la suppression des versions. Décochez pour un traitement en lot sans intervention.</value></data>
|
||||
<data name="help.dup.criteria.title" xml:space="preserve"><value>Critères de détection des doublons</value></data>
|
||||
<data name="help.dup.criteria.body" xml:space="preserve"><value>Deux éléments sont identifiés comme doublons quand leurs noms correspondent ET que tous les critères supplémentaires cochés correspondent également. Plus de critères cochés = moins de groupes, mais plus précis. Nom uniquement : trouve les fichiers avec le même nom, quel que soit leur contenu.</value></data>
|
||||
<data name="help.transfer.incsource.title" xml:space="preserve"><value>Inclure le dossier source</value></data>
|
||||
<data name="help.transfer.incsource.body" xml:space="preserve"><value>Lorsqu'activé, le dossier source lui-même est recréé à la destination (ex. transférer « Rapports » crée un dossier « Rapports/ » à la cible). Lorsque désactivé, seul le contenu du dossier est transféré — utile pour fusionner du contenu dans un dossier existant.</value></data>
|
||||
<data name="help.transfer.copycontent.title" xml:space="preserve"><value>Copier uniquement le contenu</value></data>
|
||||
<data name="help.transfer.copycontent.body" xml:space="preserve"><value>Lorsqu'activé, seuls les fichiers et sous-dossiers à l'intérieur du dossier sélectionné sont transférés — le dossier lui-même n'est pas recréé à la destination.</value></data>
|
||||
<data name="help.transfer.conflict.title" xml:space="preserve"><value>Politique de conflit de fichiers</value></data>
|
||||
<data name="help.transfer.conflict.body" xml:space="preserve"><value>Définit ce qui se passe quand un fichier du même nom existe déjà à la destination :
|
||||
|
||||
• Ignorer — laisser le fichier destination inchangé.
|
||||
• Écraser — remplacer le fichier destination par le fichier source.
|
||||
• Renommer — conserver les deux en ajoutant un suffixe numérique au fichier transféré.</value></data>
|
||||
<data name="help.bulkmembers.title" xml:space="preserve"><value>Ajout de membres en masse — Format CSV</value></data>
|
||||
<data name="help.bulkmembers.body" xml:space="preserve"><value>Le fichier CSV doit contenir ces colonnes (en-têtes obligatoires, ordre libre) :
|
||||
• GroupName — le nom exact du groupe SharePoint
|
||||
• Email — l'adresse e-mail de l'utilisateur
|
||||
• Role — Member, Owner ou Visitor
|
||||
|
||||
Cliquez sur « Charger l'exemple » pour ouvrir un fichier d'exemple pré-rempli.</value></data>
|
||||
<data name="help.bulksites.title" xml:space="preserve"><value>Création de sites en masse — Format CSV</value></data>
|
||||
<data name="help.bulksites.body" xml:space="preserve"><value>Le fichier CSV doit contenir ces colonnes :
|
||||
• Name — le nom d'affichage du nouveau site
|
||||
• Alias — alias d'URL (sans espaces ; fait partie de l'URL du site)
|
||||
• Type — TeamSite ou CommunicationSite
|
||||
• Owners — liste d'adresses e-mail des propriétaires séparées par des virgules
|
||||
|
||||
Cliquez sur « Charger l'exemple » pour ouvrir un fichier d'exemple pré-rempli.</value></data>
|
||||
<data name="help.folderstruct.title" xml:space="preserve"><value>Créer une structure de dossiers — Format CSV</value></data>
|
||||
<data name="help.folderstruct.body" xml:space="preserve"><value>Crée une hiérarchie de dossiers dans une bibliothèque SharePoint à partir d'un fichier CSV. Chaque ligne définit un chemin avec jusqu'à 4 niveaux (Level1–Level4). Laissez les colonnes des niveaux inférieurs vides pour des chemins plus courts.
|
||||
|
||||
Exemple : Contrats | 2024 | T1 | (vide)
|
||||
Crée : Bibliothèque / Contrats / 2024 / T1</value></data>
|
||||
<data name="help.templates.capture.title" xml:space="preserve"><value>Capturer un modèle de site</value></data>
|
||||
<data name="help.templates.capture.body" xml:space="preserve"><value>Enregistre la structure du site sélectionné (bibliothèques, dossiers, permissions, paramètres et logo) comme modèle réutilisable stocké localement. Le site source n'est pas modifié.
|
||||
|
||||
Sélectionnez les éléments à capturer avec les cases à cocher ci-dessus.</value></data>
|
||||
<data name="help.templates.apply.title" xml:space="preserve"><value>Appliquer le modèle à un nouveau site</value></data>
|
||||
<data name="help.templates.apply.body" xml:space="preserve"><value>Crée un nouveau site SharePoint et reproduit la structure du modèle sélectionné — bibliothèques, dossiers, permissions, paramètres et logo. Le modèle source et le site d'origine ne sont pas affectés.
|
||||
|
||||
Fournissez un nom d'affichage et un alias d'URL avant de cliquer sur Appliquer.</value></data>
|
||||
<data name="help.audit.mode.title" xml:space="preserve"><value>Mode Recherche vs Mode Navigation</value></data>
|
||||
<data name="help.audit.mode.body" xml:space="preserve"><value>Mode Recherche : tapez un nom ou e-mail pour trouver un utilisateur via Azure AD. Les résultats apparaissent dans une liste — cliquez pour sélectionner.
|
||||
|
||||
Mode Navigation : charge tous les utilisateurs du répertoire de la tenant. Utilisez le filtre pour trouver un utilisateur, puis double-cliquez pour l'ajouter à l'audit.</value></data>
|
||||
<data name="help.audit.vs.perms.title" xml:space="preserve"><value>Audit d'accès vs Audit des permissions</value></data>
|
||||
<data name="help.audit.vs.perms.body" xml:space="preserve"><value>L'onglet Permissions analyse les objets (bibliothèques, dossiers, éléments) pour montrer qui y a accès.
|
||||
|
||||
Cet onglet fait l'inverse : vous sélectionnez un ou plusieurs utilisateurs et il trouve chaque objet auquel ils peuvent accéder — y compris via des groupes SharePoint ou Active Directory.</value></data>
|
||||
<data name="help.storage.hidden.title" xml:space="preserve"><value>Bibliothèques masquées</value></data>
|
||||
<data name="help.storage.hidden.body" xml:space="preserve"><value>Analyse les bibliothèques SharePoint cachées dans la navigation normale du site (ex. Site Assets, Style Library, Form Templates). Elles peuvent consommer beaucoup d'espace et sont souvent oubliées dans les audits de routine.</value></data>
|
||||
<data name="help.storage.preservation.title" xml:space="preserve"><value>Bibliothèque de conservation</value></data>
|
||||
<data name="help.storage.preservation.body" xml:space="preserve"><value>Bibliothèque SharePoint cachée qui stocke les versions de documents modifiés ou supprimés pendant qu'une politique de rétention Microsoft Purview / Microsoft 365 Compliance est active. Elle peut croître considérablement sans être visible pour les utilisateurs du site.</value></data>
|
||||
</root>
|
||||
@@ -0,0 +1,870 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="app.title" xml:space="preserve">
|
||||
<value>SharePoint Toolbox</value>
|
||||
</data>
|
||||
<data name="toolbar.connect" xml:space="preserve">
|
||||
<value>Connect</value>
|
||||
</data>
|
||||
<data name="toolbar.manage" xml:space="preserve">
|
||||
<value>Manage Profiles...</value>
|
||||
</data>
|
||||
<data name="toolbar.clear" xml:space="preserve">
|
||||
<value>Clear Session</value>
|
||||
</data>
|
||||
<data name="tab.permissions" xml:space="preserve">
|
||||
<value>Permissions</value>
|
||||
</data>
|
||||
<data name="tab.storage" xml:space="preserve">
|
||||
<value>Storage</value>
|
||||
</data>
|
||||
<data name="tab.search" xml:space="preserve">
|
||||
<value>File Search</value>
|
||||
</data>
|
||||
<data name="tab.duplicates" xml:space="preserve">
|
||||
<value>Duplicates</value>
|
||||
</data>
|
||||
<data name="tab.versions" xml:space="preserve">
|
||||
<value>Versions</value>
|
||||
</data>
|
||||
<data name="versions.tab" xml:space="preserve">
|
||||
<value>Version cleanup</value>
|
||||
</data>
|
||||
<data name="versions.grp.libs" xml:space="preserve">
|
||||
<value>Libraries</value>
|
||||
</data>
|
||||
<data name="versions.grp.policy" xml:space="preserve">
|
||||
<value>Retention policy</value>
|
||||
</data>
|
||||
<data name="versions.btn.pickLibs" xml:space="preserve">
|
||||
<value>Select libraries...</value>
|
||||
</data>
|
||||
<data name="versions.btn.clearLibs" xml:space="preserve">
|
||||
<value>Reset (all libraries)</value>
|
||||
</data>
|
||||
<data name="versions.btn.run" xml:space="preserve">
|
||||
<value>Delete old versions</value>
|
||||
</data>
|
||||
<data name="versions.lbl.keepLast" xml:space="preserve">
|
||||
<value>Keep last:</value>
|
||||
</data>
|
||||
<data name="versions.chk.keepFirst" xml:space="preserve">
|
||||
<value>Also keep the very first version</value>
|
||||
</data>
|
||||
<data name="versions.chk.confirm" xml:space="preserve">
|
||||
<value>Ask for confirmation before running</value>
|
||||
</data>
|
||||
<data name="versions.note" xml:space="preserve">
|
||||
<value>Only historical versions are removed. The current published version is always kept. The action cannot be undone.</value>
|
||||
</data>
|
||||
<data name="versions.libs.all" xml:space="preserve">
|
||||
<value>All libraries (no filter)</value>
|
||||
</data>
|
||||
<data name="versions.libs.count" xml:space="preserve">
|
||||
<value>{0} library/libraries selected</value>
|
||||
</data>
|
||||
<data name="versions.confirm" xml:space="preserve">
|
||||
<value>Delete historical file versions, keeping the last {0} {1}?
|
||||
This cannot be undone.</value>
|
||||
</data>
|
||||
<data name="versions.confirm.keepFirst" xml:space="preserve">
|
||||
<value>(plus the first version)</value>
|
||||
</data>
|
||||
<data name="versions.err.keepLast" xml:space="preserve">
|
||||
<value>"Keep last" must be 0 or greater.</value>
|
||||
</data>
|
||||
<data name="versions.summary.files" xml:space="preserve">
|
||||
<value>Files trimmed:</value>
|
||||
</data>
|
||||
<data name="versions.summary.deleted" xml:space="preserve">
|
||||
<value>Versions deleted:</value>
|
||||
</data>
|
||||
<data name="versions.summary.freed" xml:space="preserve">
|
||||
<value>Bytes freed:</value>
|
||||
</data>
|
||||
<data name="versions.col.library" xml:space="preserve">
|
||||
<value>Library</value>
|
||||
</data>
|
||||
<data name="versions.col.file" xml:space="preserve">
|
||||
<value>File</value>
|
||||
</data>
|
||||
<data name="versions.col.before" xml:space="preserve">
|
||||
<value>Before</value>
|
||||
</data>
|
||||
<data name="versions.col.deleted" xml:space="preserve">
|
||||
<value>Deleted</value>
|
||||
</data>
|
||||
<data name="versions.col.remaining" xml:space="preserve">
|
||||
<value>Remaining</value>
|
||||
</data>
|
||||
<data name="versions.col.freed" xml:space="preserve">
|
||||
<value>Freed</value>
|
||||
</data>
|
||||
<data name="versions.col.path" xml:space="preserve">
|
||||
<value>Path</value>
|
||||
</data>
|
||||
<data name="versions.col.error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="librarypicker.title" xml:space="preserve">
|
||||
<value>Select libraries</value>
|
||||
</data>
|
||||
<data name="librarypicker.loading" xml:space="preserve">
|
||||
<value>Loading libraries...</value>
|
||||
</data>
|
||||
<data name="librarypicker.loaded" xml:space="preserve">
|
||||
<value>{0} libraries loaded.</value>
|
||||
</data>
|
||||
<data name="librarypicker.selectAll" xml:space="preserve">
|
||||
<value>Select all</value>
|
||||
</data>
|
||||
<data name="librarypicker.selectNone" xml:space="preserve">
|
||||
<value>Select none</value>
|
||||
</data>
|
||||
<data name="tab.templates" xml:space="preserve">
|
||||
<value>Templates</value>
|
||||
</data>
|
||||
<data name="tab.bulk" xml:space="preserve">
|
||||
<value>Bulk Operations</value>
|
||||
</data>
|
||||
<data name="tab.structure" xml:space="preserve">
|
||||
<value>Folder Structure</value>
|
||||
</data>
|
||||
<data name="tab.settings" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
<data name="tab.comingsoon" xml:space="preserve">
|
||||
<value>Coming soon</value>
|
||||
</data>
|
||||
<data name="btn.cancel" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="settings.language" xml:space="preserve">
|
||||
<value>Language</value>
|
||||
</data>
|
||||
<data name="settings.lang.en" xml:space="preserve">
|
||||
<value>English</value>
|
||||
</data>
|
||||
<data name="settings.lang.fr" xml:space="preserve">
|
||||
<value>French</value>
|
||||
</data>
|
||||
<data name="settings.theme" xml:space="preserve">
|
||||
<value>Theme</value>
|
||||
</data>
|
||||
<data name="settings.theme.system" xml:space="preserve">
|
||||
<value>Use system setting</value>
|
||||
</data>
|
||||
<data name="settings.theme.light" xml:space="preserve">
|
||||
<value>Light</value>
|
||||
</data>
|
||||
<data name="settings.theme.dark" xml:space="preserve">
|
||||
<value>Dark</value>
|
||||
</data>
|
||||
<data name="settings.folder" xml:space="preserve">
|
||||
<value>Data output folder</value>
|
||||
</data>
|
||||
<data name="settings.browse" xml:space="preserve">
|
||||
<value>Browse...</value>
|
||||
</data>
|
||||
<data name="profile.name" xml:space="preserve">
|
||||
<value>Profile name</value>
|
||||
</data>
|
||||
<data name="profile.url" xml:space="preserve">
|
||||
<value>Tenant URL</value>
|
||||
</data>
|
||||
<data name="profile.clientid" xml:space="preserve">
|
||||
<value>Client ID</value>
|
||||
</data>
|
||||
<data name="profile.clientid.hint" xml:space="preserve">
|
||||
<value>Optional — leave blank to register the app automatically</value>
|
||||
</data>
|
||||
<data name="profile.add" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="profile.save" xml:space="preserve">
|
||||
<value>Save</value>
|
||||
</data>
|
||||
<data name="profile.delete" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="profile.add.tooltip" xml:space="preserve">
|
||||
<value>Create a new profile from the values entered above.</value>
|
||||
</data>
|
||||
<data name="profile.save.tooltip" xml:space="preserve">
|
||||
<value>Save changes to the selected profile.</value>
|
||||
</data>
|
||||
<data name="profile.delete.tooltip" xml:space="preserve">
|
||||
<value>Delete the selected profile.</value>
|
||||
</data>
|
||||
<data name="profile.register.warning" xml:space="preserve">
|
||||
<value>Registering an app may prompt you to sign in up to {0} times. Continue?</value>
|
||||
</data>
|
||||
<data name="status.ready" xml:space="preserve">
|
||||
<value>Ready</value>
|
||||
</data>
|
||||
<data name="status.complete" xml:space="preserve">
|
||||
<value>Complete</value>
|
||||
</data>
|
||||
<data name="status.cancelled" xml:space="preserve">
|
||||
<value>Operation cancelled</value>
|
||||
</data>
|
||||
<data name="err.auth.failed" xml:space="preserve">
|
||||
<value>Authentication failed. Check tenant URL and Client ID.</value>
|
||||
</data>
|
||||
<data name="err.generic" xml:space="preserve">
|
||||
<value>An error occurred. See log for details.</value>
|
||||
</data>
|
||||
<data name="grp.scan.opts" xml:space="preserve"><value>Scan Options</value></data>
|
||||
<data name="chk.scan.folders" xml:space="preserve"><value>Scan Folders</value></data>
|
||||
<data name="chk.recursive" xml:space="preserve"><value>Recursive (subsites)</value></data>
|
||||
<data name="lbl.folder.depth" xml:space="preserve"><value>Folder depth:</value></data>
|
||||
<data name="chk.max.depth" xml:space="preserve"><value>Maximum (all levels)</value></data>
|
||||
<data name="chk.inherited.perms" xml:space="preserve"><value>Include Inherited Permissions</value></data>
|
||||
<data name="chk.simplified.mode" xml:space="preserve"><value>Simplified mode</value></data>
|
||||
<data name="grp.display.opts" xml:space="preserve"><value>Display Options</value></data>
|
||||
<data name="grp.export.fmt" xml:space="preserve"><value>Export Format</value></data>
|
||||
<data name="rad.csv.perms" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="rad.detail.detailed" xml:space="preserve"><value>Detailed (all rows)</value></data>
|
||||
<data name="rad.detail.simple" xml:space="preserve"><value>Simple (summary only)</value></data>
|
||||
<data name="rad.html.perms" xml:space="preserve"><value>HTML</value></data>
|
||||
<data name="btn.gen.perms" xml:space="preserve"><value>Generate Report</value></data>
|
||||
<data name="btn.open.perms" xml:space="preserve"><value>Open Report</value></data>
|
||||
<data name="btn.view.sites" xml:space="preserve"><value>View Sites</value></data>
|
||||
<data name="perm.site.url" xml:space="preserve"><value>Site URL:</value></data>
|
||||
<data name="perm.or.select" xml:space="preserve"><value>or select multiple sites:</value></data>
|
||||
<data name="perm.sites.selected" xml:space="preserve"><value>{0} site(s) selected</value></data>
|
||||
<!-- Phase 3: Storage Tab -->
|
||||
<data name="chk.per.lib" xml:space="preserve"><value>Per-Library Breakdown</value></data>
|
||||
<data name="chk.subsites" xml:space="preserve"><value>Include Subsites</value></data>
|
||||
<data name="stor.note" xml:space="preserve"><value>Note: deeper folder scans on large sites may take several minutes.</value></data>
|
||||
<data name="btn.gen.storage" xml:space="preserve"><value>Generate Metrics</value></data>
|
||||
<data name="btn.open.storage" xml:space="preserve"><value>Open Report</value></data>
|
||||
<data name="stor.col.library" xml:space="preserve"><value>Library</value></data>
|
||||
<data name="stor.col.site" xml:space="preserve"><value>Site</value></data>
|
||||
<data name="stor.col.files" xml:space="preserve"><value>Files</value></data>
|
||||
<data name="stor.col.size" xml:space="preserve"><value>Total Size</value></data>
|
||||
<data name="stor.col.versions" xml:space="preserve"><value>Version Size</value></data>
|
||||
<data name="stor.col.lastmod" xml:space="preserve"><value>Last Modified</value></data>
|
||||
<data name="stor.col.share" xml:space="preserve"><value>Share of Total</value></data>
|
||||
<data name="stor.rad.csv" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="stor.rad.html" xml:space="preserve"><value>HTML</value></data>
|
||||
<data name="stor.col.kind" xml:space="preserve"><value>Kind</value></data>
|
||||
<data name="stor.kind.library" xml:space="preserve"><value>Library</value></data>
|
||||
<data name="stor.kind.hidden" xml:space="preserve"><value>Hidden Library</value></data>
|
||||
<data name="stor.kind.preservation" xml:space="preserve"><value>Preservation Hold</value></data>
|
||||
<data name="stor.kind.attachments" xml:space="preserve"><value>List Attachments</value></data>
|
||||
<data name="stor.kind.recyclebin" xml:space="preserve"><value>Recycle Bin</value></data>
|
||||
<data name="stor.kind.subsite" xml:space="preserve"><value>Subsite</value></data>
|
||||
<data name="grp.scan.sources" xml:space="preserve"><value>Scan Sources</value></data>
|
||||
<data name="grp.report.filter" xml:space="preserve"><value>Show in Report</value></data>
|
||||
<data name="chk.scan.hidden" xml:space="preserve"><value>Hidden Libraries</value></data>
|
||||
<data name="chk.scan.preservation" xml:space="preserve"><value>Preservation Hold</value></data>
|
||||
<data name="chk.scan.attachments" xml:space="preserve"><value>List Attachments</value></data>
|
||||
<data name="chk.scan.recyclebin" xml:space="preserve"><value>Recycle Bin</value></data>
|
||||
<data name="chk.show.libraries" xml:space="preserve"><value>Libraries</value></data>
|
||||
<data name="chk.show.hidden" xml:space="preserve"><value>Hidden Libraries</value></data>
|
||||
<data name="chk.show.preservation" xml:space="preserve"><value>Preservation Hold</value></data>
|
||||
<data name="chk.show.attachments" xml:space="preserve"><value>List Attachments</value></data>
|
||||
<data name="chk.show.recyclebin" xml:space="preserve"><value>Recycle Bin</value></data>
|
||||
<data name="chk.show.subsites" xml:space="preserve"><value>Subsites</value></data>
|
||||
<data name="chk.combine.recyclebin" xml:space="preserve"><value>Combine Recycle Bin Stages (show total)</value></data>
|
||||
<data name="storage.lbl.spo_reported_colon" xml:space="preserve"><value>SPO reported total: </value></data>
|
||||
<data name="storage.lbl.recyclebin_colon" xml:space="preserve"><value>Recycle Bin: </value></data>
|
||||
<!-- Phase 3: File Search Tab -->
|
||||
<data name="grp.search.filters" xml:space="preserve"><value>Search Filters</value></data>
|
||||
<data name="lbl.detail.level" xml:space="preserve"><value>Detail level:</value></data>
|
||||
<data name="lbl.extensions" xml:space="preserve"><value>Extension(s):</value></data>
|
||||
<data name="ph.extensions" xml:space="preserve"><value>docx pdf xlsx</value></data>
|
||||
<data name="lbl.regex" xml:space="preserve"><value>Name / Regex:</value></data>
|
||||
<data name="ph.regex" xml:space="preserve"><value>Ex: report.* or \.bak$</value></data>
|
||||
<data name="chk.created.after" xml:space="preserve"><value>Created after:</value></data>
|
||||
<data name="chk.created.before" xml:space="preserve"><value>Created before:</value></data>
|
||||
<data name="chk.modified.after" xml:space="preserve"><value>Modified after:</value></data>
|
||||
<data name="chk.modified.before" xml:space="preserve"><value>Modified before:</value></data>
|
||||
<data name="lbl.created.by" xml:space="preserve"><value>Created by:</value></data>
|
||||
<data name="ph.created.by" xml:space="preserve"><value>First Last or email</value></data>
|
||||
<data name="lbl.modified.by" xml:space="preserve"><value>Modified by:</value></data>
|
||||
<data name="ph.modified.by" xml:space="preserve"><value>First Last or email</value></data>
|
||||
<data name="lbl.library" xml:space="preserve"><value>Library:</value></data>
|
||||
<data name="ph.library" xml:space="preserve"><value>Optional relative path e.g. Shared Documents</value></data>
|
||||
<data name="lbl.max.results" xml:space="preserve"><value>Max results:</value></data>
|
||||
<data name="lbl.site.url" xml:space="preserve"><value>Site URL:</value></data>
|
||||
<data name="lbl.summary.users" xml:space="preserve"><value>user(s)</value></data>
|
||||
<data name="ph.site.url" xml:space="preserve"><value>https://tenant.sharepoint.com/sites/MySite</value></data>
|
||||
<data name="btn.run.search" xml:space="preserve"><value>Run Search</value></data>
|
||||
<data name="btn.open.search" xml:space="preserve"><value>Open Results</value></data>
|
||||
<data name="srch.col.name" xml:space="preserve"><value>File Name</value></data>
|
||||
<data name="srch.col.ext" xml:space="preserve"><value>Extension</value></data>
|
||||
<data name="srch.col.created" xml:space="preserve"><value>Created</value></data>
|
||||
<data name="srch.col.modified" xml:space="preserve"><value>Modified</value></data>
|
||||
<data name="srch.col.author" xml:space="preserve"><value>Created By</value></data>
|
||||
<data name="srch.col.modby" xml:space="preserve"><value>Modified By</value></data>
|
||||
<data name="srch.col.size" xml:space="preserve"><value>Size</value></data>
|
||||
<data name="srch.col.path" xml:space="preserve"><value>Path</value></data>
|
||||
<data name="srch.rad.csv" xml:space="preserve"><value>CSV</value></data>
|
||||
<data name="srch.rad.html" xml:space="preserve"><value>HTML</value></data>
|
||||
<!-- Phase 3: Duplicates Tab -->
|
||||
<data name="grp.dup.type" xml:space="preserve"><value>Duplicate Type</value></data>
|
||||
<data name="rad.dup.files" xml:space="preserve"><value>Duplicate files</value></data>
|
||||
<data name="rad.dup.folders" xml:space="preserve"><value>Duplicate folders</value></data>
|
||||
<data name="grp.dup.criteria" xml:space="preserve"><value>Comparison Criteria</value></data>
|
||||
<data name="lbl.dup.note" xml:space="preserve"><value>Name is always the primary criterion. Check additional criteria:</value></data>
|
||||
<data name="chk.dup.size" xml:space="preserve"><value>Same size</value></data>
|
||||
<data name="chk.dup.created" xml:space="preserve"><value>Same creation date</value></data>
|
||||
<data name="chk.dup.modified" xml:space="preserve"><value>Same modification date</value></data>
|
||||
<data name="chk.dup.subfolders" xml:space="preserve"><value>Same subfolder count</value></data>
|
||||
<data name="chk.dup.filecount" xml:space="preserve"><value>Same file count</value></data>
|
||||
<data name="chk.include.subsites" xml:space="preserve"><value>Include subsites</value></data>
|
||||
<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>
|
||||
<!-- Phase 6: Global Site Selection toolbar -->
|
||||
<data name="toolbar.selectSites" xml:space="preserve">
|
||||
<value>Select Sites</value>
|
||||
</data>
|
||||
<data name="toolbar.selectSites.tooltip" xml:space="preserve">
|
||||
<value>Select target sites for all tabs</value>
|
||||
</data>
|
||||
<data name="toolbar.selectSites.tooltipDisabled" xml:space="preserve">
|
||||
<value>Connect to a tenant first</value>
|
||||
</data>
|
||||
<data name="toolbar.globalSites.count" xml:space="preserve">
|
||||
<value>{0} site(s) selected</value>
|
||||
</data>
|
||||
<data name="toolbar.globalSites.none" xml:space="preserve">
|
||||
<value>No sites selected</value>
|
||||
</data>
|
||||
<!-- Phase 7: User Access Audit -->
|
||||
<data name="tab.userAccessAudit" xml:space="preserve">
|
||||
<value>User Access Audit</value>
|
||||
</data>
|
||||
<data name="audit.grp.users" xml:space="preserve">
|
||||
<value>Select Users</value>
|
||||
</data>
|
||||
<data name="audit.grp.sites" xml:space="preserve">
|
||||
<value>Target Sites</value>
|
||||
</data>
|
||||
<data name="audit.grp.options" xml:space="preserve">
|
||||
<value>Scan Options</value>
|
||||
</data>
|
||||
<data name="audit.search.placeholder" xml:space="preserve">
|
||||
<value>Search users by name or email...</value>
|
||||
</data>
|
||||
<data name="audit.users.selected" xml:space="preserve">
|
||||
<value>{0} user(s) selected</value>
|
||||
</data>
|
||||
<data name="audit.btn.run" xml:space="preserve">
|
||||
<value>Run Audit</value>
|
||||
</data>
|
||||
<data name="audit.btn.exportCsv" xml:space="preserve">
|
||||
<value>Export CSV</value>
|
||||
</data>
|
||||
<data name="audit.btn.exportHtml" xml:space="preserve">
|
||||
<value>Export HTML</value>
|
||||
</data>
|
||||
<data name="export.split.label" xml:space="preserve">
|
||||
<value>Split</value>
|
||||
</data>
|
||||
<data name="export.split.single" xml:space="preserve">
|
||||
<value>Single file</value>
|
||||
</data>
|
||||
<data name="export.split.bySite" xml:space="preserve">
|
||||
<value>By site</value>
|
||||
</data>
|
||||
<data name="export.split.byUser" xml:space="preserve">
|
||||
<value>By user</value>
|
||||
</data>
|
||||
<data name="export.html.layout.label" xml:space="preserve">
|
||||
<value>HTML layout</value>
|
||||
</data>
|
||||
<data name="export.html.layout.separate" xml:space="preserve">
|
||||
<value>Separate files</value>
|
||||
</data>
|
||||
<data name="export.html.layout.tabbed" xml:space="preserve">
|
||||
<value>Single tabbed file</value>
|
||||
</data>
|
||||
<data name="audit.summary.total" xml:space="preserve">
|
||||
<value>Total Accesses</value>
|
||||
</data>
|
||||
<data name="audit.summary.sites" xml:space="preserve">
|
||||
<value>Sites</value>
|
||||
</data>
|
||||
<data name="audit.summary.highPriv" xml:space="preserve">
|
||||
<value>High Privilege</value>
|
||||
</data>
|
||||
<data name="audit.toggle.byUser" xml:space="preserve">
|
||||
<value>By User</value>
|
||||
</data>
|
||||
<data name="audit.toggle.bySite" xml:space="preserve">
|
||||
<value>By Site</value>
|
||||
</data>
|
||||
<data name="audit.filter.placeholder" xml:space="preserve">
|
||||
<value>Filter results...</value>
|
||||
</data>
|
||||
<data name="audit.noUsers" xml:space="preserve">
|
||||
<value>Select at least one user to audit.</value>
|
||||
</data>
|
||||
<data name="audit.noSites" xml:space="preserve">
|
||||
<value>Select at least one site to scan.</value>
|
||||
</data>
|
||||
<!-- Phase 9: Storage Visualization Charts -->
|
||||
<data name="stor.chart.title" xml:space="preserve"><value>Storage by File Type</value></data>
|
||||
<data name="stor.chart.donut" xml:space="preserve"><value>Donut Chart</value></data>
|
||||
<data name="stor.chart.bar" xml:space="preserve"><value>Bar Chart</value></data>
|
||||
<data name="stor.chart.toggle" xml:space="preserve"><value>Chart View:</value></data>
|
||||
<data name="stor.chart.nodata" xml:space="preserve"><value>Run a storage scan to see file type breakdown.</value></data>
|
||||
<!-- Phase 12: Logo UI -->
|
||||
<data name="settings.logo.title" xml:space="preserve"><value>MSP Logo</value></data>
|
||||
<data name="settings.logo.browse" xml:space="preserve"><value>Import</value></data>
|
||||
<data name="settings.logo.clear" xml:space="preserve"><value>Clear</value></data>
|
||||
<data name="settings.logo.nopreview" xml:space="preserve"><value>No logo configured</value></data>
|
||||
<data name="profile.logo.title" xml:space="preserve"><value>Client Logo</value></data>
|
||||
<data name="profile.logo.browse" xml:space="preserve"><value>Import</value></data>
|
||||
<data name="profile.logo.clear" xml:space="preserve"><value>Clear</value></data>
|
||||
<data name="profile.logo.autopull" xml:space="preserve"><value>Pull from Entra</value></data>
|
||||
<data name="profile.logo.nopreview" xml:space="preserve"><value>No logo configured</value></data>
|
||||
<!-- Phase 14: Directory Browse UI -->
|
||||
<data name="audit.mode.search" xml:space="preserve"><value>Search</value></data>
|
||||
<data name="audit.mode.browse" xml:space="preserve"><value>Browse Directory</value></data>
|
||||
<data name="directory.grp.browse" xml:space="preserve"><value>User Directory</value></data>
|
||||
<data name="directory.btn.load" xml:space="preserve"><value>Load Directory</value></data>
|
||||
<data name="directory.btn.cancel" xml:space="preserve"><value>Cancel</value></data>
|
||||
<data name="directory.filter.placeholder" xml:space="preserve"><value>Filter users...</value></data>
|
||||
<data name="directory.chk.guests" xml:space="preserve"><value>Include guests</value></data>
|
||||
<data name="directory.status.count" xml:space="preserve"><value>users</value></data>
|
||||
<data name="directory.hint.doubleclick" xml:space="preserve"><value>Double-click a user to add to audit</value></data>
|
||||
<data name="directory.col.name" xml:space="preserve"><value>Name</value></data>
|
||||
<data name="directory.col.upn" xml:space="preserve"><value>Email</value></data>
|
||||
<data name="directory.col.department" xml:space="preserve"><value>Department</value></data>
|
||||
<data name="directory.col.jobtitle" xml:space="preserve"><value>Job Title</value></data>
|
||||
<data name="directory.col.type" xml:space="preserve"><value>Type</value></data>
|
||||
<!-- Phase 16: Report Consolidation Toggle -->
|
||||
<data name="audit.grp.export" xml:space="preserve"><value>Export Options</value></data>
|
||||
<data name="chk.merge.permissions" xml:space="preserve"><value>Merge duplicate permissions</value></data>
|
||||
<data name="chk.hide.system.group.raw" xml:space="preserve"><value>Hide raw system group names (SharingLinks, Limited Access)</value></data>
|
||||
<data name="chk.exclude.sharing.links" xml:space="preserve"><value>Exclude sharing links</value></data>
|
||||
<data name="chk.exclude.system.groups" xml:space="preserve"><value>Exclude system groups (Limited Access)</value></data>
|
||||
<!-- Phase 19: App Registration & Removal -->
|
||||
<data name="profile.register" xml:space="preserve"><value>Register App</value></data>
|
||||
<data name="profile.remove" xml:space="preserve"><value>Remove App</value></data>
|
||||
<data name="profile.register.checking" xml:space="preserve"><value>Checking permissions...</value></data>
|
||||
<data name="profile.register.registering" xml:space="preserve"><value>Registering application...</value></data>
|
||||
<data name="profile.register.success" xml:space="preserve"><value>Application registered successfully</value></data>
|
||||
<data name="profile.register.failed" xml:space="preserve"><value>Registration failed</value></data>
|
||||
<data name="profile.register.noperm" xml:space="preserve"><value>Insufficient permissions for automatic registration</value></data>
|
||||
<data name="profile.remove.removing" xml:space="preserve"><value>Removing application...</value></data>
|
||||
<data name="profile.remove.success" xml:space="preserve"><value>Application removed successfully</value></data>
|
||||
<data name="profile.fallback.title" xml:space="preserve"><value>Manual Registration Required</value></data>
|
||||
<data name="profile.fallback.step1" xml:space="preserve"><value>1. Go to Azure Portal > App registrations > New registration</value></data>
|
||||
<data name="profile.fallback.step2" xml:space="preserve"><value>2. Name: 'SharePoint Toolbox - {0}', Supported account types: Single tenant</value></data>
|
||||
<data name="profile.fallback.step3" xml:space="preserve"><value>3. Redirect URI: Public client, https://login.microsoftonline.com/common/oauth2/nativeclient</value></data>
|
||||
<data name="profile.fallback.step4" xml:space="preserve"><value>4. Under API permissions, add: Microsoft Graph (User.Read, User.Read.All, Group.Read.All, Directory.Read.All) and SharePoint (AllSites.FullControl)</value></data>
|
||||
<data name="profile.fallback.step5" xml:space="preserve"><value>5. Grant admin consent for all permissions</value></data>
|
||||
<data name="profile.fallback.step6" xml:space="preserve"><value>6. Copy the Application (client) ID and paste it in the Client ID field above</value></data>
|
||||
<!-- Phase 18: Auto-Take Ownership -->
|
||||
<data name="settings.ownership.title" xml:space="preserve"><value>Site Ownership</value></data>
|
||||
<data name="settings.ownership.auto" xml:space="preserve"><value>Automatically take site collection admin ownership on access denied</value></data>
|
||||
<data name="settings.ownership.description" xml:space="preserve"><value>When enabled, the app will automatically elevate to site collection admin when a scan encounters an access denied error. Requires Tenant Admin permissions.</value></data>
|
||||
<data name="permissions.elevated.tooltip" xml:space="preserve"><value>This site was automatically elevated — ownership was taken to complete the scan</value></data>
|
||||
<!-- Report export localization -->
|
||||
<data name="report.title.user_access" xml:space="preserve"><value>User Access Audit Report</value></data>
|
||||
<data name="report.title.user_access_consolidated" xml:space="preserve"><value>User Access Audit Report (Consolidated)</value></data>
|
||||
<data name="report.title.permissions" xml:space="preserve"><value>SharePoint Permissions Report</value></data>
|
||||
<data name="report.title.permissions_simplified" xml:space="preserve"><value>SharePoint Permissions Report (Simplified)</value></data>
|
||||
<data name="report.title.storage" xml:space="preserve"><value>SharePoint Storage Metrics</value></data>
|
||||
<data name="report.title.duplicates" xml:space="preserve"><value>SharePoint Duplicate Detection Report</value></data>
|
||||
<data name="report.title.duplicates_short" xml:space="preserve"><value>Duplicate Detection Report</value></data>
|
||||
<data name="report.title.search" xml:space="preserve"><value>SharePoint File Search Results</value></data>
|
||||
<data name="report.title.search_short" xml:space="preserve"><value>File Search Results</value></data>
|
||||
<data name="report.title.versions" xml:space="preserve"><value>SharePoint Version Cleanup Report</value></data>
|
||||
<data name="report.title.versions_short" xml:space="preserve"><value>Version Cleanup Report</value></data>
|
||||
<data name="report.stat.total_accesses" xml:space="preserve"><value>Total Accesses</value></data>
|
||||
<data name="report.stat.users_audited" xml:space="preserve"><value>Users Audited</value></data>
|
||||
<data name="report.stat.sites_scanned" xml:space="preserve"><value>Sites Scanned</value></data>
|
||||
<data name="report.stat.high_privilege" xml:space="preserve"><value>High Privilege</value></data>
|
||||
<data name="report.stat.external_users" xml:space="preserve"><value>External Users</value></data>
|
||||
<data name="report.stat.total_entries" xml:space="preserve"><value>Total Entries</value></data>
|
||||
<data name="report.stat.unique_permission_sets" xml:space="preserve"><value>Unique Permission Sets</value></data>
|
||||
<data name="report.stat.distinct_users_groups" xml:space="preserve"><value>Distinct Users/Groups</value></data>
|
||||
<data name="report.stat.libraries" xml:space="preserve"><value>Libraries</value></data>
|
||||
<data name="report.stat.files" xml:space="preserve"><value>Files</value></data>
|
||||
<data name="report.stat.total_size" xml:space="preserve"><value>Total Size</value></data>
|
||||
<data name="report.stat.version_size" xml:space="preserve"><value>Version Size</value></data>
|
||||
<data name="report.badge.guest" xml:space="preserve"><value>Guest</value></data>
|
||||
<data name="report.badge.direct" xml:space="preserve"><value>Direct</value></data>
|
||||
<data name="report.badge.group" xml:space="preserve"><value>Group</value></data>
|
||||
<data name="report.badge.inherited" xml:space="preserve"><value>Inherited</value></data>
|
||||
<data name="report.badge.unique" xml:space="preserve"><value>Unique</value></data>
|
||||
<data name="report.view.by_user" xml:space="preserve"><value>By User</value></data>
|
||||
<data name="report.view.by_site" xml:space="preserve"><value>By Site</value></data>
|
||||
<data name="report.filter.placeholder_results" xml:space="preserve"><value>Filter results...</value></data>
|
||||
<data name="report.filter.placeholder_permissions" xml:space="preserve"><value>Filter permissions...</value></data>
|
||||
<data name="report.filter.placeholder_rows" xml:space="preserve"><value>Filter rows…</value></data>
|
||||
<data name="report.filter.label" xml:space="preserve"><value>Filter:</value></data>
|
||||
<data name="report.col.site" xml:space="preserve"><value>Site</value></data>
|
||||
<data name="report.col.sites" xml:space="preserve"><value>Sites</value></data>
|
||||
<data name="report.col.object_type" xml:space="preserve"><value>Object Type</value></data>
|
||||
<data name="report.col.object" xml:space="preserve"><value>Object</value></data>
|
||||
<data name="report.col.permission_level" xml:space="preserve"><value>Permission Level</value></data>
|
||||
<data name="report.col.access_type" xml:space="preserve"><value>Access Type</value></data>
|
||||
<data name="report.col.granted_through" xml:space="preserve"><value>Granted Through</value></data>
|
||||
<data name="report.col.user" xml:space="preserve"><value>User</value></data>
|
||||
<data name="report.col.title" xml:space="preserve"><value>Title</value></data>
|
||||
<data name="report.col.url" xml:space="preserve"><value>URL</value></data>
|
||||
<data name="report.col.users_groups" xml:space="preserve"><value>Users/Groups</value></data>
|
||||
<data name="report.col.simplified" xml:space="preserve"><value>Simplified</value></data>
|
||||
<data name="report.col.risk" xml:space="preserve"><value>Risk</value></data>
|
||||
<data name="report.col.library_folder" xml:space="preserve"><value>Library / Folder</value></data>
|
||||
<data name="report.col.last_modified" xml:space="preserve"><value>Last Modified</value></data>
|
||||
<data name="report.col.name" xml:space="preserve"><value>Name</value></data>
|
||||
<data name="report.col.library" xml:space="preserve"><value>Library</value></data>
|
||||
<data name="report.col.path" xml:space="preserve"><value>Path</value></data>
|
||||
<data name="report.col.size" xml:space="preserve"><value>Size</value></data>
|
||||
<data name="report.col.created" xml:space="preserve"><value>Created</value></data>
|
||||
<data name="report.col.modified" xml:space="preserve"><value>Modified</value></data>
|
||||
<data name="report.col.created_by" xml:space="preserve"><value>Created By</value></data>
|
||||
<data name="report.col.modified_by" xml:space="preserve"><value>Modified By</value></data>
|
||||
<data name="report.col.file_name" xml:space="preserve"><value>File Name</value></data>
|
||||
<data name="report.col.extension" xml:space="preserve"><value>Extension</value></data>
|
||||
<data name="report.col.file_type" xml:space="preserve"><value>File Type</value></data>
|
||||
<data name="report.col.file_count" xml:space="preserve"><value>File Count</value></data>
|
||||
<data name="report.col.error" xml:space="preserve"><value>Error</value></data>
|
||||
<data name="report.col.timestamp" xml:space="preserve"><value>Timestamp</value></data>
|
||||
<data name="report.col.number" xml:space="preserve"><value>#</value></data>
|
||||
<data name="report.col.group" xml:space="preserve"><value>Group</value></data>
|
||||
<data name="report.col.total_size_mb" xml:space="preserve"><value>Total Size (MB)</value></data>
|
||||
<data name="report.col.version_size_mb" xml:space="preserve"><value>Version Size (MB)</value></data>
|
||||
<data name="report.col.size_mb" xml:space="preserve"><value>Size (MB)</value></data>
|
||||
<data name="report.col.size_bytes" xml:space="preserve"><value>Size (bytes)</value></data>
|
||||
<data name="report.text.accesses" xml:space="preserve"><value>accesses</value></data>
|
||||
<data name="report.text.access_es" xml:space="preserve"><value>access(es)</value></data>
|
||||
<data name="report.text.sites_parens" xml:space="preserve"><value>site(s)</value></data>
|
||||
<data name="report.text.permissions_parens" xml:space="preserve"><value>permission(s)</value></data>
|
||||
<data name="report.text.copies" xml:space="preserve"><value>copies</value></data>
|
||||
<data name="report.text.duplicate_groups_found" xml:space="preserve"><value>duplicate group(s) found.</value></data>
|
||||
<data name="report.text.results_parens" xml:space="preserve"><value>result(s)</value></data>
|
||||
<data name="report.text.of" xml:space="preserve"><value>of</value></data>
|
||||
<data name="report.text.shown" xml:space="preserve"><value>shown</value></data>
|
||||
<data name="report.text.generated" xml:space="preserve"><value>Generated</value></data>
|
||||
<data name="report.text.generated_colon" xml:space="preserve"><value>Generated:</value></data>
|
||||
<data name="report.text.members_unavailable" xml:space="preserve"><value>members unavailable</value></data>
|
||||
<data name="report.text.empty_group" xml:space="preserve"><value>Empty group</value></data>
|
||||
<data name="report.text.link" xml:space="preserve"><value>Link</value></data>
|
||||
<data name="report.text.no_ext" xml:space="preserve"><value>(no ext)</value></data>
|
||||
<data name="report.text.no_extension" xml:space="preserve"><value>(no extension)</value></data>
|
||||
<data name="report.text.high_priv" xml:space="preserve"><value>high-priv</value></data>
|
||||
<data name="report.section.storage_by_file_type" xml:space="preserve"><value>Storage by File Type</value></data>
|
||||
<data name="report.section.library_details" xml:space="preserve"><value>Library Details</value></data>
|
||||
<!-- Site picker dialog -->
|
||||
<data name="sitepicker.title" xml:space="preserve"><value>Select Sites</value></data>
|
||||
<data name="sitepicker.filter" xml:space="preserve"><value>Filter:</value></data>
|
||||
<data name="sitepicker.type" xml:space="preserve"><value>Type:</value></data>
|
||||
<data name="sitepicker.type.all" xml:space="preserve"><value>All</value></data>
|
||||
<data name="sitepicker.type.team" xml:space="preserve"><value>Team sites (MS Teams)</value></data>
|
||||
<data name="sitepicker.type.communication" xml:space="preserve"><value>Communication</value></data>
|
||||
<data name="sitepicker.type.classic" xml:space="preserve"><value>Classic</value></data>
|
||||
<data name="sitepicker.type.other" xml:space="preserve"><value>Other</value></data>
|
||||
<data name="sitepicker.size" xml:space="preserve"><value>Size (MB):</value></data>
|
||||
<data name="sitepicker.size.min" xml:space="preserve"><value>min</value></data>
|
||||
<data name="sitepicker.size.max" xml:space="preserve"><value>max</value></data>
|
||||
<data name="sitepicker.col.title" xml:space="preserve"><value>Title</value></data>
|
||||
<data name="sitepicker.col.url" xml:space="preserve"><value>URL</value></data>
|
||||
<data name="sitepicker.col.type" xml:space="preserve"><value>Type</value></data>
|
||||
<data name="sitepicker.col.size" xml:space="preserve"><value>Size</value></data>
|
||||
<data name="sitepicker.btn.load" xml:space="preserve"><value>Load Sites</value></data>
|
||||
<data name="sitepicker.btn.selectAll" xml:space="preserve"><value>Select All</value></data>
|
||||
<data name="sitepicker.btn.deselectAll" xml:space="preserve"><value>Deselect All</value></data>
|
||||
<data name="sitepicker.btn.ok" xml:space="preserve"><value>OK</value></data>
|
||||
<data name="sitepicker.btn.cancel" xml:space="preserve"><value>Cancel</value></data>
|
||||
<data name="sitepicker.status.loading" xml:space="preserve"><value>Loading sites...</value></data>
|
||||
<data name="sitepicker.status.loaded" xml:space="preserve"><value>{0} sites loaded.</value></data>
|
||||
<data name="sitepicker.status.shown" xml:space="preserve"><value>{0} / {1} sites shown.</value></data>
|
||||
<data name="sitepicker.status.error" xml:space="preserve"><value>Error: {0}</value></data>
|
||||
<data name="sitepicker.kind.teamsite" xml:space="preserve"><value>Team site</value></data>
|
||||
<data name="sitepicker.kind.communication" xml:space="preserve"><value>Communication</value></data>
|
||||
<data name="sitepicker.kind.classic" xml:space="preserve"><value>Classic</value></data>
|
||||
<data name="sitepicker.kind.other" xml:space="preserve"><value>Other</value></data>
|
||||
<!-- Common UI -->
|
||||
<data name="common.valid" xml:space="preserve"><value>Valid</value></data>
|
||||
<data name="common.errors" xml:space="preserve"><value>Errors</value></data>
|
||||
<data name="common.close" xml:space="preserve"><value>Close</value></data>
|
||||
<data name="common.new_folder" xml:space="preserve"><value>+ New Folder</value></data>
|
||||
<data name="common.guest" xml:space="preserve"><value>Guest</value></data>
|
||||
<!-- InputDialog -->
|
||||
<data name="input.title" xml:space="preserve"><value>Input</value></data>
|
||||
<!-- ProfileManagementDialog -->
|
||||
<data name="profmgmt.title" xml:space="preserve"><value>Manage Profiles</value></data>
|
||||
<data name="profmgmt.group" xml:space="preserve"><value>Profiles</value></data>
|
||||
<!-- Duplicates columns -->
|
||||
<data name="duplicates.col.group" xml:space="preserve"><value>Group</value></data>
|
||||
<data name="duplicates.col.copies" xml:space="preserve"><value>Copies</value></data>
|
||||
<!-- Folder structure levels -->
|
||||
<data name="folderstruct.col.level1" xml:space="preserve"><value>Level 1</value></data>
|
||||
<data name="folderstruct.col.level2" xml:space="preserve"><value>Level 2</value></data>
|
||||
<data name="folderstruct.col.level3" xml:space="preserve"><value>Level 3</value></data>
|
||||
<data name="folderstruct.col.level4" xml:space="preserve"><value>Level 4</value></data>
|
||||
<!-- Permissions extra columns -->
|
||||
<data name="perm.col.unique_perms" xml:space="preserve"><value>Unique Perms</value></data>
|
||||
<data name="perm.col.permission_levels" xml:space="preserve"><value>Permission Levels</value></data>
|
||||
<data name="perm.col.principal_type" xml:space="preserve"><value>Principal Type</value></data>
|
||||
<!-- Storage summary labels -->
|
||||
<data name="storage.lbl.total_size_colon" xml:space="preserve"><value>Total Size: </value></data>
|
||||
<data name="storage.lbl.version_size_colon" xml:space="preserve"><value>Version Size: </value></data>
|
||||
<data name="storage.lbl.files_colon" xml:space="preserve"><value>Files: </value></data>
|
||||
<!-- Templates columns -->
|
||||
<data name="templates.col.source" xml:space="preserve"><value>Source</value></data>
|
||||
<data name="templates.col.captured" xml:space="preserve"><value>Captured</value></data>
|
||||
<!-- Transfer view -->
|
||||
<data name="transfer.text.files_selected" xml:space="preserve"><value> file(s) selected</value></data>
|
||||
<data name="transfer.chk.include_source" xml:space="preserve"><value>Include source folder at destination</value></data>
|
||||
<data name="transfer.chk.include_source.tooltip" xml:space="preserve"><value>When on, recreate the source folder under the destination. When off, drop contents directly into the destination folder.</value></data>
|
||||
<data name="transfer.chk.copy_contents" xml:space="preserve"><value>Copy folder contents</value></data>
|
||||
<data name="transfer.chk.copy_contents.tooltip" xml:space="preserve"><value>When on (default), transfer files inside the folder. When off, only the folder is created at the destination.</value></data>
|
||||
<!-- Shared ViewModel errors and statuses -->
|
||||
<data name="err.no_tenant" xml:space="preserve"><value>No tenant connected.</value></data>
|
||||
<data name="err.no_tenant_connected" xml:space="preserve"><value>No tenant selected. Please connect to a tenant first.</value></data>
|
||||
<data name="err.no_profile_selected" xml:space="preserve"><value>No tenant profile selected. Please connect first.</value></data>
|
||||
<data name="err.no_sites_selected" xml:space="preserve"><value>Select at least one site from the toolbar.</value></data>
|
||||
<data name="err.no_users_selected" xml:space="preserve"><value>Add at least one user to audit.</value></data>
|
||||
<data name="err.no_valid_rows" xml:space="preserve"><value>No valid rows to process. Import a CSV first.</value></data>
|
||||
<data name="err.template_name_required" xml:space="preserve"><value>Template name is required.</value></data>
|
||||
<data name="err.site_title_required" xml:space="preserve"><value>New site title is required.</value></data>
|
||||
<data name="err.site_alias_required" xml:space="preserve"><value>New site alias is required.</value></data>
|
||||
<data name="err.transfer_source_required" xml:space="preserve"><value>Source site and library must be selected.</value></data>
|
||||
<data name="err.transfer_dest_required" xml:space="preserve"><value>Destination site and library must be selected.</value></data>
|
||||
<data name="err.library_title_required" xml:space="preserve"><value>Library title is required.</value></data>
|
||||
<!-- Templates status -->
|
||||
<data name="templates.status.capturing" xml:space="preserve"><value>Capturing template...</value></data>
|
||||
<data name="templates.status.success" xml:space="preserve"><value>Template captured successfully.</value></data>
|
||||
<data name="templates.status.capture_failed" xml:space="preserve"><value>Capture failed: {0}</value></data>
|
||||
<data name="templates.status.applying" xml:space="preserve"><value>Applying template...</value></data>
|
||||
<data name="templates.status.applied" xml:space="preserve"><value>Template applied. Site created at: {0}</value></data>
|
||||
<data name="templates.status.apply_failed" xml:space="preserve"><value>Apply failed: {0}</value></data>
|
||||
<!-- UI text -->
|
||||
<data name="audit.searching" xml:space="preserve"><value>Searching...</value></data>
|
||||
<!-- Report text -->
|
||||
<data name="report.text.users_parens" xml:space="preserve"><value>user(s)</value></data>
|
||||
<data name="report.text.files_unit" xml:space="preserve"><value>files</value></data>
|
||||
<data name="report.text.sites_unit" xml:space="preserve"><value>sites</value></data>
|
||||
<data name="report.text.entries_unit" xml:space="preserve"><value>entries</value></data>
|
||||
<!-- Help / Info button strings -->
|
||||
<data name="help.perm.simplified.title" xml:space="preserve"><value>Simplified Permissions Mode</value></data>
|
||||
<data name="help.perm.simplified.body" xml:space="preserve"><value>Groups raw SharePoint permissions into readable labels (Owner, Editor, Contributor, Reader, View-Only) and color-codes rows by risk level. Useful for a quick security overview without permission-level jargon.</value></data>
|
||||
<data name="help.perm.merge.title" xml:space="preserve"><value>Merge Permissions</value></data>
|
||||
<data name="help.perm.merge.body" xml:space="preserve"><value>When enabled, multiple permission entries for the same user or group are consolidated into a single row in the export, reducing report size. Disable to see every individual permission assignment separately.</value></data>
|
||||
<data name="help.perm.hidesys.title" xml:space="preserve"><value>Hide System Groups</value></data>
|
||||
<data name="help.perm.hidesys.body" xml:space="preserve"><value>Removes automatically-created SharePoint system groups from results (e.g. "Excel Services Viewers", "SharingLinks.*" groups). These groups are managed internally by SharePoint and are typically not relevant for user access audits.</value></data>
|
||||
<data name="help.perm.excl.sharing.title" xml:space="preserve"><value>Exclude Sharing Links</value></data>
|
||||
<data name="help.perm.excl.sharing.body" xml:space="preserve"><value>Removes sharing link entries from results and exports (e.g. "Anyone with the link", organisation-wide links). Useful when you only care about direct user and group permissions.</value></data>
|
||||
<data name="help.perm.excl.system.title" xml:space="preserve"><value>Exclude System Groups (Limited Access)</value></data>
|
||||
<data name="help.perm.excl.system.body" xml:space="preserve"><value>Removes "Limited Access System Group For Web/List" entries from results and exports. SharePoint creates these automatically when a user has item-level access; they are rarely relevant for user access audits.</value></data>
|
||||
<data name="help.perm.inherited.title" xml:space="preserve"><value>Include Inherited Permissions</value></data>
|
||||
<data name="help.perm.inherited.body" xml:space="preserve"><value>By default only objects with unique (broken) permissions are reported. Enable this to also include objects that inherit permissions from a parent, giving a complete picture of who can access every item.</value></data>
|
||||
<data name="help.perm.splitmode.title" xml:space="preserve"><value>Export Split Mode</value></data>
|
||||
<data name="help.perm.splitmode.body" xml:space="preserve"><value>Single File: all results are saved in one CSV or HTML file.
|
||||
|
||||
Split by Site: creates a separate file for each site collection. Useful when auditing large multi-site tenants to keep individual files manageable.</value></data>
|
||||
<data name="help.search.title" xml:space="preserve"><value>KQL File Search</value></data>
|
||||
<data name="help.search.body" xml:space="preserve"><value>Searches files across your SharePoint sites using KQL (Keyword Query Language). The keyword field is optional — leave it empty to return all files matching only the active filters. Combine date range, author, and library filters to narrow results.</value></data>
|
||||
<data name="help.search.regex.title" xml:space="preserve"><value>Filename Regex Filter</value></data>
|
||||
<data name="help.search.regex.body" xml:space="preserve"><value>Post-filters results client-side using a .NET regular expression matched against file names. Example: \.pdf$ matches only PDF files. Leave blank to skip this filter. The expression is case-insensitive.</value></data>
|
||||
<data name="help.versions.policy.title" xml:space="preserve"><value>Version Cleanup Policy</value></data>
|
||||
<data name="help.versions.policy.body" xml:space="preserve"><value>Permanently deletes old document versions from SharePoint libraries. Only the N most recent versions are kept — older ones are removed permanently and cannot be recovered. Run a preview scan first to see what will be deleted.</value></data>
|
||||
<data name="help.versions.keepfirst.title" xml:space="preserve"><value>Keep First Version</value></data>
|
||||
<data name="help.versions.keepfirst.body" xml:space="preserve"><value>Always preserves version 1.0 (the original) of each document, regardless of the "Keep Last N" setting. Useful to maintain an audit trail of a document's initial state.</value></data>
|
||||
<data name="help.versions.confirm.title" xml:space="preserve"><value>Confirm Before Delete</value></data>
|
||||
<data name="help.versions.confirm.body" xml:space="preserve"><value>When enabled, a confirmation dialog appears for each file before its versions are deleted. Uncheck for unattended batch processing.</value></data>
|
||||
<data name="help.dup.criteria.title" xml:space="preserve"><value>Duplicate Matching Criteria</value></data>
|
||||
<data name="help.dup.criteria.body" xml:space="preserve"><value>Two items are flagged as duplicates when their names match AND all checked additional criteria also match. More criteria checked = fewer groups, but more precise matches. Using name only finds files with the same filename anywhere in the site, regardless of content.</value></data>
|
||||
<data name="help.transfer.incsource.title" xml:space="preserve"><value>Include Source Folder</value></data>
|
||||
<data name="help.transfer.incsource.body" xml:space="preserve"><value>When enabled, the source folder itself is recreated at the destination (e.g. transferring "Reports" creates a "Reports/" folder at the target). When disabled, only the contents inside the folder are transferred — useful when merging into an existing destination folder.</value></data>
|
||||
<data name="help.transfer.copycontent.title" xml:space="preserve"><value>Copy Folder Contents Only</value></data>
|
||||
<data name="help.transfer.copycontent.body" xml:space="preserve"><value>When enabled, only the files and subfolders inside the selected folder are transferred — the selected folder itself is not recreated at the destination.</value></data>
|
||||
<data name="help.transfer.conflict.title" xml:space="preserve"><value>File Conflict Policy</value></data>
|
||||
<data name="help.transfer.conflict.body" xml:space="preserve"><value>Defines what happens when a file with the same name already exists at the destination:
|
||||
|
||||
• Skip — leave the existing destination file unchanged.
|
||||
• Overwrite — replace the destination file with the source file.
|
||||
• Rename — keep both by appending a number suffix to the transferred file's name.</value></data>
|
||||
<data name="help.bulkmembers.title" xml:space="preserve"><value>Bulk Add Members — CSV Format</value></data>
|
||||
<data name="help.bulkmembers.body" xml:space="preserve"><value>The CSV file must contain these columns (headers required, order is flexible):
|
||||
• GroupName — the exact SharePoint group name
|
||||
• Email — the user's email address
|
||||
• Role — Member, Owner, or Visitor
|
||||
|
||||
Click "Load Example" to open a pre-filled sample file.</value></data>
|
||||
<data name="help.bulksites.title" xml:space="preserve"><value>Bulk Create Sites — CSV Format</value></data>
|
||||
<data name="help.bulksites.body" xml:space="preserve"><value>The CSV file must contain these columns:
|
||||
• Name — the display name for the new site
|
||||
• Alias — URL alias (no spaces; becomes part of the site URL)
|
||||
• Type — TeamSite or CommunicationSite
|
||||
• Owners — comma-separated list of owner email addresses
|
||||
|
||||
Click "Load Example" to open a pre-filled sample file.</value></data>
|
||||
<data name="help.folderstruct.title" xml:space="preserve"><value>Create Folder Structure — CSV Format</value></data>
|
||||
<data name="help.folderstruct.body" xml:space="preserve"><value>Creates a folder hierarchy inside a SharePoint library from a CSV file. Each row defines one folder path using up to 4 levels (Level1–Level4). Leave deeper level columns empty for shallower paths.
|
||||
|
||||
Example row: Contracts | 2024 | Q1 | (empty)
|
||||
Creates: Library / Contracts / 2024 / Q1</value></data>
|
||||
<data name="help.templates.capture.title" xml:space="preserve"><value>Capture Site Template</value></data>
|
||||
<data name="help.templates.capture.body" xml:space="preserve"><value>Saves the currently selected site's structure (libraries, folder hierarchy, permissions, settings, and logo) as a reusable template stored locally on your machine. The source site is not modified in any way.
|
||||
|
||||
Select which elements to include using the checkboxes above.</value></data>
|
||||
<data name="help.templates.apply.title" xml:space="preserve"><value>Apply Template to New Site</value></data>
|
||||
<data name="help.templates.apply.body" xml:space="preserve"><value>Creates a brand-new SharePoint site and reproduces the structure captured in the selected template — including libraries, folders, permissions, settings, and logo. The source template and original site are not affected.
|
||||
|
||||
Provide a display name and URL alias for the new site before clicking Apply.</value></data>
|
||||
<data name="help.audit.mode.title" xml:space="preserve"><value>Search vs Browse Mode</value></data>
|
||||
<data name="help.audit.mode.body" xml:space="preserve"><value>Search Mode: type a name or email to find a specific user via Azure AD. Matching users appear in a list — click to select them for the audit.
|
||||
|
||||
Browse Mode: loads all users in your tenant directory. Use the filter box to narrow the list, then double-click a row to add the user to the audit.</value></data>
|
||||
<data name="help.audit.vs.perms.title" xml:space="preserve"><value>User Access Audit vs Permissions Audit</value></data>
|
||||
<data name="help.audit.vs.perms.body" xml:space="preserve"><value>The Permissions tab scans objects (libraries, folders, items) and shows who has access to each one.
|
||||
|
||||
This tab does the reverse: you select one or more users and it finds every object they can access — including access granted via SharePoint groups or Active Directory groups.</value></data>
|
||||
<data name="help.storage.hidden.title" xml:space="preserve"><value>Hidden Libraries</value></data>
|
||||
<data name="help.storage.hidden.body" xml:space="preserve"><value>Scans SharePoint libraries hidden from the site's normal navigation (e.g. Site Assets, Style Library, Form Templates). These can consume significant storage and are often overlooked in routine audits.</value></data>
|
||||
<data name="help.storage.preservation.title" xml:space="preserve"><value>Preservation Hold Library</value></data>
|
||||
<data name="help.storage.preservation.body" xml:space="preserve"><value>A hidden SharePoint library that stores versions of documents modified or deleted while a Microsoft Purview / Microsoft 365 Compliance retention policy is active. It can grow very large over time without being visible to normal site users.</value></data>
|
||||
</root>
|
||||
@@ -0,0 +1,40 @@
|
||||
using System.Globalization;
|
||||
using System.Resources;
|
||||
|
||||
namespace SharepointToolbox.Web.Localization;
|
||||
|
||||
/// <summary>
|
||||
/// Singleton string lookup backed by Strings.resx / Strings.fr.resx.
|
||||
/// Web version: no INotifyPropertyChanged — culture switching is per-request.
|
||||
/// </summary>
|
||||
public class TranslationSource
|
||||
{
|
||||
public static readonly TranslationSource Instance = new();
|
||||
|
||||
private ResourceManager _resourceManager = Strings.ResourceManager;
|
||||
private CultureInfo _currentCulture = CultureInfo.CurrentUICulture;
|
||||
|
||||
private TranslationSource() { }
|
||||
|
||||
public string this[string key] =>
|
||||
_resourceManager.GetString(key, _currentCulture) ?? $"[{key}]";
|
||||
|
||||
public CultureInfo CurrentCulture
|
||||
{
|
||||
get => _currentCulture;
|
||||
set
|
||||
{
|
||||
if (Equals(_currentCulture, value)) return;
|
||||
_currentCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCulture(string lang)
|
||||
{
|
||||
CurrentCulture = lang switch
|
||||
{
|
||||
"fr" => new CultureInfo("fr"),
|
||||
_ => CultureInfo.InvariantCulture
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user