458 lines
20 KiB
YAML
458 lines
20 KiB
YAML
# Menu principal
|
|
menu:
|
|
subtitle: 'Tuteur de Frappe en Terminal'
|
|
adaptive_drill: 'Exercice Adaptatif'
|
|
adaptive_drill_desc: 'Mots phonétiques avec déverrouillage adaptatif des touches'
|
|
code_drill: 'Exercice de Code'
|
|
code_drill_desc: 'Entraînez-vous à taper la syntaxe du code'
|
|
passage_drill: 'Exercice de Passage'
|
|
passage_drill_desc: 'Tapez des passages de livres'
|
|
skill_tree: 'Arbre de Compétences'
|
|
skill_tree_desc: 'Voir les branches de progression et lancer des exercices'
|
|
keyboard: 'Clavier'
|
|
keyboard_desc: 'Explorer la disposition du clavier et les statistiques'
|
|
statistics: 'Statistiques'
|
|
statistics_desc: 'Voir vos statistiques de frappe'
|
|
settings: 'Paramètres'
|
|
settings_desc: 'Configurer keydr'
|
|
day_streak: ' | %{days} jours consécutifs'
|
|
key_progress: ' Progression %{unlocked}/%{total} (%{mastered} maîtrisées) | Objectif %{target} WPM%{streak}'
|
|
hint_start: '[1-3] Démarrer'
|
|
hint_skill_tree: '[t] Arbre de Compétences'
|
|
hint_keyboard: '[b] Clavier'
|
|
hint_stats: '[s] Statistiques'
|
|
hint_settings: '[c] Paramètres'
|
|
hint_quit: '[q] Quitter'
|
|
|
|
# Écran d'exercice
|
|
drill:
|
|
title: ' Exercice '
|
|
mode_adaptive: 'Adaptatif'
|
|
mode_code: 'Code (Non classé)'
|
|
mode_passage: 'Passage (Non classé)'
|
|
focus_char: 'Focus : ''%{ch}'''
|
|
focus_bigram: 'Focus : "%{bigram}"'
|
|
focus_both: 'Focus : ''%{ch}'' + "%{bigram}"'
|
|
header_wpm: 'WPM'
|
|
header_acc: 'Pré'
|
|
header_err: 'Err'
|
|
code_source: ' Source du code '
|
|
passage_source: ' Source du passage '
|
|
footer: '[ESC] Fin [Backspace] Effacer'
|
|
keys_reenabled: 'Touches réactivées en %{ms}ms'
|
|
hint_end: '[ESC] Fin de l''exercice'
|
|
hint_backspace: '[Backspace] Effacer'
|
|
|
|
# Tableau de bord / résultat de l'exercice
|
|
dashboard:
|
|
title: ' Exercice Terminé '
|
|
results: 'Résultats'
|
|
unranked_note_prefix: ' (Non classé'
|
|
unranked_note_suffix: ' ne compte pas pour l''arbre de compétences)'
|
|
speed: ' Vitesse : '
|
|
accuracy_label: ' Précision : '
|
|
time_label: ' Temps : '
|
|
errors_label: ' Erreurs : '
|
|
correct_detail: ' (%{correct}/%{total} corrects)'
|
|
input_blocked: ' Saisie temporairement bloquée '
|
|
input_blocked_ms: '(%{ms}ms restantes)'
|
|
hint_continue: '[c/Enter/Space] Continuer'
|
|
hint_retry: '[r] Réessayer'
|
|
hint_menu: '[q] Menu'
|
|
hint_stats: '[s] Statistiques'
|
|
hint_delete: '[x] Supprimer'
|
|
|
|
# Barre latérale de statistiques (pendant l'exercice)
|
|
sidebar:
|
|
title: ' Statistiques '
|
|
wpm: 'WPM : '
|
|
target: 'Objectif : '
|
|
target_wpm: '%{wpm} WPM'
|
|
accuracy: 'Précision : '
|
|
progress: 'Progression : '
|
|
correct: 'Corrects : '
|
|
errors: 'Erreurs : '
|
|
time: 'Temps : '
|
|
last_drill: ' Dernier Exercice '
|
|
vs_avg: ' vs moy : '
|
|
|
|
# Tableau de bord des statistiques
|
|
stats:
|
|
title: ' Statistiques '
|
|
empty: 'Aucun exercice terminé. Commencez à taper !'
|
|
tab_dashboard: '[1] Tableau de bord'
|
|
tab_history: '[2] Historique'
|
|
tab_activity: '[3] Activité'
|
|
tab_accuracy: '[4] Précision'
|
|
tab_timing: '[5] Chronométrage'
|
|
tab_ngrams: '[6] N-grammes'
|
|
hint_back: '[ESC] Retour'
|
|
hint_next_tab: '[Tab] Onglet suivant'
|
|
hint_switch_tab: '[1-6] Changer d''onglet'
|
|
hint_navigate: '[j/k] Naviguer'
|
|
hint_page: '[PgUp/PgDn] Défiler'
|
|
hint_delete: '[x] Supprimer'
|
|
summary_title: ' Résumé '
|
|
drills: ' Exercices : '
|
|
avg_wpm: ' WPM Moy : '
|
|
best_wpm: ' Meilleur WPM : '
|
|
accuracy_label: ' Précision : '
|
|
total_time: ' Temps total : '
|
|
wpm_chart_title: ' WPM par Exercice (20 derniers, Objectif : %{target}) '
|
|
accuracy_chart_title: ' Précision %% (50 derniers Exercices) '
|
|
chart_drill: 'Exercice #'
|
|
chart_accuracy_pct: 'Précision %%'
|
|
sessions_title: ' Sessions Récentes '
|
|
session_header: ' # WPM Raw Pré%% Temps Date/Heure Mode Classé Partiel'
|
|
session_separator: ' ─────────────────────────────────────────────────────────────────────'
|
|
delete_confirm: 'Supprimer la session #%{idx} ? (y/n)'
|
|
confirm_title: ' Confirmer '
|
|
yes: 'oui'
|
|
no: 'non'
|
|
keyboard_accuracy_title: ' Précision du Clavier %% '
|
|
keyboard_timing_title: ' Chronométrage du Clavier (ms) '
|
|
slowest_keys_title: ' Touches les plus Lentes (ms) '
|
|
fastest_keys_title: ' Touches les plus Rapides (ms) '
|
|
worst_accuracy_title: ' Pire Précision (%%) '
|
|
best_accuracy_title: ' Meilleure Précision (%%) '
|
|
not_enough_data: ' Données insuffisantes'
|
|
streaks_title: ' Séries '
|
|
current_streak: ' Actuelle : '
|
|
best_streak: ' Meilleure : '
|
|
active_days: ' Jours actifs : '
|
|
top_days_none: ' Meilleurs jours : aucun'
|
|
top_days: ' Meilleurs jours : %{days}'
|
|
wpm_label: ' WPM : %{avg}/%{target} (%{pct}%%)'
|
|
acc_label: ' Pré : %{pct}%%'
|
|
keys_label: ' Touches : %{unlocked}/%{total} (%{mastered} maîtrisées)'
|
|
ngram_empty: 'Terminez des exercices adaptatifs pour voir les données de n-grammes'
|
|
ngram_header_speed_narrow: ' Bgrm Vit Att Anom%'
|
|
ngram_header_error_narrow: ' Bgrm Err Éch Taux Att Anom%'
|
|
ngram_header_speed: ' Bigramme Vit Att Échan. Anom%'
|
|
ngram_header_error: ' Bigramme Erreurs Échan. Taux Att Anom%'
|
|
focus_title: ' Focus Actif '
|
|
focus_char_label: ' Focus : '
|
|
focus_bigram_value: 'Bigramme %{label}'
|
|
focus_plus: ' + '
|
|
anomaly_error: 'erreur'
|
|
anomaly_speed: 'vitesse'
|
|
focus_detail_both: ' Caractère ''%{ch}'' : touche la plus faible | Bigramme %{label} : anomalie de %{type} %{pct}%%'
|
|
focus_detail_char_only: ' Caractère ''%{ch}'' : touche la plus faible, aucune anomalie de bigramme confirmée'
|
|
focus_detail_bigram_only: ' (anomalie de %{type} : %{pct}%%)'
|
|
focus_empty: ' Terminez des exercices adaptatifs pour voir les données de focus'
|
|
error_anomalies_title: ' Anomalies d''Erreur (%{count}) '
|
|
no_error_anomalies: ' Aucune anomalie d''erreur détectée'
|
|
speed_anomalies_title: ' Anomalies de Vitesse (%{count}) '
|
|
no_speed_anomalies: ' Aucune anomalie de vitesse détectée'
|
|
scope_label_prefix: ' '
|
|
bi_label: ' | Bi : %{count}'
|
|
tri_label: ' | Tri : %{count}'
|
|
hes_label: ' | Hés : >%{ms}ms'
|
|
gain_label: ' | Gain : %{value}'
|
|
gain_interval: ' (tous les 50)'
|
|
focus_char_value: 'Caractère ''%{ch}'''
|
|
|
|
# Carte d'activité
|
|
heatmap:
|
|
title: ' Activité Quotidienne (Sessions par Jour) '
|
|
jan: 'Jan'
|
|
feb: 'Fév'
|
|
mar: 'Mar'
|
|
apr: 'Avr'
|
|
may: 'Mai'
|
|
jun: 'Jun'
|
|
jul: 'Jul'
|
|
aug: 'Aoû'
|
|
sep: 'Sep'
|
|
oct: 'Oct'
|
|
nov: 'Nov'
|
|
dec: 'Déc'
|
|
|
|
# Graphique
|
|
chart:
|
|
wpm_over_time: ' WPM au fil du temps '
|
|
drill_number: 'Exercice #'
|
|
|
|
# Paramètres
|
|
settings:
|
|
title: ' Paramètres '
|
|
subtitle: 'Utilisez les flèches pour naviguer, Entrée/Droite pour changer, ESC pour sauvegarder et quitter'
|
|
target_wpm: 'WPM Objectif'
|
|
theme: 'Thème'
|
|
word_count: 'Nombre de Mots'
|
|
ui_language: 'Langue de l''Interface'
|
|
dictionary_language: 'Langue du Dictionnaire'
|
|
keyboard_layout: 'Disposition du Clavier'
|
|
code_language: 'Langage de Code'
|
|
code_downloads: 'Téléchargements de Code'
|
|
on: 'Oui'
|
|
off: 'Non'
|
|
code_download_dir: 'Rép. Téléchargement Code'
|
|
snippets_per_repo: 'Extraits par Dépôt'
|
|
unlimited: 'Illimité'
|
|
download_code_now: 'Télécharger Code Maintenant'
|
|
run_downloader: 'Lancer le téléchargeur'
|
|
passage_downloads: 'Téléchargements de Passages'
|
|
passage_download_dir: 'Rép. Téléchargement Passages'
|
|
paragraphs_per_book: 'Paragraphes par Livre'
|
|
whole_book: 'Livre entier'
|
|
download_passages_now: 'Télécharger Passages Maintenant'
|
|
export_path: 'Chemin d''Export'
|
|
export_data: 'Exporter les Données'
|
|
export_now: 'Exporter maintenant'
|
|
import_path: 'Chemin d''Import'
|
|
import_data: 'Importer les Données'
|
|
import_now: 'Importer maintenant'
|
|
hint_save_back: '[ESC] Sauvegarder et retour'
|
|
hint_change_value: '[Enter/flèches] Changer la valeur'
|
|
hint_edit_path: '[Enter sur chemin] Éditer'
|
|
hint_move: '[←→] Déplacer'
|
|
hint_tab_complete: '[Tab] Compléter (à la fin)'
|
|
hint_confirm: '[Enter] Confirmer'
|
|
hint_cancel: '[Esc] Annuler'
|
|
success_title: ' Succès '
|
|
error_title: ' Erreur '
|
|
press_any_key: 'Appuyez sur une touche'
|
|
file_exists_title: ' Fichier Existant '
|
|
file_exists: 'Un fichier existe déjà à ce chemin.'
|
|
overwrite_rename: '[d] Écraser [r] Renommer [Esc] Annuler'
|
|
erase_warning: 'Ceci effacera vos données actuelles.'
|
|
export_first: 'Exportez d''abord si vous voulez les conserver.'
|
|
proceed_yn: 'Continuer ? (y/n)'
|
|
confirm_import_title: ' Confirmer l''Importation '
|
|
|
|
# Écrans de sélection
|
|
select:
|
|
dictionary_language_title: ' Sélectionner la Langue du Dictionnaire '
|
|
keyboard_layout_title: ' Sélectionner la Disposition du Clavier '
|
|
code_language_title: ' Sélectionner le Langage de Code '
|
|
passage_source_title: ' Sélectionner la Source de Passages '
|
|
ui_language_title: ' Sélectionner la Langue de l''Interface '
|
|
more_above: '... %{count} de plus au-dessus ...'
|
|
more_below: '... %{count} de plus en-dessous ...'
|
|
current: ' (actuel)'
|
|
disabled: ' (désactivé)'
|
|
enabled_default: ' (activé, par défaut : %{layout})'
|
|
enabled: ' (activé)'
|
|
disabled_blocked: ' (désactivé : bloqué)'
|
|
built_in: ' (intégré)'
|
|
cached: ' (en cache)'
|
|
disabled_download: ' (désactivé : téléchargement requis)'
|
|
download_required: ' (téléchargement requis)'
|
|
hint_navigate: '[Up/Down/PgUp/PgDn] Naviguer'
|
|
hint_confirm: '[Enter] Confirmer'
|
|
hint_back: '[ESC] Retour'
|
|
language_resets_layout: 'Sélectionner une langue réinitialise la disposition à celle par défaut de cette langue.'
|
|
layout_no_language_change: 'Changer la disposition ne change pas la langue du dictionnaire.'
|
|
disabled_network_notice: 'Certaines langues sont désactivées : activez les téléchargements dans intro/paramètres.'
|
|
disabled_sources_notice: 'Certaines sources sont désactivées : activez les téléchargements dans intro/paramètres.'
|
|
passage_all: 'Tous (Intégrés + tous les livres)'
|
|
passage_builtin: 'Passages intégrés uniquement'
|
|
passage_book_prefix: 'Livre : %{title}'
|
|
|
|
# Progression
|
|
progress:
|
|
overall_key_progress: 'Progression Globale des Touches'
|
|
unlocked_mastered: '%{unlocked}/%{total} déverrouillées (%{mastered} maîtrisées)'
|
|
|
|
# Arbre de compétences
|
|
skill_tree:
|
|
title: ' Arbre de Compétences '
|
|
locked: 'Verrouillé'
|
|
unlocked: 'déverrouillé'
|
|
mastered: 'maîtrisé'
|
|
in_progress: 'en cours'
|
|
complete: 'terminé'
|
|
locked_status: 'verrouillé'
|
|
locked_notice: 'Terminez %{count} lettres primaires pour débloquer les branches'
|
|
branches_separator: 'Branches (disponibles après %{count} lettres primaires)'
|
|
unlocked_letters: 'Déverrouillées %{unlocked}/%{total} lettres'
|
|
level: 'Niveau %{current}/%{total}'
|
|
level_zero: 'Niveau 0/%{total}'
|
|
in_focus: ' en focus'
|
|
hint_navigate: '[↑↓/jk] Naviguer'
|
|
hint_scroll: '[PgUp/PgDn ou Ctrl+U/Ctrl+D] Défiler'
|
|
hint_back: '[q] Retour'
|
|
hint_unlock: '[Enter] Déverrouiller'
|
|
hint_start_drill: '[Enter] Lancer l''Exercice'
|
|
unlock_msg_1: 'Une fois déverrouillé, l''exercice adaptatif inclura les touches de cette branche qui sont déverrouillées.'
|
|
unlock_msg_2: 'Si vous voulez vous concentrer sur cette branche, lancez un exercice directement depuis cette branche dans l''Arbre de Compétences.'
|
|
confirm_unlock: 'Déverrouiller %{branch} ?'
|
|
confirm_yn: '[y] Déverrouiller [n/ESC] Annuler'
|
|
lvl_prefix: 'Niv'
|
|
branch_primary_letters: 'Lettres Primaires'
|
|
branch_capital_letters: 'Lettres Majuscules'
|
|
branch_numbers: 'Chiffres 0-9'
|
|
branch_prose_punctuation: 'Ponctuation de Prose'
|
|
branch_whitespace: 'Espaces Blancs'
|
|
branch_code_symbols: 'Symboles de Code'
|
|
level_frequency_order: 'Ordre de Fréquence'
|
|
level_common_sentence_capitals: 'Majuscules de Phrases Courantes'
|
|
level_name_capitals: 'Majuscules de Noms'
|
|
level_remaining_capitals: 'Majuscules Restantes'
|
|
level_common_digits: 'Chiffres Courants'
|
|
level_all_digits: 'Tous les Chiffres'
|
|
level_essential: 'Essentiel'
|
|
level_common: 'Courant'
|
|
level_expressive: 'Expressif'
|
|
level_enter_return: 'Entrée/Retour'
|
|
level_tab_indent: 'Tab/Indentation'
|
|
level_arithmetic_assignment: 'Arithmétique et Affectation'
|
|
level_grouping: 'Groupement'
|
|
level_logic_reference: 'Logique et Référence'
|
|
level_special: 'Spécial'
|
|
|
|
# Jalons
|
|
milestones:
|
|
unlock_title: ' Touche Déverrouillée ! '
|
|
mastery_title: ' Touche Maîtrisée ! '
|
|
branches_title: ' Nouvelles Branches Disponibles ! '
|
|
branch_complete_title: ' Branche Terminée ! '
|
|
all_unlocked_title: ' Toutes les Touches Déverrouillées ! '
|
|
all_mastered_title: ' Maîtrise Totale du Clavier ! '
|
|
unlocked: 'déverrouillée'
|
|
mastered: 'maîtrisée'
|
|
use_finger: 'Utilisez votre %{finger}'
|
|
hold_right_shift: 'Maintenez Shift Droit (auriculaire droit)'
|
|
hold_left_shift: 'Maintenez Shift Gauche (auriculaire gauche)'
|
|
congratulations_all_letters: 'Félicitations ! Vous avez maîtrisé les %{count} lettres primaires'
|
|
new_branches_available: 'De nouvelles branches de compétences sont disponibles :'
|
|
visit_skill_tree: 'Visitez l''Arbre de Compétences pour déverrouiller une nouvelle branche'
|
|
and_start_training: 'et commencez l''entraînement !'
|
|
open_skill_tree: 'Appuyez sur [t] pour ouvrir l''Arbre de Compétences'
|
|
branch_complete_msg: 'Vous avez terminé la branche %{branch} !'
|
|
all_levels_mastered: 'Les %{count} niveaux sont maîtrisés.'
|
|
all_keys_confident: 'Chaque touche de cette branche est à confiance maximale.'
|
|
all_unlocked_msg: 'Vous avez déverrouillé toutes les touches du clavier !'
|
|
all_unlocked_desc: 'Chaque caractère, symbole et modificateur est disponible dans vos exercices.'
|
|
keep_practicing_mastery: 'Continuez à pratiquer pour atteindre la maîtrise — quand chaque touche atteindra'
|
|
confidence_complete: 'la confiance maximale, vous aurez atteint la maîtrise totale du clavier !'
|
|
all_mastered_msg: 'Félicitations — vous avez atteint la maîtrise totale du clavier !'
|
|
all_mastered_desc: 'Chaque touche du clavier est à confiance maximale.'
|
|
mastery_takes_practice: 'La maîtrise n''est pas une destination — elle nécessite une pratique continue.'
|
|
keep_drilling: 'Continuez à vous entraîner pour garder votre niveau.'
|
|
hint_skill_tree_continue: '[t] Ouvrir l''Arbre de Compétences [Autre touche] Continuer'
|
|
hint_any_key: 'Appuyez sur une touche pour continuer'
|
|
input_blocked: 'Saisie temporairement bloquée (%{ms}ms restantes)'
|
|
unlock_msg_1: 'Bon travail ! Continuez à améliorer vos compétences.'
|
|
unlock_msg_2: 'Une touche de plus dans votre arsenal !'
|
|
unlock_msg_3: 'Votre clavier s''agrandit ! Continuez !'
|
|
unlock_msg_4: 'Un pas de plus vers la maîtrise totale !'
|
|
mastery_msg_1: 'Cette touche est à confiance maximale !'
|
|
mastery_msg_2: 'Vous maîtrisez cette touche parfaitement !'
|
|
mastery_msg_3: 'Mémoire musculaire acquise !'
|
|
mastery_msg_4: 'Une touche de plus conquise !'
|
|
|
|
# Explorateur de clavier
|
|
keyboard:
|
|
title: ' Clavier '
|
|
subtitle: 'Appuyez ou cliquez sur une touche'
|
|
hint_navigate: '[←→↑↓/hjkl/Tab] Naviguer'
|
|
hint_back: '[q/ESC] Retour'
|
|
key_label: 'Touche : '
|
|
finger_label: 'Doigt : '
|
|
hand_left: 'Gauche'
|
|
hand_right: 'Droite'
|
|
finger_index: 'Indicateur'
|
|
finger_middle: 'Majeur'
|
|
finger_ring: 'Annulaire'
|
|
finger_pinky: 'Auriculaire'
|
|
finger_thumb: 'Pouce'
|
|
overall_accuracy: ' Précision globale : %{correct}/%{total} (%{pct}%%)'
|
|
ranked_accuracy: ' Précision classée : %{correct}/%{total} (%{pct}%%)'
|
|
confidence: 'Confiance : '
|
|
no_data: 'Pas encore de données'
|
|
no_data_short: 'Pas de données'
|
|
key_details: ' Détails de la Touche '
|
|
key_details_char: ' Détails de la Touche : ''%{ch}'' '
|
|
key_details_name: ' Détails de la Touche : %{name} '
|
|
press_key_hint: 'Appuyez sur une touche pour voir ses détails'
|
|
shift_label: 'Shift : '
|
|
shift_no: 'Non'
|
|
overall_avg_time: 'Temps Moy. Global : '
|
|
overall_best_time: 'Meilleur Temps Global : '
|
|
overall_samples: 'Échantillons Globaux : '
|
|
overall_accuracy_label: 'Précision Globale : '
|
|
branch_label: 'Branche : '
|
|
level_label: 'Niveau : '
|
|
built_in_key: 'Touche Intégrée'
|
|
unlocked_label: 'Déverrouillée : '
|
|
yes: 'Oui'
|
|
no: 'Non'
|
|
in_focus_label: 'En Focus ? : '
|
|
mastery_label: 'Maîtrise : '
|
|
mastery_locked: 'Verrouillé'
|
|
ranked_avg_time: 'Temps Moy. Classé : '
|
|
ranked_best_time: 'Meilleur Temps Classé : '
|
|
ranked_samples: 'Échantillons Classés : '
|
|
ranked_accuracy_label: 'Précision Classée : '
|
|
|
|
# Dialogues d'introduction
|
|
intro:
|
|
passage_title: ' Configuration Téléchargement de Passages '
|
|
code_title: ' Configuration Téléchargement de Code '
|
|
enable_downloads: 'Activer les téléchargements réseau'
|
|
download_dir: 'Répertoire de téléchargement'
|
|
paragraphs_per_book: 'Paragraphes par livre (0 = entier)'
|
|
whole_book: 'livre entier'
|
|
snippets_per_repo: 'Extraits par dépôt (0 = illimité)'
|
|
unlimited: 'illimité'
|
|
start_passage_drill: 'Lancer l''exercice de passage'
|
|
start_code_drill: 'Lancer l''exercice de code'
|
|
confirm: 'Confirmer'
|
|
hint_navigate: '[Up/Down] Naviguer'
|
|
hint_adjust: '[Left/Right] Ajuster'
|
|
hint_edit: '[Type/Backspace] Éditer'
|
|
hint_confirm: '[Enter] Confirmer'
|
|
hint_cancel: '[ESC] Annuler'
|
|
preparing_download: 'Préparation du téléchargement...'
|
|
download_passage_title: ' Téléchargement de la Source de Passage '
|
|
download_code_title: ' Téléchargement de la Source de Code '
|
|
book_label: ' Livre : %{name}'
|
|
repo_label: ' Dépôt : %{name}'
|
|
progress_bytes: '[%{name}] %{downloaded}/%{total} bytes'
|
|
downloaded_bytes: 'Téléchargé : %{bytes} bytes'
|
|
downloading_book_progress: 'Téléchargement du livre : [%{bar}] %{downloaded}/%{total} bytes'
|
|
downloading_book_bytes: 'Téléchargement du livre : %{bytes} bytes'
|
|
downloading_code_progress: 'Téléchargement : [%{bar}] %{downloaded}/%{total} bytes'
|
|
downloading_code_bytes: 'Téléchargement : %{bytes} bytes'
|
|
current_book: 'Actuel : %{name} (livre %{done}/%{total})'
|
|
current_repo: 'Actuel : %{name} (dépôt %{done}/%{total})'
|
|
passage_instructions_1: 'keydr peut télécharger des passages de Project Gutenberg pour la pratique de frappe.'
|
|
passage_instructions_2: 'Les livres sont téléchargés une fois et mis en cache localement.'
|
|
passage_instructions_3: 'Configurez les paramètres ci-dessous, puis lancez un exercice de passage.'
|
|
code_instructions_1: 'keydr peut télécharger du code open-source de GitHub pour la pratique de frappe.'
|
|
code_instructions_2: 'Le code est téléchargé une fois et mis en cache localement.'
|
|
code_instructions_3: 'Configurez les paramètres ci-dessous, puis lancez un exercice de code.'
|
|
|
|
# Messages de statut (de app.rs)
|
|
status:
|
|
recovery_files: 'Fichiers de récupération trouvés suite à une importation interrompue. Les données peuvent être incohérentes — envisagez de réimporter.'
|
|
dir_not_exist: 'Le répertoire n''existe pas : %{path}'
|
|
no_data_store: 'Aucun stockage de données disponible'
|
|
serialization_error: 'Erreur de sérialisation : %{error}'
|
|
exported_to: 'Exporté vers %{path}'
|
|
export_failed: 'Échec de l''exportation : %{error}'
|
|
could_not_read: 'Impossible de lire le fichier : %{error}'
|
|
invalid_export: 'Fichier d''export invalide : %{error}'
|
|
unsupported_version: 'Version d''export non supportée : %{got} (attendue %{expected})'
|
|
import_failed: 'Échec de l''importation : %{error}'
|
|
imported_theme_fallback: 'Importé avec succès (thème ''%{theme}'' introuvable, utilisation du défaut)'
|
|
imported_success: 'Importé avec succès'
|
|
adaptive_unavailable: 'Mode adaptatif classé non disponible : %{error}'
|
|
switched_to: 'Basculé vers %{name}'
|
|
layout_changed: 'Disposition changée en %{name}'
|
|
|
|
# Erreurs (pour traduction des limites d'UI)
|
|
errors:
|
|
unknown_language: 'Langue inconnue : %{key}'
|
|
unknown_layout: 'Disposition de clavier inconnue : %{key}'
|
|
unsupported_pair: 'Paire langue/disposition non supportée : %{language} + %{layout}'
|
|
language_blocked: 'Langue bloquée par le niveau de support : %{key}'
|
|
|
|
# Commun
|
|
common:
|
|
wpm: 'WPM'
|
|
cpm: 'CPM'
|
|
back: 'Retour'
|