8000 l10n: port mv for translation + add french by sylvestre · Pull Request #8251 · uutils/coreutils · GitHub
[go: up one dir, main page]

Skip to content

l10n: port mv for translation + add french #8251

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions src/uu/mv/locales/en-US.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,50 @@ mv-after-help = When specifying more than one of -i, -f, -n, only the final one
- all This is the default operation when an --update option is not specified, and results in all existing files in the destination being replaced.
- none This is similar to the --no-clobber option, in that no files in the destination are replaced, but also skipping a file does not induce a failure.
- older This is the default operation when --update is specified, and results in files being replaced if they’re older than the corresponding source file.

# Error messages
mv-error-no-such-file = cannot stat {$path}: No such file or directory
mv-error-cannot-stat-not-directory = cannot stat {$path}: Not a directory
mv-error-same-file = {$source} and {$target} are the same file
mv-error-self-target-subdirectory = cannot move {$source} to a subdirectory of itself, {$target}
mv-error-directory-to-non-directory = cannot overwrite directory {$path} with non-directory
mv-error-non-directory-to-directory = cannot overwrite non-directory {$target} with directory {$source}
mv-error-not-directory = target {$path}: Not a directory
mv-error-target-not-directory = target directory {$path}: Not a directory
mv-error-failed-access-not-directory = failed to access {$path}: Not a directory
mv-error-backup-with-no-clobber = cannot combine --backup with -n/--no-clobber or --update=none-fail
mv-error-extra-operand = mv: extra operand {$operand}
mv-error-backup-might-destroy-source = backing up {$target} might destroy source; {$source} not moved
mv-error-will-not-overwrite-just-created = will no 10000 t overwrite just-created '{$target}' with '{$source}'
mv-error-not-replacing = not replacing {$target}
mv-error-cannot-move = cannot move {$source} to {$target}
mv-error-directory-not-empty = Directory not empty
mv-error-dangling-symlink = can't determine symlink type, since it is dangling
mv-error-no-symlink-support = your operating system does not support symlinks
mv-error-permission-denied = Permission denied
mv-error-inter-device-move-failed = inter-device move failed: '{$from}' to '{$to}'; unable to remove target: {$err}

# Help messages
mv-help-force = do not prompt before overwriting
mv-help-interactive = prompt before override
mv-help-no-clobber = do not overwrite an existing file
mv-help-strip-trailing-slashes = remove any trailing slashes from each SOURCE argument
mv-help-target-directory = move all SOURCE arguments into DIRECTORY
mv-help-no-target-directory = treat DEST as a normal file
mv-help-verbose = explain what is being done
mv-help-progress = Display a progress bar.
Note: this feature is not supported by GNU coreutils.
mv-help-debug = explain how a file is copied. Implies -v

# Verbose messages
mv-verbose-renamed = renamed {$from} -> {$to}
mv-verbose-renamed-with-backup = renamed {$from} -> {$to} (backup: {$backup})

# Debug messages
mv-debug-skipped = skipped {$target}

# Prompt messages
mv-prompt-overwrite = overwrite {$target}?

# Progress messages
mv-progress-moving = moving
63 changes: 63 additions & 0 deletions src/uu/mv/locales/fr-FR.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
mv-about = Déplacer SOURCE vers DEST, ou plusieurs SOURCE(s) vers RÉPERTOIRE.
mv-usage = mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... RÉPERTOIRE
mv [OPTION]... -t RÉPERTOIRE SOURCE...
mv-after-help = Lors de la spécification de plus d'une option parmi -i, -f, -n, seule la dernière prend effet.

Ne pas déplacer un non-répertoire qui a une destination existante avec un horodatage de modification identique ou plus récent ;
au lieu de cela, ignorer silencieusement le fichier sans échouer. Si le déplacement traverse les limites du système de fichiers, la comparaison est
avec l'horodatage source tronqué aux résolutions du système de fichiers de destination et des appels système utilisés
pour mettre à jour les horodatages ; cela évite le travail en double si plusieurs commandes mv -u sont exécutées avec la même source
et destination. Cette option est ignorée si l'option -n ou --no-clobber est également spécifiée, qui donne plus de contrôle
sur quels fichiers existants dans la destination sont remplacés, et sa valeur peut être une des suivantes :

- all C'est l'opération par défaut quand une option --update n'est pas spécifiée, et résulte en tous les fichiers existants dans la destination étant remplacés.
- none C'est similaire à l'option --no-clobber, en ce que aucun fichier dans la destination n'est remplacé, mais aussi ignorer un fichier n'induit pas un échec.
- older C'est l'opération par défaut quand --update est spécifié, et résulte en des fichiers étant remplacés s'ils sont plus anciens que le fichier source correspondant.

# Messages d'erreur
mv-error-no-such-file = impossible de lire {$path} : Aucun fichier ou répertoire de ce nom
mv-error-cannot-stat-not-directory = impossible de lire {$path} : N'est pas un répertoire
mv-error-same-file = {$source} et {$target} sont le même fichier
mv-error-self-target-subdirectory = impossible de déplacer {$source} vers un sous-répertoire de lui-même, {$target}
mv-error-directory-to-non-directory = impossible d'écraser le répertoire {$path} avec un non-répertoire
mv-error-non-directory-to-directory = impossible d'écraser le non-répertoire {$target} avec le répertoire {$source}
mv-error-not-directory = cible {$path} : N'est pas un répertoire
mv-error-target-not-directory = répertoire cible {$path} : N'est pas un répertoire
mv-error-failed-access-not-directory = impossible d'accéder à {$path} : N'est pas un répertoire
mv-error-backup-with-no-clobber = impossible de combiner --backup avec -n/--no-clobber ou --update=none-fail
mv-error-extra-operand = mv : opérande supplémentaire {$operand}
mv-error-backup-might-destroy-source = sauvegarder {$target} pourrait détruire la source ; {$source} non déplacé
mv-error-will-not-overwrite-just-created = ne va pas écraser le fichier qui vient d'être créé '{$target}' avec '{$source}'
mv-error-not-replacing = ne remplace pas {$target}
mv-error-cannot-move = impossible de déplacer {$source} vers {$target}
mv-error-directory-not-empty = Répertoire non vide
mv-error-dangling-symlink = impossible de déterminer le type de lien symbolique, car il est suspendu
mv-error-no-symlink-support = votre système d'exploitation ne prend pas en charge les liens symboliques
mv-error-permission-denied = Permission refusée
mv-error-inter-device-move-failed = échec du déplacement inter-périphérique : '{$from}' vers '{$to}' ; impossible de supprimer la cible : {$err}

# Messages d'aide
mv-help-force = ne pas demander avant d'écraser
mv-help-interactive = demander avant d'écraser
mv-help-no-clobber = ne pas écraser un fichier existant
mv-help-strip-trailing-slashes = supprimer toutes les barres obliques de fin de chaque argument SOURCE
mv-help-target-directory = déplacer tous les arguments SOURCE dans RÉPERTOIRE
mv-help-no-target-directory = traiter DEST comme un fichier normal
mv-help-verbose = expliquer ce qui est fait
mv-help-progress = Afficher une barre de progression.
Note : cette fonctionnalité n'est pas supportée par GNU coreutils.
mv-help-debug = expliquer comment un fichier est copié. Implique -v

# Messages verbeux
mv-verbose-renamed = renommé {$from} -> {$to}
mv-verbose-renamed-with-backup = renommé {$from} -> {$to} (sauvegarde : {$backup})

# Messages de débogage
mv-debug-skipped = ignoré {$target}

# Messages de confirmation
mv-prompt-overwrite = écraser {$target} ?

# Messages de progression
mv-progress-moving = déplacement
28 changes: 11 additions & 17 deletions src/uu/mv/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,30 @@
//
// For the full copyright and license information, please view the LICENSE
// file that was distributed with this source code.
use std::collections::HashMap;
use thiserror::Error;
use uucore::error::UError;
use uucore::locale::get_message_with_args;

#[derive(Debug, Error)]
pub enum MvError {
#[error("cannot stat {0}: No such file or directory")]
#[error("{}", get_message_with_args("mv-error-no-such-file", HashMap::from([("path".to_string(), .0.clone())])))]
NoSuchFile(String),

#[error("cannot stat {0}: Not a directory")]
#[error("{}", get_message_with_args("mv-error-cannot-stat-not-directory", HashMap::from([("path".to_string(), .0.clone())])))]
CannotStatNotADirectory(String),

#[error("{0} and {1} are the same file")]
#[error("{}", get_message_with_args("mv-error-same-file", HashMap::from([("source".to_string(), .0.clone()), ("target".to_string(), .1.clone())])))]
SameFile(String, String),

#[error("cannot move {0} to a subdirectory of itself, {1}")]
#[error("{}", get_message_with_args("mv-error-self-target-subdirectory", HashMap::from([("source".to_string(), .0.clone()), ("target".to_string(), .1.clone())])))]
SelfTargetSubdirectory(String, String),

#[error("cannot overwrite directory {0} with non-directory")]
#[error("{}", get_message_with_args("mv-error-directory-to-non-directory", HashMap::from([("path".to_string(), .0.clone())])))]
DirectoryToNonDirectory(String),

#[error("cannot overwrite non-directory {1} with directory {0}")]
#[error("{}", get_message_with_args("mv-error-non-directory-to-directory", HashMap::from([("source".to_string(), .0.clone()), ("target".to_string(), .1.clone())])))]
NonDirectoryToDirectory(String, String),

#[error("target {0}: Not a directory")]
#[error("{}", get_message_with_args("mv-error-not-directory", HashMap::from([("path".to_string(), .0.clone())])))]
NotADirectory(String),

#[error("target directory {0}: Not a directory")]
#[error("{}", get_message_with_args("mv-error-target-not-directory", HashMap::from([("path".to_string(), .0.clone())])))]
TargetNotADirectory(String),

#[error("failed to access {0}: Not a directory")]
#[error("{}", get_message_with_args("mv-error-failed-access-not-directory", HashMap::from([("path".to_string(), .0.clone())])))]
FailedToAccessNotADirectory(String),
}

Expand Down
Loading
Loading
0