From d71ab035a56b6e7e99623f77512f75ad0a6e583f Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 15 Sep 2025 08:15:59 +0200 Subject: [PATCH] uucore/selinux: add support for translations (#8628) --- src/uucore/locales/en-US.ftl | 7 +++++++ src/uucore/locales/fr-FR.ftl | 7 +++++++ src/uucore/src/lib/features/selinux.rs | 11 ++++++----- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/uucore/locales/en-US.ftl b/src/uucore/locales/en-US.ftl index 7ff7a3a87..09fb45783 100644 --- a/src/uucore/locales/en-US.ftl +++ b/src/uucore/locales/en-US.ftl @@ -38,6 +38,13 @@ action-creating = creating action-reading = reading action-writing = writing +# SELinux error messages +selinux-error-not-enabled = SELinux is not enabled on this system +selinux-error-file-open-failure = failed to open the file: { $error } +selinux-error-context-retrieval-failure = failed to retrieve the security context: { $error } +selinux-error-context-set-failure = failed to set default file creation context to '{ $context }': { $error } +selinux-error-context-conversion-failure = failed to set default file creation context to '{ $context }': { $error } + # Safe traversal error messages safe-traversal-error-path-contains-null = path contains null byte safe-traversal-error-open-failed = failed to open '{ $path }': { $source } diff --git a/src/uucore/locales/fr-FR.ftl b/src/uucore/locales/fr-FR.ftl index aff6a9071..a8a344688 100644 --- a/src/uucore/locales/fr-FR.ftl +++ b/src/uucore/locales/fr-FR.ftl @@ -38,6 +38,13 @@ action-creating = création action-reading = lecture action-writing = écriture +# Messages d'erreur SELinux +selinux-error-not-enabled = SELinux n'est pas activé sur ce système +selinux-error-file-open-failure = échec de l'ouverture du fichier : { $error } +selinux-error-context-retrieval-failure = échec de la récupération du contexte de sécurité : { $error } +selinux-error-context-set-failure = échec de la définition du contexte de création de fichier par défaut à '{ $context }' : { $error } +selinux-error-context-conversion-failure = échec de la définition du contexte de création de fichier par défaut à '{ $context }' : { $error } + # Messages d'erreur de traversée sécurisée safe-traversal-error-path-contains-null = le chemin contient un octet null safe-traversal-error-open-failed = échec de l'ouverture de '{ $path }' : { $source } diff --git a/src/uucore/src/lib/features/selinux.rs b/src/uucore/src/lib/features/selinux.rs index 3e6929053..1f2b6452c 100644 --- a/src/uucore/src/lib/features/selinux.rs +++ b/src/uucore/src/lib/features/selinux.rs @@ -8,24 +8,25 @@ use std::error::Error; use std::path::Path; +use crate::translate; use selinux::SecurityContext; use thiserror::Error; #[derive(Debug, Error)] pub enum SeLinuxError { - #[error("SELinux is not enabled on this system")] + #[error("{}", translate!("selinux-error-not-enabled"))] SELinuxNotEnabled, - #[error("failed to open the file: {0}")] + #[error("{}", translate!("selinux-error-file-open-failure", "error" => .0.clone()))] FileOpenFailure(String), - #[error("failed to retrieve the security context: {0}")] + #[error("{}", translate!("selinux-error-context-retrieval-failure", "error" => .0.clone()))] ContextRetrievalFailure(String), - #[error("failed to set default file creation context to '{0}': {1}")] + #[error("{}", translate!("selinux-error-context-set-failure", "context" => .0.clone(), "error" => .1.clone()))] ContextSetFailure(String, String), - #[error("failed to set default file creation context to '{0}': {1}")] + #[error("{}", translate!("selinux-error-context-conversion-failure", "context" => .0.clone(), "error" => .1.clone()))] ContextConversionFailure(String, String), }