From 39896f84b028c66871d23c3c599e0991dde72a00 Mon Sep 17 00:00:00 2001 From: Geoffrey Vancoetsem Date: Sun, 19 Aug 2012 02:42:19 +0200 Subject: [PATCH] =?UTF-8?q?Version=201.5:=20-=20i18n=20anglaise=20et=20fra?= =?UTF-8?q?n=C3=A7aise=20(sauf=20module=20d'installation)=20-=20refactorin?= =?UTF-8?q?g=20de=20la=20lecture=20des=20fonctions=20IIS=20depuis=20ADSI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LogRotator.csproj | 18 ++ Program.cs | 296 ++++++++++++------------------- Resources/Plurals.fr.Designer.cs | 0 Resources/Plurals.fr.resx | 132 ++++++++++++++ Resources/Strings.Designer.cs | 200 ++++++++++++++++++++- Resources/Strings.fr.Designer.cs | 0 Resources/Strings.fr.resx | 243 +++++++++++++++++++++++++ Resources/Strings.resx | 68 ++++++- 8 files changed, 773 insertions(+), 184 deletions(-) create mode 100644 Resources/Plurals.fr.Designer.cs create mode 100644 Resources/Plurals.fr.resx create mode 100644 Resources/Strings.fr.Designer.cs create mode 100644 Resources/Strings.fr.resx diff --git a/LogRotator.csproj b/LogRotator.csproj index 88081d2..1244d9d 100644 --- a/LogRotator.csproj +++ b/LogRotator.csproj @@ -137,6 +137,16 @@ + + Plurals.fr.resx + True + True + + + Strings.fr.resx + True + True + True True @@ -199,6 +209,14 @@ Installer.cs + + ResXFileCodeGenerator + Plurals.fr.Designer.cs + + + ResXFileCodeGenerator + Strings.fr.Designer.cs + ResXFileCodeGenerator Plurals.Designer.cs diff --git a/Program.cs b/Program.cs index a5e7a15..a7da06e 100644 --- a/Program.cs +++ b/Program.cs @@ -135,183 +135,46 @@ private static void AddFoldersFromAdsi(List folders, bool skipHttp = fal { if (!skipHttp) { - #region /LM/W3SVC - DirectoryEntry w3svc = GetIisFeature(lm, "W3SVC", "IisWebService"); - - if (w3svc != null) - { - try - { - bool isCentralW3C = false, isCentralBinary = false, isUTF8 = false; - - // NT 5.2 or newer features - if (Environment.OSVersion.Version >= new Version(5, 2)) - { - // central log file is available starting with NT 5.2 SP1 - if (Environment.OSVersion.Version > new Version(5, 2) - || Environment.OSVersion.Version == new Version(5, 2) && !String.IsNullOrWhiteSpace(Environment.OSVersion.ServicePack)) - { - isCentralW3C = (bool)w3svc.Properties["CentralW3CLoggingEnabled"].Value; - isCentralBinary = (bool)w3svc.Properties["CentralBinaryLoggingEnabled"].Value; - } - - // UTF-8 encoding is available starting with NT 5.2 RTM - isUTF8 = (bool)w3svc.Properties["LogInUTF8"].Value; - } - - if (isCentralW3C || isCentralBinary) - { - folders.Add(Folder.Create( - w3svc, - IisServiceType.W3SVC, - isUTF8, - isCentralW3C: isCentralW3C, - isCentralBinary: isCentralBinary - )); - } - else - { - foreach (DirectoryEntry site in w3svc.Children.Cast().Where(e => e.SchemaClassName == "IIsWebServer")) - { - long siteId = Int64.Parse(site.Name); - - folders.Add(Folder.Create( - site, - IisServiceType.W3SVC, - isUTF8, - siteId: siteId - )); - - site.Close(); - } - } - - w3svc.Close(); - } - finally - { - w3svc.Dispose(); - } - } - #endregion + AddFoldersFromAdsi(folders, lm, IisServiceType.W3SVC); } if (!skipFtp) { - #region /LM/MSFTPSVC - DirectoryEntry msftpsvc = GetIisFeature(lm, "MSFTPSVC", "IIsFtpServer"); - - if (msftpsvc != null) - { - try - { - // server-level FTP log files encoding - bool isFtpUTF8 = (bool)msftpsvc.Properties["FtpLogInUtf8"].Value; - - foreach (DirectoryEntry site in msftpsvc.Children.Cast().Where(e => e.SchemaClassName == "IIsFtpServer")) - { - long siteId = Int64.Parse(site.Name); - - // site-level FTP log files encoding - bool isFtpSiteUTF8 = (bool)site.GetPropertyValue("FtpLogInUtf8", isFtpUTF8); - - folders.Add(Folder.Create( - site, - IisServiceType.MSFTPSVC, - isFtpSiteUTF8, - siteId: siteId - )); - - site.Close(); - } - - msftpsvc.Close(); - } - finally - { - msftpsvc.Dispose(); - } - } - #endregion + AddFoldersFromAdsi(folders, lm, IisServiceType.MSFTPSVC); } if (!skipSmtp) { - #region /LM/SMTPSVC - DirectoryEntry smtpsvc = GetIisFeature(lm, "SMTPSVC", "IIsSmtpService"); ; - - if (smtpsvc != null) - { - try - { - foreach (DirectoryEntry site in smtpsvc.Children.Cast().Where(e => e.SchemaClassName == "IIsSmtpServer")) - { - long siteId = Int64.Parse(site.Name); - - folders.Add(Folder.Create( - site, - IisServiceType.SMTPSVC, - false, - siteId: siteId - )); - - site.Close(); - } - - smtpsvc.Close(); - } - finally - { - smtpsvc.Dispose(); - } - } - #endregion + AddFoldersFromAdsi(folders, lm, IisServiceType.SMTPSVC); } if (!skipNntp) { - #region /LM/NNTPSVC - DirectoryEntry nntpsvc = GetIisFeature(lm, "NNTPSVC", "IIsNntpService"); - - if (nntpsvc != null) - { - try - { - foreach (DirectoryEntry site in nntpsvc.Children.Cast().Where(e => e.SchemaClassName == "IIsNntpServer")) - { - long siteId = Int64.Parse(site.Name); - - folders.Add(Folder.Create( - site, - IisServiceType.NNTPSVC, - false, - siteId: siteId - )); - - site.Close(); - } - - nntpsvc.Close(); - } - finally - { - nntpsvc.Dispose(); - } - } - #endregion + AddFoldersFromAdsi(folders, lm, IisServiceType.NNTPSVC); } lm.Close(); } } - private static DirectoryEntry GetIisFeature(DirectoryEntry lm, String name, String schemaClassName) + private static void AddFoldersFromAdsi(List folders, DirectoryEntry lm, IisServiceType svcType) { - DirectoryEntry entry = null; + String name = svcType.ToString(), schemaClassName; + + switch (svcType) + { + case IisServiceType.W3SVC: schemaClassName = "IisWebService"; break; + case IisServiceType.MSFTPSVC: schemaClassName = "IisFtpService"; break; + case IisServiceType.SMTPSVC: schemaClassName = "IisSmtpService"; break; + case IisServiceType.NNTPSVC: schemaClassName = "IisNntpService"; break; + default: throw new InvalidOperationException("That type of IIS Service can't be read from ADSI"); + } + + DirectoryEntry svc = null; try { - entry = lm.Children.Find(name, schemaClassName); + svc = lm.Children.Find(name, schemaClassName); s_logHelper.WriteLineOut(Strings.MsgIisFeatureFound, name, traceInfo: true); } catch (DirectoryNotFoundException ex) @@ -326,7 +189,73 @@ private static DirectoryEntry GetIisFeature(DirectoryEntry lm, String name, Stri throw ex; } - return entry; + if (svc != null) + { + try + { + bool isCentralW3C = false, isCentralBinary = false, isUTF8 = false; + + // NT 5.2 or newer features for W3SVC + if (svcType == IisServiceType.W3SVC && Environment.OSVersion.Version >= new Version(5, 2)) + { + // central log file is available starting with NT 5.2 SP1 + if (Environment.OSVersion.Version > new Version(5, 2) + || Environment.OSVersion.Version == new Version(5, 2) && !String.IsNullOrWhiteSpace(Environment.OSVersion.ServicePack)) + { + isCentralW3C = (bool)svc.Properties["CentralW3CLoggingEnabled"].Value; + isCentralBinary = (bool)svc.Properties["CentralBinaryLoggingEnabled"].Value; + } + + // UTF-8 encoding is available starting with NT 5.2 RTM + isUTF8 = (bool)svc.Properties["LogInUTF8"].Value; + } + + if (isCentralW3C || isCentralBinary) + { + folders.Add(Folder.Create( + svc, + svcType, + isUTF8, + isCentralW3C: isCentralW3C, + isCentralBinary: isCentralBinary + )); + } + else + { + // read MSFTPSVC specific config (UTF-8) + if (svcType == IisServiceType.MSFTPSVC) + { + isUTF8 = (bool)svc.Properties["FtpLogInUtf8"].Value; + } + + foreach (DirectoryEntry site in svc.Children.Cast().Where(e => e.SchemaClassName == schemaClassName)) + { + long siteId = Int64.Parse(site.Name); + + // site-level FTP log files encoding + if (svcType == IisServiceType.MSFTPSVC) + { + isUTF8 = (bool)site.GetPropertyValue("FtpLogInUtf8", isUTF8); + } + + folders.Add(Folder.Create( + site, + svcType, + isUTF8, + siteId: siteId + )); + + site.Close(); + } + } + + svc.Close(); + } + finally + { + svc.Dispose(); + } + } } private static void AddFoldersFromServerManager(List folders) @@ -465,7 +394,7 @@ private static void AddFoldersFromServerManager(List folders) private static void WriteFolderInfo(Folder folder) { - String message = String.Format("{0}: Period = {1}, Format = {2}, Folder = {3}", folder.ID, folder.Period, folder.FilenameFormat, folder.Directory); + String message = String.Format(Strings.MsgFolderInfo, folder.ID, folder.Period, folder.FilenameFormat, folder.Directory); s_logHelper.WriteLineOut(message, traceInfo: true); } @@ -473,20 +402,20 @@ private static void ProcessFolder(Folder folder) { if (!folder.Enabled) { - s_logHelper.WriteLineOut("{0}: skipping because logging is disabled", folder.ID, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgFolderSkippedLoggingDisabled, folder.ID, traceInfo: true); return; } if (folder.LogFormat == IisLogFormatType.Custom) { - s_logHelper.WriteLineOut("{0}: skipping because custom logging is used", folder.ID, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgFolderSkippedCustomLogging, folder.ID, traceInfo: true); return; } DirectoryInfo di = new DirectoryInfo(folder.Directory); if (!di.Exists) { - s_logHelper.WriteLineOut("{0}: folder not found", folder.ID, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgFolderNotFound, folder.ID, traceInfo: true); return; } @@ -495,7 +424,7 @@ private static void ProcessFolder(Folder folder) if (!settings.Compress && !settings.Delete) { - s_logHelper.WriteLineOut("{0}: skipping because compression and deletion are disabled", folder.ID, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgFolderSkippedNoCompressionNoDeletion, folder.ID, traceInfo: true); return; } @@ -513,7 +442,7 @@ private static void ProcessFolder(Folder folder) int lastIndex = logFiles.Count - 1; FileLogInfo lastLogFile = logFiles[lastIndex]; logFiles.RemoveAt(lastIndex); - s_logHelper.WriteLineOut("{0}: skipping {1} log file because it's the latest one", folder.ID, lastLogFile.File.Name, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgLogFileSkippedLatest, folder.ID, lastLogFile.File.Name, traceInfo: true); } // get compressed log files @@ -537,29 +466,28 @@ private static void ProcessFolder(Folder folder) // filter List logFilesToDelete = new List( - logFiles.Union(compressedLogFiles).Where(f => f.File.Exists && f.Date < deleteBeforeDate) + logFiles.Union(compressedLogFiles).Where(logFile => logFile.File.Exists && logFile.Date < deleteBeforeDate) ); if (logFilesToDelete.Count > 0) { - s_logHelper.WriteLineOut("{0}: {1} {2} to delete...", folder.ID, logFilesToDelete.Count, logFilesToDelete.Count > 1 ? "log files" : "log file", traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgXLogFilesToDelete, folder.ID, logFilesToDelete.Count, logFilesToDelete.Count > 1 ? Plurals.LogFiles : Plurals.LogFile, traceInfo: true); int deletedCount = 0; - logFilesToDelete.ForEach(delegate(FileLogInfo fileLog) + logFilesToDelete.ForEach(logFile => { - if (Delete(fileLog, DeleteReasonType.Obsolete)) + if (Delete(logFile, DeleteReasonType.Obsolete)) { deletedCount++; } }); - s_logHelper.WriteLineOut("{0}: {1} {2} deleted", folder.ID, deletedCount, deletedCount > 1 ? "log files" : "log file", traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgXLogFilesDeleted, folder.ID, deletedCount, deletedCount > 1 ? Plurals.LogFiles : Plurals.LogFile, traceInfo: true); } else { - Trace.TraceInformation("{0}: no file to delete", folder.ID); - s_logHelper.WriteLineOut("{0}: no file to delete", folder.ID); + s_logHelper.WriteLineOut(Strings.MsgNoLogFileToDelete, folder.ID, traceInfo: true); } } @@ -575,7 +503,7 @@ private static void ProcessFolder(Folder folder) if (logFilesToCompress.Count > 0) { - s_logHelper.WriteLineOut("{0}: {1} {2} to compress...", folder.ID, logFilesToCompress.Count, logFilesToCompress.Count > 1 ? "log files" : "log file", traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgXLogFilesToCompress, folder.ID, logFilesToCompress.Count, logFilesToCompress.Count > 1 ? Plurals.LogFiles : Plurals.LogFile, traceInfo: true); int compressedCount = 0, deletedCount = 0; @@ -591,36 +519,38 @@ private static void ProcessFolder(Folder folder) } }); - s_logHelper.WriteLineOut("{0}: {1} compressed, {2} deleted", folder.ID, compressedCount, deletedCount, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgXLogFilesCompressedXDeleted, folder.ID, compressedCount, deletedCount, traceInfo: true); } else { - s_logHelper.WriteLineOut("{0}: no file to compress", folder.ID, traceInfo: true); + s_logHelper.WriteLineOut(Strings.MsgNoLogFileToCompress, folder.ID, traceInfo: true); } } } private static bool Delete(FileLogInfo fileLog, DeleteReasonType reasonType) { - Trace.TraceInformation("{0} deleting (reason: {1})...", fileLog.File.FullName, reasonType); + // TODO redirect messages to logHelper according to new log verbosity config + + Trace.TraceInformation(Strings.MsgLogFileDeleting, fileLog.File.FullName, reasonType); try { if (!s_simulationMode) { fileLog.File.Delete(); fileLog.File.Refresh(); - Trace.TraceInformation("{0} deleted", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileDeleted, fileLog.File.FullName); } else { // TODO check for file deletion permission - Trace.TraceInformation("{0} not deleted (simulation mode)", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileNotDeletedSimulationMode, fileLog.File.FullName); } return true; } catch (Exception ex) { - Trace.TraceError("{0} delete error: {1}", fileLog.File.FullName, ex.Message); + Trace.TraceError(Strings.MsgLogFileDeletionError, fileLog.File.FullName, ex.Message); Trace.TraceError(ex.ToString()); return false; } @@ -628,21 +558,23 @@ private static bool Delete(FileLogInfo fileLog, DeleteReasonType reasonType) private static bool Compress(FileLogInfo fileLog) { + // TODO redirect messages to logHelper according to new log verbosity config + FileInfo compressedFileInfo = new FileInfo(String.Concat(fileLog.File.FullName, ".zip")); - Trace.TraceInformation("{0} compressing to {1}...", fileLog.File.FullName, compressedFileInfo.Name); + Trace.TraceInformation(Strings.MsgLogFileCompressing, fileLog.File.FullName, compressedFileInfo.Name); try { if (compressedFileInfo.Exists) { if (!s_simulationMode) { - Trace.TraceInformation("{0} deleted (overwrite)", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileOverwriten, fileLog.File.FullName); compressedFileInfo.Delete(); } else { // TODO check for file deletion permission - Trace.TraceInformation("{0} not deleted (overwrite, simulation mode)", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileNotOverwritenSimulationMode, fileLog.File.FullName); } } @@ -654,12 +586,12 @@ private static bool Compress(FileLogInfo fileLog) if (!s_simulationMode) { zip.Save(); - Trace.TraceInformation("{0} compressed", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileCompressed, fileLog.File.FullName); } else { // TODO check for file compression permission - Trace.TraceInformation("{0} not compressed (simulation mode)", fileLog.File.FullName); + Trace.TraceInformation(Strings.MsgLogFileNotCompressedSimulationMode, fileLog.File.FullName); } } @@ -675,7 +607,7 @@ private static bool Compress(FileLogInfo fileLog) } catch (Exception ex) { - Trace.TraceError("{0} compression error: {1}", fileLog.File.FullName, ex.Message); + Trace.TraceError(Strings.MsgLogFileCompressionError, fileLog.File.FullName, ex.Message); Trace.TraceError(ex.ToString()); return false; } diff --git a/Resources/Plurals.fr.Designer.cs b/Resources/Plurals.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/Resources/Plurals.fr.resx b/Resources/Plurals.fr.resx new file mode 100644 index 0000000..5056681 --- /dev/null +++ b/Resources/Plurals.fr.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + dossier + + + dossiers + + + fichier-journal + + + fichiers-journaux + + \ No newline at end of file diff --git a/Resources/Strings.Designer.cs b/Resources/Strings.Designer.cs index 743c64f..0fa78e9 100644 --- a/Resources/Strings.Designer.cs +++ b/Resources/Strings.Designer.cs @@ -87,6 +87,51 @@ internal static string MsgEnd { } } + /// + /// Looks up a localized string similar to {0}: Period = {1}, Format = {2}, Folder = {3}. + /// + internal static string MsgFolderInfo { + get { + return ResourceManager.GetString("MsgFolderInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: folder not found. + /// + internal static string MsgFolderNotFound { + get { + return ResourceManager.GetString("MsgFolderNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: skipping because custom logging is used. + /// + internal static string MsgFolderSkippedCustomLogging { + get { + return ResourceManager.GetString("MsgFolderSkippedCustomLogging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: skipping because logging is disabled. + /// + internal static string MsgFolderSkippedLoggingDisabled { + get { + return ResourceManager.GetString("MsgFolderSkippedLoggingDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: skipping because compression and deletion are disabled. + /// + internal static string MsgFolderSkippedNoCompressionNoDeletion { + get { + return ResourceManager.GetString("MsgFolderSkippedNoCompressionNoDeletion", resourceCulture); + } + } + /// /// Looks up a localized string similar to FTPSVC (7.5) feature not found. /// @@ -114,6 +159,105 @@ internal static string MsgIisFeatureNotFound { } } + /// + /// Looks up a localized string similar to {0} compressed. + /// + internal static string MsgLogFileCompressed { + get { + return ResourceManager.GetString("MsgLogFileCompressed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} compressing to {1}.... + /// + internal static string MsgLogFileCompressing { + get { + return ResourceManager.GetString("MsgLogFileCompressing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} compression error: {1}. + /// + internal static string MsgLogFileCompressionError { + get { + return ResourceManager.GetString("MsgLogFileCompressionError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} deleted. + /// + internal static string MsgLogFileDeleted { + get { + return ResourceManager.GetString("MsgLogFileDeleted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} deleting (reason: {1}).... + /// + internal static string MsgLogFileDeleting { + get { + return ResourceManager.GetString("MsgLogFileDeleting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} deletion error: {1}. + /// + internal static string MsgLogFileDeletionError { + get { + return ResourceManager.GetString("MsgLogFileDeletionError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} not compressed (simulation mode). + /// + internal static string MsgLogFileNotCompressedSimulationMode { + get { + return ResourceManager.GetString("MsgLogFileNotCompressedSimulationMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} not deleted (simulation mode). + /// + internal static string MsgLogFileNotDeletedSimulationMode { + get { + return ResourceManager.GetString("MsgLogFileNotDeletedSimulationMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} not overwriten (simulation mode). + /// + internal static string MsgLogFileNotOverwritenSimulationMode { + get { + return ResourceManager.GetString("MsgLogFileNotOverwritenSimulationMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} overwriten. + /// + internal static string MsgLogFileOverwriten { + get { + return ResourceManager.GetString("MsgLogFileOverwriten", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: skipping {1} because it's the last log file. + /// + internal static string MsgLogFileSkippedLatest { + get { + return ResourceManager.GetString("MsgLogFileSkippedLatest", resourceCulture); + } + } + /// /// Looks up a localized string similar to No folder read from IIS. /// @@ -123,6 +267,24 @@ internal static string MsgNoFolderToProcess { } } + /// + /// Looks up a localized string similar to {0}: no file to compress. + /// + internal static string MsgNoLogFileToCompress { + get { + return ResourceManager.GetString("MsgNoLogFileToCompress", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: no file to delete. + /// + internal static string MsgNoLogFileToDelete { + get { + return ResourceManager.GetString("MsgNoLogFileToDelete", resourceCulture); + } + } + /// /// Looks up a localized string similar to Processing:. /// @@ -160,7 +322,7 @@ internal static string MsgRequireNewerWindows { } /// - /// Looks up a localized string similar to Prerequisite failed: Must be a Windows NT platform (PlatformID = {0}). + /// Looks up a localized string similar to Prerequisite failed: This program requires a Windows NT platform (PlatformID = {0}). /// internal static string MsgRequireWindowsNT { get { @@ -230,5 +392,41 @@ internal static string MsgXFoldersToProcess { return ResourceManager.GetString("MsgXFoldersToProcess", resourceCulture); } } + + /// + /// Looks up a localized string similar to {0}: {1} compressed, {2} deleted. + /// + internal static string MsgXLogFilesCompressedXDeleted { + get { + return ResourceManager.GetString("MsgXLogFilesCompressedXDeleted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: {1} {2} deleted. + /// + internal static string MsgXLogFilesDeleted { + get { + return ResourceManager.GetString("MsgXLogFilesDeleted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: {1} {2} to compress.... + /// + internal static string MsgXLogFilesToCompress { + get { + return ResourceManager.GetString("MsgXLogFilesToCompress", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: {1} {2} to delete.... + /// + internal static string MsgXLogFilesToDelete { + get { + return ResourceManager.GetString("MsgXLogFilesToDelete", resourceCulture); + } + } } } diff --git a/Resources/Strings.fr.Designer.cs b/Resources/Strings.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/Resources/Strings.fr.resx b/Resources/Strings.fr.resx new file mode 100644 index 0000000..f24dc8e --- /dev/null +++ b/Resources/Strings.fr.resx @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Erreur: Accès refusé à ADSI. Ce programme doit être exécuté avec élévation des privilèges. + + + Erreur critique + + + Fin + + + {0}: période = {1}, format = {2}, dossier = {3} + + + {0}: dossier introuvable + + + {0}: ignoré pour cause de journalisation personnalisée + + + {0}: ignoré pour cause de journalisation désactivée + + + {0}: ignoré pour cause de compression et suppression désactivées + + + fonction FTPSVC (7.5) introuvable + + + fonction {0} trouvée + + + fonction {0} introuvable ({1}) + + + {0} compressé + + + {0} compression vers {1}... + + + {0} erreur de compression: {1} + + + {0} supprimé + + + {0} suppression (raison: {1})... + + + {0} erreur de suppression: {1} + + + {0} non compressé (mode simulation) + + + {0} non supprimé (mode simulation) + + + {0} non écrasé (mode simulation) + + + {0} écrasé + + + {0}: {1} ignoré pour cause de dernier fichier-journal + + + Aucun dossier lu depuis IIS + + + {0}: aucun fichier à compresser + + + {0}: aucun fichier à supprimer + + + Traitement: + + + Lecture de la configuration ADSI héritée {0}... + + + Lecture de la configuration du gestionnaire de serveur {0}... + + + Echec de prérequis: Cette version de Windows doit être NT 5.1 ou plus récent (OSVersion = {0}) + + + Echec de prérequis: Ce programme nécessite une plateforme Windows NT (PlatformID = {0}) + + + Erreur: Accès refusé au gestionnaire de serveur IIS. Ce programme doit être exécuté avec élévation des privilèges. + + + Mode simulation + + + Version de IIS: {0} + + + Version de Windows: {0} + + + version de IIS inconnue + + + Alerte: Les versions de Windows postérieures à NT 6.2 n'ont pas été testées. Merci de rapporter tout problème. + + + {0} {1} à traiter: + + + {0}: {1} compressé(s), {2} supprimé(s) + + + {0}: {1} {2} supprimés(s) + + + {0}: {1} {2} à compresser... + + + {0}: {1} {2} à supprimer... + + \ No newline at end of file diff --git a/Resources/Strings.resx b/Resources/Strings.resx index 54b96cf..44e8d9c 100644 --- a/Resources/Strings.resx +++ b/Resources/Strings.resx @@ -126,6 +126,21 @@ End + + {0}: Period = {1}, Format = {2}, Folder = {3} + + + {0}: folder not found + + + {0}: skipping because custom logging is used + + + {0}: skipping because logging is disabled + + + {0}: skipping because compression and deletion are disabled + FTPSVC (7.5) feature not found @@ -135,9 +150,48 @@ {0} feature not found ({1}) + + {0} compressed + + + {0} compressing to {1}... + + + {0} compression error: {1} + + + {0} deleted + + + {0} deleting (reason: {1})... + + + {0} deletion error: {1} + + + {0} not compressed (simulation mode) + + + {0} not deleted (simulation mode) + + + {0} not overwriten (simulation mode) + + + {0} overwriten + + + {0}: skipping {1} because it's the last log file + No folder read from IIS + + {0}: no file to compress + + + {0}: no file to delete + Processing: @@ -151,7 +205,7 @@ Prerequisite failed: This Windows Version must be NT 5.1 or newer (OSVersion = {0}) - Prerequisite failed: Must be a Windows NT platform (PlatformID = {0}) + Prerequisite failed: This program requires a Windows NT platform (PlatformID = {0}) Error: Access to IIS Server Manager denied. This program must be executed with elevated privileges. @@ -174,4 +228,16 @@ {0} {1} to process: + + {0}: {1} compressed, {2} deleted + + + {0}: {1} {2} deleted + + + {0}: {1} {2} to compress... + + + {0}: {1} {2} to delete... + \ No newline at end of file