From 7fdfb8d642201b388014f29889ef28e35b8c1872 Mon Sep 17 00:00:00 2001 From: GiteaBot Date: Sat, 4 Jul 2026 00:56:26 +0000 Subject: [PATCH] [skip ci] Updated translations via Crowdin --- options/locale/locale_fr-FR.json | 73 ++++++++++++++++---------------- options/locale/locale_zh-CN.json | 27 ++++++++++++ 2 files changed, 64 insertions(+), 36 deletions(-) diff --git a/options/locale/locale_fr-FR.json b/options/locale/locale_fr-FR.json index 574612043bd..bbd5135077a 100644 --- a/options/locale/locale_fr-FR.json +++ b/options/locale/locale_fr-FR.json @@ -185,7 +185,7 @@ "search.tag_kind": "Chercher des étiquettes…", "search.tag_tooltip": "Cherchez des étiquettes correspondantes. Utilisez « % » pour rechercher n’importe quelle suite de nombres.", "search.commit_kind": "Chercher des révisions…", - "search.runner_kind": "Chercher des exécuteurs…", + "search.runner_kind": "Chercher des opérateurs…", "search.no_results": "Aucun résultat correspondant trouvé.", "search.issue_kind": "Recherche de tickets…", "search.pull_kind": "Recherche de demandes d’ajouts…", @@ -1106,9 +1106,9 @@ "repo.migrate_items_merge_requests": "Demandes de fusion", "repo.migrate_items_releases": "Publications", "repo.migrate_repo": "Migrer le dépôt", - "repo.migrate.clone_address": "Migrer/Cloner depuis une URL", + "repo.migrate.clone_address": "Migrer / Cloner depuis une URL", "repo.migrate.clone_address_desc": "L’URL ou le lien « Git clone » d’un dépôt existant", - "repo.migrate.github_token_desc": "Vous pouvez mettre un ou plusieurs jetons séparés par des virgules ici pour rendre la migration plus rapide et contourner la limite de débit de l’API GitHub. ATTENTION : abuser de cette fonctionnalité peut enfreindre la politique du fournisseur de service et entraîner un blocage de votre compte.", + "repo.migrate.github_token_desc": "Vous pouvez mettre un ou plusieurs jetons séparés par des virgules ici pour rendre la migration plus rapide et contourner la limite de débit de l’API GitHub. Attention : abuser de cette fonctionnalité peut enfreindre la politique du fournisseur de service et entraîner un blocage de votre compte.", "repo.migrate.clone_local_path": "ou un chemin serveur local", "repo.migrate.permission_denied": "Vous n'êtes pas autorisé à importer des dépôts locaux.", "repo.migrate.permission_denied_blocked": "Vous ne pouvez pas importer depuis des domaines bannis, veuillez demander à votre administrateur de vérifier les paramètres ALLOWED_DOMAINS, ALLOW_LOCALNETWORKS ou BLOCKED_DOMAINS.", @@ -2332,8 +2332,8 @@ "repo.settings.event_header_workflow": "Événements de procédure", "repo.settings.event_workflow_run": "Exécution de procédure", "repo.settings.event_workflow_run_desc": "Exécution des procédures des Actions Gitea ajoutée, en attente, en cours ou terminées.", - "repo.settings.event_workflow_job": "Missions des procédures", - "repo.settings.event_workflow_job_desc": "Les missions ajoutées, en attente, en cours ou terminées de la procédure des Actions Gitea.", + "repo.settings.event_workflow_job": "Missions de la procédure", + "repo.settings.event_workflow_job_desc": "Les missions ajoutées, en attente, en cours ou terminées des Actions Gitea.", "repo.settings.event_package": "Paquet", "repo.settings.event_package_desc": "Paquet créé ou supprimé.", "repo.settings.branch_filter": "Filtre de branche", @@ -2426,7 +2426,7 @@ "repo.settings.protect_check_status_contexts": "Activer les signaux", "repo.settings.protect_status_check_patterns": "Motifs de signal :", "repo.settings.protect_status_check_patterns_desc": "Entrez des motifs pour spécifier quelles signaux doivent réussir avant que des branches puissent être fusionnées. Un motif par ligne. Un motif ne peut être vide.", - "repo.settings.protect_check_status_contexts_desc": "Exiger le status « succès » avant de fusionner. Quand activée, une branche protégée ne peux accepter que des soumissions ou des fusions ayant le status « succès ». Lorsqu'il n’y a pas de contexte, la dernière révision fait foi.", + "repo.settings.protect_check_status_contexts_desc": "Exiger la réussite des signaux avant de fusionner. Quand activé, une branche protégée ne peux accepter que des soumissions ou des fusions ayant le status « succès ». Lorsqu'il n’y a pas de contexte, la dernière révision fait foi.", "repo.settings.protect_check_status_contexts_list": "Signaux trouvés au cours de la semaine passée pour ce dépôt", "repo.settings.protect_status_check_matched": "Correspondant", "repo.settings.protect_invalid_status_check_pattern": "Motif de signal invalide : « %s ».", @@ -2599,6 +2599,7 @@ "repo.diff.review.reject": "Demander des changements", "repo.diff.review.self_approve": "Les auteurs d’une demande d’ajout ne peuvent pas approuver leur propre demande d’ajout", "repo.diff.committed_by": "révisé par", + "repo.diff.coauthored_by": "coécrit par", "repo.commits.avatar_stack_and": "et", "repo.commits.avatar_stack_people": "%d personne(s)", "repo.diff.protected": "Protégé", @@ -3726,50 +3727,50 @@ "actions.status.cancelling": "Annulation", "actions.status.skipped": "Ignoré", "actions.status.blocked": "Bloqué", - "actions.runners": "Exécuteurs", - "actions.runners.runner_manage_panel": "Gestion des exécuteurs", - "actions.runners.new": "Créer un nouvel exécuteur", - "actions.runners.new_notice": "Comment démarrer un exécuteur", + "actions.runners": "Opérateurs", + "actions.runners.runner_manage_panel": "Gestion des opérateurs", + "actions.runners.new": "Créer un nouvel opérateur", + "actions.runners.new_notice": "Comment démarrer un opérateur", "actions.runners.status": "Statut", "actions.runners.id": "ID", "actions.runners.name": "Nom", "actions.runners.owner_type": "Type", "actions.runners.availability": "Disponibilité", "actions.runners.description": "Description", - "actions.runners.labels": "Labels", + "actions.runners.labels": "Libellés", "actions.runners.last_online": "Dernière fois en ligne", - "actions.runners.runner_title": "Exécuteur", - "actions.runners.task_list": "Tâches récentes sur cet exécuteur", + "actions.runners.runner_title": "Opérateur", + "actions.runners.task_list": "Tâches récentes de cet opérateur", "actions.runners.task_list.no_tasks": "Il n'y a pas de tâche ici.", "actions.runners.task_list.run": "Exécuter", "actions.runners.task_list.status": "Statut", "actions.runners.task_list.repository": "Dépôt", "actions.runners.task_list.commit": "Révision", "actions.runners.task_list.done_at": "Fait à", - "actions.runners.edit_runner": "Éditer l'Exécuteur", + "actions.runners.edit_runner": "Éditer l’opérateur", "actions.runners.update_runner": "Appliquer les modifications", - "actions.runners.update_runner_success": "Exécuteur mis à jour avec succès", - "actions.runners.update_runner_failed": "Impossible d'actualiser l'Exécuteur", - "actions.runners.enable_runner": "Activer cet exécuteur", - "actions.runners.enable_runner_success": "Exécuteur activé avec succès", - "actions.runners.enable_runner_failed": "Impossible d’activer l’exécuteur", - "actions.runners.disable_runner": "Désactiver cet exécuteur", - "actions.runners.disable_runner_success": "Exécuteur désactivé avec succès", - "actions.runners.disable_runner_failed": "Impossible de désactiver l’exécuteur", - "actions.runners.delete_runner": "Supprimer cet exécuteur", - "actions.runners.delete_runner_success": "Exécuteur supprimé avec succès", - "actions.runners.delete_runner_failed": "Impossible de supprimer l'Exécuteur", - "actions.runners.delete_runner_header": "Êtes-vous sûr de vouloir supprimer cet exécuteur ?", - "actions.runners.delete_runner_notice": "Si une tâche est en cours sur cet exécuteur, elle sera interrompue et marquée comme échouée. Cela pourrait interrompre sa procédure.", - "actions.runners.none": "Aucun exécuteur disponible", + "actions.runners.update_runner_success": "Opérateur mis à jour avec succès", + "actions.runners.update_runner_failed": "Impossible d'actualiser l’opérateur", + "actions.runners.enable_runner": "Activer cet opérateur", + "actions.runners.enable_runner_success": "Opérateur activé avec succès", + "actions.runners.enable_runner_failed": "Impossible d’activer l’opérateur", + "actions.runners.disable_runner": "Désactiver cet opérateur", + "actions.runners.disable_runner_success": "Opérateur désactivé avec succès", + "actions.runners.disable_runner_failed": "Impossible de désactiver l’opérateur", + "actions.runners.delete_runner": "Supprimer cet opérateur", + "actions.runners.delete_runner_success": "Opérateur supprimé avec succès", + "actions.runners.delete_runner_failed": "Impossible de supprimer l’opérateur", + "actions.runners.delete_runner_header": "Êtes-vous sûr de vouloir supprimer cet opérateur ?", + "actions.runners.delete_runner_notice": "Si des tâches sont en cours de réalisation par cet opérateur, elles seront abandonnées et marquées en échec, pouvant également entrainer l’échec des procédures appelantes.", + "actions.runners.none": "Aucun opérateur disponible", "actions.runners.status.unspecified": "Inconnu", - "actions.runners.status.idle": "Inactif", - "actions.runners.status.active": "Actif", + "actions.runners.status.idle": "Disponible", + "actions.runners.status.active": "Occupé", "actions.runners.status.offline": "Hors-ligne", "actions.runners.version": "Version", - "actions.runners.reset_registration_token": "Réinitialiser le jeton d'enregistrement", + "actions.runners.reset_registration_token": "Réinitialiser le jeton d’enregistrement", "actions.runners.reset_registration_token_confirm": "Voulez-vous révoquer le jeton actuel et en générer un nouveau ?", - "actions.runners.reset_registration_token_success": "Le jeton d’inscription de l’exécuteur a été réinitialisé avec succès", + "actions.runners.reset_registration_token_success": "Le jeton d’inscription de l’opérateur a été réinitialisé avec succès", "actions.runs.all_workflows": "Toutes les procédures", "actions.runs.other_workflows": "Autres procédures", "actions.runs.other_workflows_tooltip": "Les procédures qui ont été exécutées dans ce dépôt mais qui n’existent pas dans la branche par défaut.", @@ -3782,7 +3783,7 @@ "actions.runs.scheduled": "Planifié", "actions.runs.pushed_by": "soumis par", "actions.runs.invalid_workflow_helper": "La déclaration de la procédure est invalide. Veuillez vérifier le fichier « %s ».", - "actions.runs.no_matching_online_runner_helper": "Aucun exécuteur en ligne correspondant au libellé %s", + "actions.runs.no_matching_online_runner_helper": "Aucun opérateur disponible correspondant au libellé « %s »", "actions.runs.no_job_without_needs": "La procédure doit contenir au moins une mission sans dépendance.", "actions.runs.no_job": "La procédure doit contenir au moins une mission.", "actions.runs.invalid_reusable_workflow_uses": "Clause \"uses\" invalide dans la procédure : %s", @@ -3824,7 +3825,7 @@ "actions.runs.graph_dependencies_count_n": "%d dépendances", "actions.runs.graph_success_rate": "%s succès", "actions.runs.graph_zoom_in": "Zoomer (Ctrl/⌘ + défilement)", - "actions.runs.graph_zoom_max": "Déjà zoomé à 100%", + "actions.runs.graph_zoom_max": "Déjà à 100%", "actions.runs.graph_zoom_out": "Dézoomer (Ctrl/⌘ + défilement)", "actions.runs.graph_reset_view": "Rétablir", "actions.workflow.disable": "Désactiver la procédure", @@ -3849,7 +3850,7 @@ "actions.scoped_workflows.required.update_success": "Procédure requise mise à jour.", "actions.scoped_workflows.required.label": "Marquer les procédures comme requises (elles ne pourront être désactivés depuis un dépôt) :", "actions.scoped_workflows.required.patterns": "Motifs de signal requis", - "actions.scoped_workflows.required.patterns_aria": "Motifs de signal requis pour %s", + "actions.scoped_workflows.required.patterns_aria": "Motifs de signal requis pour « %s »", "actions.scoped_workflows.required.patterns_note": "est uniquement appliqué lorsque la procédure est requise", "actions.scoped_workflows.required.patterns_hint": "Marquez la procédure comme requise pour configurer ses motifs de signal.", "actions.scoped_workflows.required.patterns_help": "Un motif de signal par ligne. Une demande d’ajout concernée peut être fusionnée à condition qu’au moins un signal par motif ait réussi. Cela est imposé pour toutes les branches affectées ayant des règles de protections (même désactivées), mais pas les branches sans protections.", @@ -3921,7 +3922,7 @@ "actions.general.token_permissions.fork_pr_note": "Si une mission est démarrée par une demande d’ajout depuis une bifurcation, ses permissions effectives ne dépasseront pas les permissions en lecture-seule.", "actions.general.token_permissions.customize_max_permissions": "Personnaliser les permissions maximales", "actions.general.cross_repo": "Accès inter-dépôt", - "actions.general.cross_repo_desc": "Permet aux dépôts de ce propriétaire de consulter les dépôts sélectionnés, à l’aide du jeton GITEA_TOKEN lors de l’exécution de missions d’Actions.", + "actions.general.cross_repo_desc": "Permet aux dépôts de ce propriétaire de consulter (en lecture seule) les dépôts listés ci-dessous pendant l’exécution des missions d’Actions (nécessite un jeton GITEA_TOKEN).", "actions.general.cross_repo_selected": "Dépôts sélectionnés", "actions.general.cross_repo_target_repos": "Dépôts cibles", "actions.general.cross_repo_add": "Ajouter un dépôt cible" diff --git a/options/locale/locale_zh-CN.json b/options/locale/locale_zh-CN.json index 5a124266396..a81cd20d796 100644 --- a/options/locale/locale_zh-CN.json +++ b/options/locale/locale_zh-CN.json @@ -3779,6 +3779,7 @@ "actions.runs.commit": "提交", "actions.runs.run_details": "运行详情", "actions.runs.workflow_file": "工作流文件", + "actions.runs.workflow_file_no_permission": "没有权限查看工作流文件", "actions.runs.scheduled": "已计划的", "actions.runs.pushed_by": "推送者", "actions.runs.invalid_workflow_helper": "工作流配置文件无效。请检查您的配置文件:%s", @@ -3835,7 +3836,33 @@ "actions.workflow.scope_owner": "拥有者", "actions.workflow.scope_global": "全局", "actions.workflow.required": "必须", + "actions.workflow.scoped_required_cannot_disable": "这个作用域工作流是必需的,不能被禁用。", + "actions.scoped_workflows": "作用域工作流", + "actions.scoped_workflows.desc_org": "将仓库注册为作用域工作流的源仓库。源仓库默认分支的「作用域工作流目录」中的工作流文件会在此组织中的每个仓库上运行,并使用对应仓库自身的上下文。", + "actions.scoped_workflows.desc_user": "将仓库注册为作用域工作流的源仓库。源仓库默认分支的「作用域工作流目录」中的工作流文件会在您拥有的每个仓库上运行,并使用对应仓库自身的上下文。", + "actions.scoped_workflows.desc_global": "将仓库注册为作用域工作流的源仓库。源仓库默认分支的「作用域工作流目录」中的工作流文件会在这个实例的每个仓库上运行,并使用对应仓库自身的上下文。由于实例级注册会针对每个仓库的事件进行检测,这在大型实例上可能会带来额外开销。", + "actions.scoped_workflows.add_help": "若要从仓库中提供作用域工作流,请在默认分支上提交工作流文件至 %s 然后将仓库注册为下面的源仓库。", + "actions.scoped_workflows.security_note": "一个源仓库的工作流会在它应用到的每个仓库上执行,它的 step 脚本和输出会被写到相关仓库的工作流日志里,并且能被任何有权查看这个仓库工作流的用户读取。因此,将一个私有仓库注册为源仓库会通过这些日志暴露工作流的逻辑。请仅注册那些工作流内容可以与所有相关仓库共享的仓库。如果一个作用域工作流从一个私有仓库引用了可复用工作流,请确保每个相关仓库都能读取它,否则该工作流会在这些仓库中运行失败。", + "actions.scoped_workflows.source.add": "添加源仓库", + "actions.scoped_workflows.source.add_success": "源仓库已添加。", + "actions.scoped_workflows.source.remove_success": "源仓库已删除。", + "actions.scoped_workflows.source.not_found": "未找到仓库。", + "actions.scoped_workflows.required.update_success": "「必需」工作流已更新。", + "actions.scoped_workflows.required.label": "把工作流标记为必需(「必需」工作流不能被仓库禁用):", + "actions.scoped_workflows.required.patterns": "「必需」状态检查表达式", + "actions.scoped_workflows.required.patterns_aria": "%s 的「必需」状态检查表达式", + "actions.scoped_workflows.required.patterns_note": "仅在工作流为「必需」时执行", + "actions.scoped_workflows.required.patterns_hint": "标记工作流为「必需」以配置它的状态检查表达式。", + "actions.scoped_workflows.required.patterns_help": "每行一个状态检查表达式(glob)。消费了这个工作流的合并请求只能在每条表达式都通过后才能合并。这仅适用于目标分支被分支保护规则保护的情况,即使分支保护规则的状态检查被禁用。没有被分支保护规则保护的目标分支不会被限制。\n每行填写一个状态检查表达式(glob)。只有当每个表达式都有一个匹配且已通过的状态检查时,相关的合并请求才能被合并。这仅适用于目标分支被分支保护规则保护的情况,即使分支保护规则的状态检查被禁用。没有被分支保护规则保护的目标分支不会被限制。", + "actions.scoped_workflows.required.patterns_empty": "每个「必需」工作流都需要至少一个状态检查表达式。", + "actions.scoped_workflows.required.missing_file": "文件不存在于源仓库", + "actions.scoped_workflows.required.expected_contexts": "预期状态检查(匹配表达式的状态检查会被标记)", + "actions.scoped_workflows.required.no_status_contexts": "此工作流不会报告任何状态检查,将其标记为「必需」后所有相关的合并请求都将无法合并。请不要将其标记为「必需」。", + "actions.scoped_workflows.no_files": "默认分支上未找到任何作用域工作流文件。", "actions.workflow.run": "运行工作流", + "actions.workflow.create_status_badge": "创建状态徽章", + "actions.workflow.status_badge": "状态徽章", + "actions.workflow.status_badge_url": "徽章 URL", "actions.workflow.not_found": "未找到工作流「%s」。", "actions.workflow.run_success": "工作流「%s」已成功运行。", "actions.workflow.from_ref": "使用工作流从",