diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index b218db017..8ba915605 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -70,3 +70,4 @@ Generated-in-code art is original and has no file to list: the UI icon set (`cra | `crates/ui-egui/src/i18n/de.tsv` | @arekown with Kimi | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | German interface catalog | | `crates/ui-egui/src/i18n/ru.tsv` | Dmitrii Khlapov with Claude | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Russian interface catalog; reviewed by a native speaker | | `crates/ui-egui/src/i18n/tr.tsv` | @PbyLoyth with Codex and Claude Code | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Turkish interface catalog | +| `crates/ui-egui/src/i18n/fr.tsv` | @pechnikov2026-star | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | French interface catalog | diff --git a/README.md b/README.md index d7a4bf720..706786935 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ Every screenshot below is WordCraft itself, rendered offscreen by its own UI tes | **References** | Table of contents, footnotes and endnotes, citations and bibliography (APA, MLA, Chicago, IEEE), captions, table of figures, cross-references, index, table of authorities | | **Review** | Spelling and grammar with suggestions (English and Polish, by each run's language), thesaurus, word count, comments in margin balloons or a pane, track changes, accept/reject, compare documents, restrict editing, accessibility checker, document inspector | | **Mailings** | Mail merge from CSV, merge fields, address block, greeting line, rules, preview, finish to a document; envelopes and labels | -| **View** | Print layout, web layout, draft, read mode, focus, zoom, one/multiple pages, page width, Navigation pane, rulers, gridlines, dark mode; interface in English, 简体中文, 繁體中文, 日本語, Português (Brasil), Español, Українська, Српски / Srpski, Eesti, Türkçe, Русский, Italiano, Deutsch, Polski or Čeština (follows the system language by default) | +| **View** | Print layout, web layout, draft, read mode, focus, zoom, one/multiple pages, page width, Navigation pane, rulers, gridlines, dark mode; interface in English, 简体中文, 繁體中文, 日本語, Português (Brasil), Español, Українська, Српски / Srpski, Eesti, Türkçe, Русский, Italiano, Deutsch, Polski, Čeština or Français (follows the system language by default) | | **Files** | .docx read/write (opens in Word), Word 97-2003 .doc import, PDF export, .odt, .rtf, .html, .md, .tex, .txt import/export, page images | The honest picture, area by area, is in [ROADMAP.md](ROADMAP.md), the diff --git a/crates/ui-egui/src/i18n/fr.tsv b/crates/ui-egui/src/i18n/fr.tsv new file mode 100644 index 000000000..9e5f797d2 --- /dev/null +++ b/crates/ui-egui/src/i18n/fr.tsv @@ -0,0 +1,2063 @@ +# French (fr) interface catalog. Columns, separated by a TAB: +# context English source translation +# context usually empty. `preview` words sample text inside rendered previews (the Design +# tab's style-set tiles), which must fit a small tile; it falls back to the plain entry. +# source the English text exactly as in the code (tl!(...), ribbon labels, command labels) +# escapes \n \t \\ inside a column. `{name}` placeholders must appear in both columns, and a +# trailing "…" in one needs one in the other. +# Lines starting with # and blank lines are ignored. A missing entry shows in English. +# +# French translations, written from the English source's meaning (clean-room, not copied +# from any product's localization). License: MIT OR Apache-2.0. + (no style) (Aucun style) + (no suggestions) (aucune suggestion) + 1.5 Line Spacing Interligne 1,5 + A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Un traitement de texte gratuit et open source, écrit de zéro en Rust.\nPartie de la suite Crafting Apps de l’équipe ArtCraft. + About À propos + About WordCraft À propos de WordCraft + Accept Accepter + Accept All Changes Accepter toutes les modifications + Accept This Change Accepter cette modification + Accessibility Accessibilité + Add Ajouter + Add a comment Ajouter un commentaire + Add a Table Ajouter un tableau + Add Object to Selection Ajouter l’objet à la sélection + Add Space Before Paragraph Ajouter un espace avant le paragraphe + Add space between Asian and Latin text Ajouter un espace entre le texte asiatique et le texte latin + Add space between Asian text and numbers Ajouter un espace entre le texte asiatique et les chiffres + Add tab stop at: Ajouter un taquet de tabulation à : + Add Text Ajouter du texte + Add to Dictionary Ajouter au dictionnaire + Add to Style Gallery Ajouter à la galerie de styles + Address Block Bloc d’adresse + Address: Adresse : + Address\nBlock Bloc\nd’adresse + Adjust Ajuster + Advanced Avancé + Advanced Find Recherche avancée + Advanced Find… Recherche avancée… + After: Après : + Agents Agents + Align Aligner + Align Left Aligner à gauche + Align Right Aligner à droite + Aligned at: Aligné à : + Alignment Alignement + All Borders Toutes les bordures + All Caps Majuscules + All caps Majuscules + All Markup Toutes les marques + Allow hanging punctuation Autoriser la ponctuation suspendue + Allow Latin text to wrap in the middle of a word Autoriser la coupure du texte latin au milieu d’un mot + Alt Text Texte de remplacement + Apply Asian line-breaking rules (kinsoku) Appliquer les règles de coupure de lignes asiatiques (kinsoku) + Apply Character Style Appliquer le style de caractère + Apply Style Appliquer le style + Arrange Organiser + Arrange\nAll Organiser\ntout + Arrow Flèche + Artistic Effects Effets artistiques + Asian Typography Typographie asiatique + Author Auteur + AutoCorrect Options Options de correction automatique + AutoFit Ajustement automatique + AutoFit Contents Ajustement automatique au contenu + AutoFit Window Ajustement automatique à la fenêtre + Automatic Automatique + Automatic ({language}) Automatique ({language}) + Automatic follows your system's language. Menus and commands change; your documents don't. Le mode Automatique suit la langue de votre système. Les menus et les commandes changent, mais pas vos documents. + Automatic Table 1 (3 levels) Table automatique 1 (3 niveaux) + Automatic Table 2 (2 levels) Table automatique 2 (2 niveaux) + AutoSave Enregistrement automatique + AutoSave saves every change to the file (needs a saved document) L’enregistrement automatique enregistre chaque modification dans le fichier (nécessite un document enregistré) + AutoSave isn't available in the browser: it can't write to your files. Save downloads a copy. L’enregistrement automatique n’est pas disponible dans le navigateur : il ne peut pas écrire dans vos fichiers. La commande Enregistrer télécharge une copie. + AutoSave only keeps .docx, .odt and .rtf files; {name} can't keep all formatting. Save as .docx to turn on AutoSave. L’enregistrement automatique ne prend en charge que les fichiers .docx, .odt et .rtf ; {name} ne peut pas conserver toute la mise en forme. Enregistrez au format .docx pour activer l’enregistrement automatique. + Balloons Bulles + Bullet Puce + By author Par auteur + Changed lines: Lignes modifiées : + Click level to modify: Cliquez sur le niveau à modifier : + Color only Couleur uniquement + Define New Multilevel List Définir une nouvelle liste à plusieurs niveaux + Define New Multilevel List… Définir une nouvelle liste à plusieurs niveaux… + Deletions: Suppressions : + Enter formatting for number: Entrez la mise en forme des numéros : + Follow number with: Faire suivre le numéro de : + Formatting Mise en forme + Formatting exceptions Exceptions de mise en forme + Include level number from: Inclure le numéro de niveau de : + Ink Encre + Insertions and Deletions Insertions et suppressions + Insertions: Insertions : + Inside: Intérieur : + Left border Bordure gauche + Legal style numbering Numérotation de style juridique + Link level to style: Lier le niveau au style : + List Definition Définition de liste + Mirror indents Retraits en miroir + Nothing Rien + Number alignment: Alignement des numéros : + Number format Format des numéros + Number style for this level: Style de numéros pour ce niveau : + Outside border Bordure extérieure + Overtype Remplacement + Outside: Extérieur : + Restart list after: Redémarrer la liste après : + Right border Bordure droite + Save the document to turn on AutoSave Enregistrez le document pour activer l’enregistrement automatique + Save the document to turn on AutoSave (a file you have only opened isn't rewritten until you save it) Enregistrez le document pour activer l’enregistrement automatique (un fichier que vous avez simplement ouvert n’est pas réécrit tant que vous ne l’enregistrez pas) + AutoText Texte automatique + Backspace Retour arrière + Banded Columns Colonnes à bandes + Banded Rows Lignes à bandes + Base text: Texte de base : + Before: Avant : + Bibliography Bibliographie + Binary assets added Ressources binaires ajoutées + Binary assets removed Ressources binaires supprimées + Blank Vide + Blank (Three Columns) Vide (trois colonnes) + Blank document Document vierge + Blank Page Page vierge + Block\nAuthors Bloquer\nles auteurs + Bold Gras + Bookmark Signet + Bookmark name: Nom du signet : + Border Painter Pinceau de bordure + Border\nPainter Pinceau\nde bordure + Borders Bordures + Tab stop position: Position du taquet de tabulation : + Default tab stops: Taquets de tabulation par défaut : + Tab stops to be cleared: Taquets de tabulation à supprimer : + All Tout + Decimal Décimal + Bar Barre + Leader Point de suite + Set Définir + Page Border Bordure de page + Apply to: Appliquer à : + Whole document Tout le document + This section Cette section + Fill Remplissage + Setting: Type : + 3-D 3-D + Custom Personnalisé + Style: Style : + Dot dash Tiret-point + Triple Triple + Between Entre + Borders and Shading Bordure et trame + Tabs… Tabulations… + Borders and Shading… Bordure et trame… + Bottom Border Bordure basse + Bottom Margin Marge basse + Bottom of Page Bas de page + Bottom: Bas : + Box Encadré + Breaks Sauts + Bring Forward Avancer d’un niveau + Bullet Library Galerie de puces + Bullets Puces + Calendar Calendrier + Cancel Annuler + Capitalize Each Word Première lettre des mots en majuscule + Captions Légendes + Cell Margins Marges de cellule + Cell Size Taille de cellule + Cell\nMargins Marges\nde cellule + Center Centrer + Change Modifier + Change Case Modifier la casse + Change List Level Modifier le niveau de liste + Change Picture Modifier l’image + Change Shape Modifier la forme + Changes Modifications + Character Position Position des caractères + Character Scale Échelle des caractères + Character Shading Trame de fond des caractères + Character Spacing Espacement des caractères + Characters Caractères + Characters (no spaces) Caractères (sans espaces) + Characters (with spaces) Caractères (avec espaces) + Chart Graphique + Check Accessibility Vérifier l’accessibilité + Check Compatibility Vérifier la compatibilité + Check for Errors Vérifier les erreurs + Check Spelling as You Type Vérifier l’orthographe pendant la saisie + Check\nAccessibility Vérifier\nl’accessibilité + Citation Style Style de citation + Citations & Bibliography Citations et bibliographie + Clear Effacer + Clear All Effacer tout + Clear All Formatting Effacer toute la mise en forme + Clear Character Formatting Effacer la mise en forme des caractères + Clear Character Style Effacer le style de caractère + Clear Formatting Level Effacer le niveau de mise en forme + Clear Paragraph Formatting Effacer la mise en forme de paragraphe + Click a border between two cells to merge them. Esc stops. Cliquez sur une bordure entre deux cellules pour les fusionner. Appuyez sur Échap pour arrêter. + Clipboard Presse-papiers + Clipboard Pane Volet Presse-papiers + Clipboard Items Éléments du Presse-papiers + Paste Clipboard Item Coller l’élément du Presse-papiers + Paste All Coller tout + Delete Clipboard Item Supprimer l’élément du Presse-papiers + Click an item to paste it. Cliquez sur un élément pour le coller. + Nothing collected yet. Items you copy or cut appear here. Aucun élément collecté pour l’instant. Les éléments que vous copiez ou coupez apparaissent ici. + (picture or object) (image ou objet) + Close Fermer + Close Header and Footer Fermer l’en-tête et le pied de page + Collapse Selection Réduire la sélection + Color Couleur + Color: Couleur : + Colors Couleurs + Column Colonne + Column Break Saut de colonne + Columns Colonnes + Combine Combiner + Commands Commandes + Comment Commentaire + Comments Commentaires + Comments Pane Volet Commentaires + Community\nDiscord Communauté\nDiscord + Compact Compact + Compare Comparer + Compress Pictures Compresser les images + Compress punctuation at the start of a line Compresser la ponctuation en début de ligne + Continuous Continu + Convert Convertir + Convert Text to Table Convertir le texte en tableau + Convert Text to Table… Convertir le texte en tableau… + Convert to Text Convertir en texte + Copy Copier + Copy Formatting Copier la mise en forme + Corrections Corrections + Count words in text boxes and notes Compter les mots dans les zones de texte et les notes + Cover Page Page de garde + Create Créer + Create a Style Créer un style + Create an interactive outline of your document.\n\nIt's a great way to keep track of where you are or quickly move your content around.\n\nTo get started, go to the Home tab and apply Heading styles to the headings in your document. Créez un plan interactif de votre document.\n\nC’est un excellent moyen de savoir où vous en êtes ou de déplacer rapidement votre contenu.\n\nPour commencer, accédez à l’onglet Accueil et appliquez les styles Titre aux titres de votre document. + Create New Style Créer un nouveau style + Crop Rogner + Cross-reference Renvoi + Current Position Position actuelle + Current style: {style} Style actuel : {style} + Custom Margins… Marges personnalisées… + Custom Watermark Filigrane personnalisé + Custom Watermark… Filigrane personnalisé… + Customize Quick Access Toolbar Personnaliser la barre d’outils Accès rapide + Cut Couper + Dark Mode Mode sombre + Dashed Tirets + Data Données + Date & Time Date et heure + Decrease Font Size Réduire la taille de la police + Decrease Indent Diminuer le retrait + Default Par défaut + Define New Bullet Définir une nouvelle puce + Define New Number Format Définir un nouveau format de numérotation + Delete Supprimer + Delete Cells Supprimer les cellules + Delete Columns Supprimer les colonnes + Delete Comment Supprimer le commentaire + Delete Next Word Supprimer le mot suivant + Delete Previous Word Supprimer le mot précédent + Delete Rows Supprimer les lignes + Delete Style Supprimer le style + Delete Table Supprimer le tableau + Design Création + Drag a rectangle to draw a table, or a line across cells to split them. Esc stops. Faites glisser un rectangle pour dessiner un tableau, ou une ligne à travers les cellules pour les fractionner. Appuyez sur Échap pour arrêter. + Draw Table Dessiner un tableau + Edit Comment Modifier le commentaire + Left Margin Marge gauche + Indents and Spacing Retraits et espacement + Line breaking Coupure de lignes + More templates → Plus de modèles → + No templates match your search. Aucun modèle ne correspond à votre recherche. + Reopen Rouvrir + Right Margin Marge droite + Distribute letters Répartir les lettres + Distribute spacing Répartir l’espacement + Offset (pt): Décalage (pt) : + Phonetic Guide Guide phonétique + Remove Supprimer + Right (vertical) Droite (vertical) + Ruby text: Texte ruby : + Search for templates Rechercher des modèles + development build version de développement + Diagonal Diagonale + Diamond Losange + Dictate Dicter + Different First Page Première page différente + Different Odd & Even Pages Pages paires et impaires différentes + Direct formatting Mise en forme directe + Discord Discord + Discord community Communauté Discord + Display Affichage + Display for Review Affichage pour la révision + Distribute Columns Répartir les colonnes + Distribute Rows Répartir les lignes + Distributed Distribué + Do Not Show in TOC Ne pas afficher dans la table des matières + Document End Fin du document + Document Formatting Mise en forme du document + Document Property Propriété du document + Document Start Début du document + Document Text Texte du document + Document Title Titre du document + Documents you open will show up here. Les documents que vous ouvrez s’affichent ici. + Dot-dash Tiret-point + Dotted Pointillé + Double Double + Double Spacing Interligne double + Double Strikethrough Double barré + Double Underline Double soulignement + Down Vers le bas + Draft Brouillon + Draw Dessin + Drawing Tools Outils de dessin + Drawing\nCanvas Canevas\nde dessin + Drop Cap Lettrine + Drops all formatting and pastes plain text. Supprime toute la mise en forme et colle du texte brut. + Edit Footer Modifier le pied de page + Edit Header Modifier l’en-tête + Edit Recipient List Modifier la liste des destinataires + Edit\nRecipient List Modifier\nla liste des destinataires + Edited Modifié + Editing Modification + Editing header/footer Modification de l’en-tête/pied de page + Editing — edit the document directly Modification — modifier directement le document + Editor Éditeur + Effects Effets + Emboss Relief + Encrypt with Password Chiffrer avec un mot de passe + English (United States) Anglais (États-Unis) + Engrave Gravure + Enter page number: Entrez le numéro de page : + Envelopes Enveloppes + Equation Équation + Eraser Gomme + Even Page Page paire + Every command is available to scripts and AI agents: run `wordcraft-cli mcp` for an MCP server, or start the app with `--control ` for the JSON control channel. Chaque commande est disponible pour les scripts et les agents IA : exécutez `wordcraft-cli mcp` pour un serveur MCP, ou démarrez l’application avec `--control ` pour le canal de contrôle JSON. + Export Exporter + Export a copy to share (PDF, Word document) Exporter une copie à partager (PDF, document Word) + Export Page as PNG Exporter la page en PNG + Export PDF Exporter en PDF + Exported {path} {path} exporté + Extend Selection Étendre la sélection + Field Champ + File Fichier + Find Rechercher + Find and Replace Rechercher et remplacer + Find Next Suivant + Find Previous Précédent + Find Recipient Rechercher un destinataire + Find what: Rechercher : + Finish Terminer + Finish & Merge Terminer et fusionner + Finish &\nMerge Terminer et\nfusionner + First Column Première colonne + First commit Premier commit + First line: Première ligne : + Fixed Column Width Largeur de colonne fixe + Focus Focus + Font Police + Font Color Couleur de police + Font color: Couleur de police : + Font Dialog Boîte de dialogue Police + Font Size Taille de police + Font: Police : + Fonts Polices + Footer Pied de page + Footnote and Endnote Notes de bas de page et de fin + Footnotes Notes de bas de page + Format Format + Format Page Numbers Format numéros de page + Format Page Numbers… Format numéros de page… + Format Painter Reproduire la mise en forme + Formatted Text Texte mis en forme + Formatting at Selection Mise en forme de la sélection + Formula Formule + General Général + Go To Atteindre + Go to Atteindre + Go To (⌘⌥G) Atteindre (⌘⌥G) + Go To… Atteindre… + Grab bag Divers + Greeting Line Ligne de salutation + Greeting\nLine Ligne de\nsalutation + Gridlines Quadrillage + Group Grouper + Grow Font 1 Point Agrandir la police de 1 point + Hanging Indent Retrait suspendu + Header En-tête + Header & Footer En-tête et pied de page + Header Row Ligne d’en-tête + Header/Footer Position Position en-tête/pied de page + Heading 1 Titre 1 + Heading 2 Titre 2 + Heading 3 Titre 3 + Headings Titres + Heart Cœur + Help Aide + Hidden Masqué + Highlight Merge Fields Mettre en surbrillance les champs de fusion + Highlight\nMerge Fields Mettre en surbrillance\nles champs de fusion + Highlighter Surligneur + Home Accueil + Horizontal Horizontale + Horizontal Line Ligne horizontale + HTML Format Format HTML + Hyphenation Césure + Icons Icônes + Ignore All Ignorer tout + Illustrations Illustrations + Immersive Immersif + Immersive Reader Lecteur immersif + Immersive\nReader Lecteur\nimmersif + Increase Font Size Agrandir la police + Increase Indent Augmenter le retrait + Indent Retrait + Indentation Retrait + Indents Retraits + Index Index + Info Informations + Ink to\nMath Entrée manuscrite\nen équation + Ink to\nShape Entrée manuscrite\nen forme + Ink\nReplay Relecture\nmanuscrite + Insert Insertion + Insert Above Insérer au-dessus + Insert Below Insérer en dessous + Insert Caption Insérer une légende + Insert Citation Insérer une citation + Insert Endnote Insérer une note de fin + Insert Footnote Insérer une note de bas de page + Insert Hyperlink Insérer un lien hypertexte + Insert Index Insérer un index + Insert Left Insérer à gauche + Insert Merge Field Insérer un champ de fusion + Insert Merge\nField Insérer un champ\nde fusion + Insert Right Insérer à droite + Insert Shapes Insérer des formes + Insert Table Insérer un tableau + Insert Table of Authorities Insérer une table des autorités + Insert Table of Figures Insérer une table des illustrations + Insert Table… Insérer un tableau… + Insert\nAbove Insérer\nau-dessus + Insert\nCaption Insérer\nune légende + Insert\nCitation Insérer\nune citation + Insert\nFootnote Insérer une\nnote de bas de page + Inside Borders Bordures intérieures + Inspect Document Vérifier le document + Inspect Styles at Selection Inspecter les styles de la sélection + Interface language: Langue de l’interface : + Italic Italique + Join the ArtCraft community on Discord Rejoignez la communauté ArtCraft sur Discord + Join us on Discord: discord.gg/artcraft Rejoignez-nous sur Discord : discord.gg/artcraft + Justify Justifier + Keep Lines Together Lignes solidaires + Keep lines together Lignes solidaires + Keep Text Only Conserver le texte uniquement + Keep with Next Paragraphes solidaires + Keep with next Paragraphes solidaires + Keeps the fonts and formatting of the copied text. Conserve les polices et la mise en forme du texte copié. + Labels Étiquettes + Landscape Paysage + Language Langue + Lasso Lasso + Last Column Dernière colonne + Last commit Dernier commit + Layout Mise en page + Layout Summary Résumé de la mise en page + Left Gauche + Left Border Bordure gauche + Left: Gauche : + Letter Lettre + Line Ligne + Line and Page Breaks Enchaînements + Line and Paragraph Spacing Espacement des lignes et des paragraphes + Line Break Saut de ligne + Line delta Écart de lignes + Line End Fin de ligne + Line Numbers Numéros de ligne + Line Spacing Interligne + Line Spacing Options… Options d’interligne… + Line spacing: Interligne : + Line Start Début de ligne + Lines Lignes + Lines added Lignes ajoutées + Lines deleted Lignes supprimées + Link Lien + Link to Previous Identique au précédent + Links Liens + Location: {path} Emplacement : {path} + lowercase minuscules + Macros Macros + Mailings Publipostage + Manage Sources Gérer les sources + Many pages Nombreuses pages + Margins Marges + Mark Citation Marquer une citation + Mark Entry Marquer l’entrée + Mark\nCitation Marquer une\ncitation + Mark\nEntry Marquer\nl’entrée + Markdown (*.md) Markdown (*.md) + Match case Respecter la casse + Match Fields Faire correspondre les champs + Matrix Matrice + Merge Fusionner + Merge Cells Fusionner les cellules + Merge Formatting Fusionner la mise en forme + Merged PRs PR fusionnées + Mirrored Miroir + MIT OR Apache-2.0. Copyright (c) 2026 ArtCraft Team and the WordCraft contributors. MIT OR Apache-2.0. Copyright (c) 2026 ArtCraft Team et les contributeurs de WordCraft. + Moderate Modérées + Modify Style Modifier le style + Modify… Modifier… + Move or Resize Déplacer ou redimensionner + Multilevel List Liste à plusieurs niveaux + Multiple Pages Plusieurs pages + Name (A–Z) Nom (A–Z) + Name: Nom : + Narrow 0.5" all Étroites — 0,5" partout + Navigation Navigation + Navigation Pane Volet de navigation + New Nouveau + New Comment Nouveau commentaire + New from Template Nouveau à partir d’un modèle + New Paragraph Nouveau paragraphe + New Style… Nouveau style… + New Window Nouvelle fenêtre + New\nComment Nouveau\ncommentaire + New\nWindow Nouvelle\nfenêtre + Next Suivant + Next Change Modification suivante + Next Comment Commentaire suivant + Next Footnote Note de bas de page suivante + Next Page Page suivante + Next Record Enregistrement suivant + Next Section Section suivante + No Border Sans bordure + No Color Aucune couleur + No contributor data was built into this copy. Aucune donnée de contributeur n’a été intégrée à cette copie. + No Markup Aucune marque + No model credits were built into this copy. Aucune mention de modèles n’a été intégrée à cette copie. + No Paragraph Space Sans espacement entre les paragraphes + Nonbreaking Hyphen Tiret insécable + Nonbreaking Space Espace insécable + None Aucun + Normal 1" all Normales — 1" partout + Normal Style Style Normal + Not available right now Indisponible pour le moment + Not saved Non enregistré + Not saved yet Pas encore enregistré + Nudge Déplacer légèrement + Number of columns: Nombre de colonnes : + Number of rows: Nombre de lignes : + Numbering Numérotation + Object Objet + Odd Page Page impaire + Office 2003 Default Par défaut Office 2003 + OK OK + One Un + One Page Une page + Open Ouvrir + OpenDocument Text (*.odt) Texte OpenDocument (*.odt) + Optional Hyphen Tiret conditionnel + Copyright Sign Symbole de copyright + Ellipsis Points de suspension + Em Dash Tiret cadratin + Insert Date Field Insérer un champ de date + Insert Page Field Insérer un champ de numéro de page + Insert Time Field Insérer un champ d’heure + Registered Sign Signe de marque déposée + Reset Character Formatting Réinitialiser la mise en forme des caractères + Reset Paragraph Formatting Réinitialiser la mise en forme des paragraphes + Trademark Sign Signe de marque commerciale + Options Options + Orientation Orientation + Outline Plan + Outline Level Niveau de plan + Outside Borders Bordures extérieures + Oval Ovale + Page Page + Page Background Arrière-plan de page + Page Borders Bordures de page + Page Break Saut de page + Page Break Before Saut de page avant + Page break before Saut de page avant + Page Breaks Sauts de page + Page Color Couleur de page + Page Down Une page vers le bas + Page image (*.png) Image de page (*.png) + Page Movement Déplacement par page + Page Number Numéro de page + Page Setup Mise en page + Page Up Une page vers le haut + Page Width Largeur de page + Page width Largeur de page + Page X of Y Page X sur Y + Page {page} Page {page} + Page {page} of {pages} Page {page} sur {pages} + Page\nBorders Bordures\nde page + Page\nColor Couleur\nde page + Page\nNumber Numéro\nde page + Pages Pages + Paragraph Paragraphe + Paragraph Details Détails du paragraphe + Paragraph Down Un paragraphe vers le bas + Paragraph Settings Paramètres de paragraphe + Paragraph Spacing Espacement des paragraphes + Paragraph Up Un paragraphe vers le haut + Paragraphs Paragraphes + Paste Coller + Paste (⌘V) Coller (⌘V) + Paste as: Coller en tant que : + Paste Formatting Coller la mise en forme + Paste Special Collage spécial + Paste Special… Collage spécial… + Paste: Keep Text Only Collage : conserver le texte uniquement + Paste: Merge Formatting Collage : fusionner la mise en forme + PDF document (*.pdf) Document PDF (*.pdf) + Pen Stylo + Pencil Crayon + Picture Border Bordure de l’image + Picture Format Format de l’image + Picture Styles Styles d’image + Pictures Images + Plain text (*.txt) Texte brut (*.txt) + Portrait Portrait + Position Position + Preview Results Aperçu des résultats + Preview\nResults Aperçu des\nrésultats + Previous Précédent + Previous Change Modification précédente + Previous Comment Commentaire précédent + Previous Record Enregistrement précédent + Previous Section Section précédente + Print Imprimer + Print Layout Mode Page + Print\nLayout Mise\nen page + Proofing Vérification + Proofing Issues Problèmes de vérification + Properties Propriétés + Protect Protection + Protect Document Protéger le document + Quick Access Toolbar Barre d’outils Accès rapide + Quick Parts Briques de contenu + Quick Tables Tableaux rapides + Read Aloud Lire à voix haute + Read Mode Mode Lecture + Read\nAloud Lire\nà voix haute + Read\nMode Mode\nLecture + Reads the clipboard's rich text and keeps its formatting. Lit le texte enrichi du presse-papiers et conserve sa mise en forme. + Reads the clipboard's web content and keeps its formatting. Lit le contenu web du presse-papiers et conserve sa mise en forme. + Reading Highlight Surbrillance de lecture + Recent Récents + Record Macro Enregistrer une macro + Recover Unsaved Documents Récupérer les documents non enregistrés + Rectangle Rectangle + Redo Rétablir + Reduce Hanging Indent Réduire le retrait suspendu + References Références + Reject Refuser + Reject All Changes Refuser toutes les modifications + Reject Change Refuser la modification + Relaxed Détendu + Remove Background Supprimer l’arrière-plan + Remove Footer Supprimer le pied de page + Remove Header Supprimer l’en-tête + Remove Hyperlink Supprimer le lien hypertexte + Remove Space After Paragraph Supprimer l’espace après le paragraphe + Remove Table of Contents Supprimer la table des matières + Remove Watermark Supprimer le filigrane + Repeat Répéter + Repeat Header Rows Répéter les lignes d’en-tête + Replace Remplacer + Replace All Remplacer tout + Replace Document Text Remplacer le texte du document + Replace with: Remplacer par : + Replay Rejouer + Reply Répondre + Report Rapport + Research Recherche + Researcher Chercheur + Reset Picture Réinitialiser l’image + Reset to Normal Réinitialiser à la normale + Resolve Résoudre + Resolved Résolu + Restart at 1 Recommencer à 1 + Restart Each Page Recommencer à chaque page + Restart Each Section Recommencer à chaque section + Restrict Editing Restreindre la modification + Restrict\nEditing Restreindre\nla modification + Result Résultat + Results Résultats + Reverse the order Inverser l’ordre + Review Révision + Reviewing Révision + Reviewing Pane Volet Révision + Reviewing — edits become suggestions Révision — les modifications deviennent des suggestions + Rich Text Format (*.rtf) Format RTF (*.rtf) + Rich Text Format (RTF) Format RTF (Rich Text Format) + Right Droite + Right Border Bordure droite + Right-to-Left Text Direction Sens du texte de droite à gauche + Left-to-Right Text Direction Sens du texte de gauche à droite + Right: Droite : + Rotate Faire pivoter + Rounded Rectangle Rectangle arrondi + Rows & Columns Lignes et colonnes + Ruler Règle + Rules Règles + Résumé CV + Save Enregistrer + Save a copy in another format. Printing goes through a PDF you can print from any viewer. Enregistrez une copie dans un autre format. L’impression passe par un PDF que vous pouvez imprimer depuis n’importe quelle visionneuse. + Save As Enregistrer sous + Save as Template Enregistrer comme modèle + Saved Enregistré + Search Commands Rechercher des commandes + Search commands and help Rechercher des commandes et de l’aide + Search document Rechercher dans le document + Section Breaks Sauts de section + Section Properties Propriétés de la section + Sections Sections + Select Sélectionner + Select All Sélectionner tout + Select Cell Sélectionner la cellule + Select Line Sélectionner la ligne + Select Objects Sélectionner les objets + Select Paragraph Sélectionner le paragraphe + Select Range Sélectionner la plage + Select Recipients Sélectionner les destinataires + Select Row Sélectionner la ligne de tableau + Select Sentence Sélectionner la phrase + Select Table Sélectionner le tableau + Select Text Sélectionner le texte + Select Text with Similar Formatting Sélectionner le texte avec une mise en forme similaire + Select Word Sélectionner le mot + Select\nRecipients Sélectionner\nles destinataires + Selection Sélection + Selection Pane Volet Sélection + Send Backward Reculer d’un niveau + Sentence case. Comme une phrase. + Set as Default Définir par défaut + Set Caret Placer le point d’insertion + Set Character Formatting Définir la mise en forme des caractères + Set Numbering Value Définir la valeur de la numérotation + Set Paragraph Formatting Définir la mise en forme des paragraphes + Shading Trame de fond + Shadow Ombre + Shape Fill Remplissage de forme + Shape Format Format de la forme + Shape Outline Contour de forme + Shape Styles Styles de formes + Shapes Formes + Share Partager + Shift+Tab Shift+Tab + Show Afficher + Show all formatting marks Afficher toutes les marques de mise en forme + Show all revisions inline Afficher toutes les révisions dans le texte + Show Comments Afficher les commentaires + Show Markup Afficher les marques + Show Notes Afficher les notes + Show only comments and formatting in balloons Afficher uniquement les commentaires et la mise en forme dans les bulles + Show revisions in balloons Afficher les révisions dans les bulles + Show rulers Afficher les règles + Show the community button in the title bar Afficher le bouton Communauté dans la barre de titre + Show/Hide ¶ Afficher/Masquer ¶ + Show\nComments Afficher\nles commentaires + Shrink Font 1 Point Réduire la police d’1 point + Side to Side Côte à côte + Side\nto Side Côte\nà côte + Signature Line Ligne de signature + Single Simple + Single Spacing Interligne simple + Size Taille + Size (pt): Taille (pt) : + Size: Taille : + Small Caps Petites majuscules + Small caps Petites majuscules + SmartArt SmartArt + Sort Trier + Source code: github.com/storytold/wordcraft Code source : github.com/storytold/wordcraft + Space Espace + Space before/after: Espacement avant/après : + Spacing Espacement + Spacing (pt): Espacement (pt) : + Speech Parole + Spelling & Grammar Orthographe et grammaire + Spelling &\nGrammar Orthographe et\ngrammaire + Spelling Suggestions Suggestions orthographiques + Split Fractionner + Split Cells Fractionner les cellules + Split Table Fractionner le tableau + Spreadsheet Table Tableau de feuille de calcul + Standard Colors Couleurs standard + Star Étoile + Start at: Commencer à : + Start Mail Merge Démarrer la fusion et le publipostage + Start Mail\nMerge Démarrer la fusion et\nle publipostage + Statistics Statistiques + Status Bar Barre d’état + Strikethrough Barré + Studio cover Couverture du studio + Studio handbook (sample) Manuel du studio (exemple) + Style Style + Style based on: Style basé sur : + Style Inspector Inspecteur de styles + Style Set Jeu de styles + Style: {style} Style : {style} + Styles Styles + Styles Pane Volet Styles + Subscript Indice + Superscript Exposant + Switch Modes Changer de mode + Switch\nModes Changer\nde mode + Symbol Symbole + Symbols Symboles + Synonyms Synonymes + Tab Tabulation + Tab character Caractère de tabulation + Table Tableau + Table Column Width Largeur de colonne du tableau + Table Design Création de tableau + Table Layout Disposition du tableau + Table of Authorities Table des autorités + Table of Contents Table des matières + Table of\nContents Table des\nmatières + Table Properties Propriétés du tableau + Table Row Height Hauteur de ligne du tableau + Table Style Options Options de style de tableau + Table Styles Styles de tableau + Tables Tableaux + Tabs Tabulations + Tabular List Liste tabulaire + Text Texte + Text Box Zone de texte + Text Direction Sens du texte + Text Effects Effets de texte + Text Effects and Typography Effets de texte et typographie + Text from File Texte à partir d’un fichier + Text Highlight Color Couleur de surbrillance du texte + Text indent at: Retrait du texte : + Text to display: Texte à afficher : + Text Wrapping Habillage du texte + Text: Texte : + Text\nBox Zone de\ntexte + Text\nDirection Sens du\ntexte + The clipboard is empty. Le Presse-papiers est vide. + The new style takes the formatting of the current paragraph. Le nouveau style reprend la mise en forme du paragraphe actuel. + Theme Colors Couleurs du thème + Theme Fonts Polices du thème + Theme List Liste des thèmes + Themes Thèmes + Thesaurus Thésaurus + Thick Épaisse + Three Trois + Tight Rapproché + Top Border Bordure haute + Top Margin Marge supérieure + Top of Page Haut de page + Top: Haut : + Total Row Ligne de totaux + Track Changes Suivi des modifications + Track Changes Options Options de suivi des modifications + Track Changes: On Suivi des modifications : activé + Track formatting Suivre la mise en forme + Tracking Suivi + Translate Traduire + Transparency Transparence + Triangle Triangle + Two Deux + Type a command, e.g. "insert table" Tapez une commande, par exemple « insérer un tableau » + Type Text Saisir du texte + Underline Souligné + Underline Words Only Souligner uniquement les mots + Undo Annuler + Undo {action} Annuler {action} + Ungroup Dissocier + Unformatted Text Texte non mis en forme + Up Vers le haut + Update Field Mettre à jour le champ + Update Index Mettre à jour l’index + Update Style to Match Selection Mettre à jour le style pour qu’il corresponde à la sélection + Update Table Mettre à jour la table + Update Table of Figures Mettre à jour la table des illustrations + Update to Match Mettre à jour pour correspondre + Update to Match Selection Mettre à jour en fonction de la sélection + UPPERCASE MAJUSCULES + User Name Nom d’utilisateur + User name: Nom d’utilisateur : + Version History Historique des versions + Version {version} ({build}) Version {version} ({build}) + Vertical Vertical + Vertical Alignment Alignement vertical + View Affichage + View Gridlines Afficher les quadrillages + View State État de l’affichage + Views Affichages + Voice Voix + Watermark Filigrane + Wave Vague + Web Layout Mode Web + Web page (*.html) Page Web (*.html) + Web\nLayout Mode\nWeb + Whole page Page entière + Whole words Mots entiers + Wide Large + Widow/Orphan Control Contrôle des veuves et orphelines + Widow/Orphan control Contrôle des veuves et orphelines + Window Fenêtre + Word Count Nombre de mots + Word document (*.docx) Document Word (*.docx) + Word Left Mot vers la gauche + Word Right Mot vers la droite + WordArt WordArt + WordCraft WordCraft + Words Mots + Words only Mots uniquement + Wrap Text Habillage du texte + Wrap\nText Habillage\ndu texte + Write & Insert Fields Écriture et insertion de champs + Write a reply Écrire une réponse + Zoom Zoom + Zoom In Zoom avant + Zoom Out Zoom arrière + {group} settings Paramètres de {group} + {key}+Click to follow link {key}+clic pour suivre le lien + Browse… Parcourir… + {words} words {words} mots + {selected} of {words} words {selected} mots sur {words} + Apply Styles Appliquer les styles + Dark page (white text on black) Page sombre (texte blanc sur noir) + Show documents with their colours inverted, like View › Switch Modes. Saving, printing and PDFs are unchanged. Affiche les documents avec les couleurs inversées, comme dans Affichage › Changer de mode. L’enregistrement, l’impression et les PDF restent inchangés. + Only web (http, https) and email (mailto) links can be followed Seuls les liens Web (http, https) et les liens de messagerie (mailto) peuvent être suivis + Scroll ribbon left Faire défiler le ruban vers la gauche + Scroll ribbon right Faire défiler le ruban vers la droite + Character Border Bordure de caractère + Direction: Sens : + Right-to-left De droite à gauche + Left-to-right De gauche à droite + Zotero Zotero + Citations Citations + Document Document + Add/Edit\nCitation Ajouter/Modifier\nune citation + Add\nNote Ajouter\nune note + Add/Edit\nBibliography Ajouter/Modifier\nune bibliographie + Refresh Actualiser + Document\nPreferences Préférences\ndu document + Unlink\nCitations Dissocier\nles citations + Waiting for Zotero… En attente de Zotero… + Zotero: done Zotero : terminé + Zotero: cancelled Zotero : annulé + Yes Oui + No Non + Move Past Citation Passer la citation + Move Past\nCitation Passer\nla citation + Next Sentence Phrase suivante + Previous Sentence Phrase précédente + Next sentence Phrase suivante + Previous sentence Phrase précédente + Play/Pause Lecture/Pause + Read Aloud Status État de la lecture à voix haute + Reading Speed Vitesse de lecture + Skip Citations and Bibliography Ignorer les citations et la bibliographie + Skip citations & bibliography Ignorer les citations et la bibliographie + Stop Reading Arrêter la lecture + Don't read Zotero, Mendeley or EndNote citations and bibliographies Ne pas lire les citations et les bibliographies Zotero, Mendeley ou EndNote + Play Lecture + Pause Pause + Stop Arrêter + Sentence Phrase + Paused En pause + Finished Terminé + Stopped Arrêté + Speed Vitesse + Normal speed Vitesse normale + AutoSave documents you have saved in WordCraft Enregistrement automatique des documents que vous avez enregistrés dans WordCraft + AutoSave failed: {error}. Save the document to turn AutoSave back on. Échec de l’enregistrement automatique : {error}. Enregistrez le document pour réactiver l’enregistrement automatique. + Couldn't download {name}: {error} Impossible de télécharger {name} : {error} + Do you want to save changes to {name}? Voulez-vous enregistrer les modifications apportées à {name} ? + Don't Save Ne pas enregistrer + That format doesn't keep everything, so the document is still open. Save it as a Word document (.docx) to go on. Ce format ne conserve pas tout, le document reste donc ouvert. Enregistrez-le en tant que document Word (.docx) pour continuer. + Your changes will be lost if you don't save them. Vos modifications seront perdues si vous ne les enregistrez pas. + Change Structure Modifier la structure + Change to Display Passer en mode hors texte + Change to Inline Passer en mode en ligne + Conversions Conversions + Delete Back in Equation Supprimer en arrière dans l’équation + Delete in Equation Supprimer dans l’équation + Edit Equation Modifier l’équation + Enter in Equation Enter dans l’équation + Equation Gallery Galerie d’équations + Equation Info Informations sur l’équation + Equation Number Numéro d’équation + Input Format Format d’entrée + Insert Structure Insérer une structure + Insert Symbol Insérer un symbole + Justification Justification + Leave Equation Quitter l’équation + Move in Equation Déplacement dans l’équation + Normal Text Texte normal + Set Equation Définir l’équation + Structure Actions Actions de structure + Structures Structures + Tools Outils + Type in Equation Saisie dans l’équation + Inline En ligne + Number Numéro + Close Equation Fermer l’équation + Insert New Equation Insérer une nouvelle équation + Built-In Intégrées + Professional Professionnel + Linear Linéaire + Fraction Fraction + Script Script + Radical Radical + Integral Intégrale + Large\nOperator Grand\nopérateur + Bracket Crochets + Function Fonction + Accent Accent + Limit and\nLog Limite et\nlog + Operator Opérateur + Equation Options Options d’équation + All symbol sets Tous les jeux de symboles + Send the document straight to the system print dialog, or save a copy in another format below. Envoyez le document directement à la boîte de dialogue d’impression du système, ou enregistrez une copie dans un autre format ci-dessous. + Or save a copy in another format: Ou enregistrez une copie dans un autre format : + Opening print dialog… Ouverture de la boîte de dialogue d’impression… + Print failed: {error} Échec de l’impression : {error} + Couldn't open {path}: {error} Impossible d’ouvrir {path} : {error} + Column Selection Sélection de colonne + New Table Style Nouveau style de tableau + Modify Table Style Modifier le style de tableau + New Table Style… Nouveau style de tableau… + Modify Table Style… Modifier le style de tableau… + Apply formatting to: Appliquer la mise en forme à : + Whole Table Tableau entier + Fill color: Couleur de remplissage : + {count} items highlighted {count} éléments en surbrillance + {n} pt {n} pt + Not {name} Sans {name} + Level {n} Niveau {n} + Body Text Corps de texte + {n} lines {n} lignes + At least {n} Au moins {n} + Exactly {n} Exactement {n} + Centered Centré + Character spacing Espacement des caractères + Don't add space between paragraphs of the same style Ne pas ajouter d’espace entre les paragraphes de même style + Don't hyphenate Ne pas couper les mots + Double strikethrough Double barré + Drop cap Lettrine + First line Première ligne + Font color Couleur de police + Highlight Surlignage + Justified Justifié + Left indent Retrait gauche + Line spacing Interligne + Outline level Niveau de plan + Raised/lowered Élevé/abaissé + Right indent Retrait droit + Scale Échelle + Space after Espace après + Space before Espace avant + Suppress line numbers Ne pas afficher les numéros de ligne + Underline color Couleur de soulignement + Letters Lettres + E-mail Messages Messages électroniques + Directory Répertoire + Normal Word Document Document Word normal + If…Then…Else… Si…Alors…Sinon… + If…Then…Else Si…Alors…Sinon + Merge Record # N° d’enregistrement de fusion + Skip Record If… Ignorer l’enregistrement si… + Skip Record If Ignorer l’enregistrement si + Equals: Égal à : + Then insert: Alors insérer : + Otherwise insert: Sinon insérer : + Courtesy Title Civilité + First Name Prénom + Last Name Nom + Company Société + Address Adresse + City Ville + State État + Postal Code Code postal + Country Pays + (not matched) (aucune correspondance) + Leave a recipient out of the merge when a field has this value. Exclure un destinataire de la fusion lorsqu’un champ a cette valeur. + Insert one text or another, depending on a field's value. Insérer un texte ou l’autre selon la valeur d’un champ. + Select recipients first to match their fields. Sélectionnez d’abord les destinataires pour faire correspondre leurs champs. + The recipient-list field that fills each part of an address block and greeting line. Le champ de la liste des destinataires qui remplit chaque partie d’un bloc d’adresse et d’une ligne de salutation. + No errors found: every merge field is in the recipient list. Aucune erreur détectée : chaque champ de fusion se trouve dans la liste des destinataires. + These merge fields aren't in the recipient list: Ces champs de fusion ne figurent pas dans la liste des destinataires : + Add at least one field. Ajoutez au moins un champ. + Add Field Ajouter un champ + Every field needs a name. Chaque champ doit avoir un nom. + Field name Nom de champ + Field names must be different. Les noms de champs doivent être différents. + Fields: Champs : + Field: Champ : + Find: Rechercher : + New Entry Nouvelle entrée + Recipient List Liste des destinataires + Recipients: {count} Destinataires : {count} + Remove field Supprimer le champ + Remove recipient Supprimer le destinataire + Select recipients first to choose from their fields. Sélectionnez d’abord les destinataires pour choisir parmi leurs champs. + Type a New List… Entrer une nouvelle liste… + Type at least one recipient. Saisissez au moins un destinataire. + Type the recipients, or load them from a file. Saisissez les destinataires ou chargez-les à partir d’un fichier. + Use an Existing List… Utiliser une liste existante… + Choose the sheet that holds the recipients. Choisissez la feuille contenant les destinataires. + First row of data contains column headers La première ligne de données contient les en-têtes de colonnes + Interface theme: Thème de l’interface : + Interface\nTheme Thème de\nl’interface + Interface Theme Thème de l’interface + Light Clair + Dark Sombre + Use system setting Utiliser le paramètre système + A file dialog is already open. Une boîte de dialogue de fichier est déjà ouverte. + Height: Hauteur : + Width: Largeur : + Row Ligne + Cell Cellule + Preferred width: Largeur préférée : + Alignment: Alignement : + Indent from left: Retrait à gauche : + Specify height: Spécifier la hauteur : + Exactly Exactement + At least Au moins + Allow row to break across pages Autoriser le fractionnement des lignes sur plusieurs pages + Repeat as header row on each page Répéter en tant que ligne d’en-tête sur chaque page + Vertical alignment: Alignement vertical : + Top Haut + Bottom Bas + Alt text Texte de remplacement + Alt: Alt : + W: L : + H: H : + Reset Réinitialiser + Reset Crop Réinitialiser le rognage + Insert a new equation (Alt+=) Insérer une nouvelle équation (Alt+=) + Leave the equation (Esc) Quitter l’équation (Esc) + Preview Aperçu + getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft + Draw Ink Dessiner à l’encre + Erase Ink Effacer l’encre + Hide Ink Masquer l’encre + Hide\nInk Masquer\nl’encre + Pens Stylos + Thickness Épaisseur + (All) (Tous) + (none) (aucun) + (normal text) (texte normal) + 1/4 Em Space Espace quart de cadratin + A mail merge field Un champ de fusion + A numbered sequence (figures, tables…) Une séquence numérotée (figures, tableaux…) + A table of contents Une table des matières + Categories: Catégories : + Character Caractère + Character code: Code de caractère : + Col #: Colonne : + Copyright Copyright + Date and Time Date et heure + Date formats: Formats de date : + Description: Description : + Document Information Informations sur le document + Double Closing Quote Guillemet double fermant + Double Opening Quote Guillemet double ouvrant + En Dash Tiret demi-cadratin + Em Space Espace cadratin + En Space Espace demi-cadratin + Equal column width Colonnes de largeur égale + Field Codes Codes de champ + Field code: Code de champ : + Field codes: Codes de champ : + Field name: Nom de champ : + Field names: Noms de champs : + Field properties Propriétés du champ + Field… Champ… + Format: Format : + Hide Codes Masquer les codes + Index and Tables Index et tables + Line between Ligne entre les colonnes + Links and References Liens et références + Mail Merge Publipostage + More Columns… Autres colonnes… + More Symbols… Autres symboles… + No-Width Non Break Césure insécable sans chasse + No-Width Optional Break Césure facultative sans chasse + Paragraph Mark Marque de paragraphe + Pick a field from the list Choisissez un champ dans la liste + Preserve formatting during updates Conserver la mise en forme lors des mises à jour + Presets Préréglages + Recently used symbols: Symboles récemment utilisés : + Registered Marque déposée + Section Mark Marque de section + Sequence name: Nom de la séquence : + Shortcut key: Touche de raccourci : + Single Closing Quote Guillemet simple fermant + Single Opening Quote Guillemet simple ouvrant + Spacing: Espacement : + Special Characters Caractères spéciaux + Subset: Sous-ensemble : + The time right now L’heure actuelle + When this document was first created Quand ce document a été créé pour la première fois + When this document was most recently printed Quand ce document a été imprimé pour la dernière fois + When this document was most recently saved Quand ce document a été enregistré pour la dernière fois + The document has no bookmarks yet. Le document ne contient pas encore de signets. + Who the document properties name as author L’auteur désigné dans les propriétés du document + Name of the file this document is saved as Nom du fichier sous lequel ce document est enregistré + Title from the document properties Titre indiqué dans les propriétés du document + How many pages the whole document has Nombre de pages du document entier + How many pages this section has Nombre de pages de cette section + Number of the page the field sits on Numéro de la page où se trouve le champ + Number of the section the field sits in Numéro de la section où se trouve le champ + How many words the document holds Nombre de mots du document + Page on which a bookmarked passage falls Page où se trouve le passage marqué d’un signet + Copy of the text a bookmark marks Copie du texte marqué par un signet + This field has no options. Ce champ n’a pas d’options. + This font has no characters to show. Cette police ne contient aucun caractère à afficher. + This point forward À partir de ce point + The date it is today La date d’aujourd’hui + Trademark Marque + Type the field's name and its switches, for example PAGE \\* roman. Saisissez le nom du champ et ses commutateurs, par exemple PAGE \\* roman. + Width and spacing Largeur et espacement + from Unicode (hex) depuis Unicode (hex) + Shape Effects Effets de forme + Glow Lueur + Soft Edges Bords adoucis + No Shadow Sans ombre + No Glow Sans lueur + No Soft Edges Sans bords adoucis + Glow Colors Couleurs de lueur + Weight Épaisseur + Shadow, glow and soft edges Ombre, lueur et bords adoucis + Offset: Bottom Right Décalage : en bas à droite + Offset: Bottom Décalage : en bas + Offset: Bottom Left Décalage : en bas à gauche + Offset: Right Décalage : à droite + Offset: Center Décalage : au centre + Offset: Left Décalage : à gauche + Offset: Top Right Décalage : en haut à droite + Offset: Top Décalage : en haut + Offset: Top Left Décalage : en haut à gauche + Manage Styles Gérer les styles + Show or Hide Style Afficher ou masquer le style + Manage Styles… Gérer les styles… + Sort order: Ordre de tri : + As Recommended Selon les recommandations + Alphabetical Alphabétique + Font: {font} Police : {font} + {size} pt {size} pt + Color: {color} Couleur : {color} + Space before: {pt} pt Espace avant : {pt} pt + Space after: {pt} pt Espace après : {pt} pt + Based on: {style} Basé sur : {style} + Paragraph style Style de paragraphe + Character style Style de caractère + Linked style (paragraph and character) Style lié (paragraphe et caractère) + Table style Style de tableau + Built-in style Style intégré + Show in the Styles gallery Afficher dans la galerie de styles + Hide from style lists Masquer dans les listes de styles + Built-in styles can't be deleted. Les styles intégrés ne peuvent pas être supprimés. + Delete Table Style Supprimer le style de tableau + Password Mot de passe + Password: Mot de passe : + Confirm password: Confirmer le mot de passe : + Encrypt with Password… Chiffrer avec un mot de passe… + Change Password… Modifier le mot de passe… + Remove Password Supprimer le mot de passe + A password is required to open this document. Un mot de passe est requis pour ouvrir ce document. + Anyone can open this document. Encrypt it with a password to keep it private. N’importe qui peut ouvrir ce document. Chiffrez-le avec un mot de passe pour le garder confidentiel. + Anyone who opens the document will need this password. Quiconque ouvre le document devra saisir ce mot de passe. + {name} is protected with a password. {name} est protégé par un mot de passe. + That password isn't right. Check it (passwords are case-sensitive) and try again. Ce mot de passe est incorrect. Vérifiez-le (les mots de passe respectent la casse) et réessayez. + The document will be saved with a password. Save it to protect it. Le document sera enregistré avec un mot de passe. Enregistrez-le pour le protéger. + The password is removed. Save the document to keep the change. Le mot de passe est supprimé. Enregistrez le document pour conserver cette modification. + The passwords don't match. Les mots de passe ne correspondent pas. + Keep the password somewhere safe: without it nobody, WordCraft included, can open the document. Leave both boxes empty to remove the password. Conservez le mot de passe en lieu sûr : sans lui, personne, WordCraft inclus, ne peut ouvrir le document. Laissez les deux zones vides pour supprimer le mot de passe. + Align Top Left Aligner en haut à gauche + Align Top Center Aligner en haut au centre + Align Top Right Aligner en haut à droite + Align Center Left Aligner au centre à gauche + Align Center Aligner au centre + Align Center Right Aligner au centre à droite + Align Bottom Left Aligner en bas à gauche + Align Bottom Center Aligner en bas au centre + Align Bottom Right Aligner en bas à droite + {contributors} contributors · {commits} commits {contributors} contributeurs · {commits} commits + {cols}×{rows} Table Tableau {cols}×{rows} + AaBbYyZz AaBbYyZz + pt pt + Document1 Document1 + Username Nom d’utilisateur + Display name Nom d’affichage + Real name Nom réel + Name Nom + PRs PR + Commits Commits + First Premier + Last Dernier + Model Modèle + Version Version + % of all commits % de tous les commits + Lines +/− Lignes +/− + Craft Artisanat + Studio Studio + Atelier Atelier + Darkroom Chambre noire + Gallery Galerie + Sketchbook Carnet de croquis + Change Picture… Modifier l’image… + Font… Police… + Paragraph… Paragraphe… + Link… Lien… + Size and Crop… Taille et rognage… + Insert Columns to the Left Insérer des colonnes à gauche + Insert Columns to the Right Insérer des colonnes à droite + Insert Rows Above Insérer des lignes au-dessus + Insert Rows Below Insérer des lignes en dessous + Mon lun. + Tue mar. + Wed mer. + Sum Somme + North Nord + South Sud + West Ouest + Total Total + Draw\nTable Dessiner\nun tableau + Rotation Rotation + Rotation: Rotation : + Rotate Right 90° Faire pivoter à droite de 90° + Rotate Left 90° Faire pivoter à gauche de 90° + Flip Vertical Retourner verticalement + Flip Horizontal Retourner horizontalement + Move Paragraph Up Déplacer le paragraphe vers le haut + Move Paragraph Down Déplacer le paragraphe vers le bas + Promote Élever d’un niveau + Demote Abaisser le niveau + Go Back Revenir en arrière + Toggle Unicode Character Basculer le caractère Unicode + Toggle Field Codes Basculer les codes de champ + Edit Field Code Modifier le code de champ + Unlink Fields Dissocier les champs + Lock Fields Verrouiller les champs + Unlock Fields Déverrouiller les champs + Next Field Champ suivant + Previous Field Champ précédent + Selected Fields Champs sélectionnés + Edit Field… Modifier le champ… + Formatted Mis en forme + Interface size: Taille de l’interface : + Makes the ribbon, menus and dialogs larger or smaller, on top of your system's display scaling. Document zoom is separate. Agrandit ou réduit le ruban, les menus et les boîtes de dialogue en plus de la mise à l’échelle d’affichage de votre système. Le zoom du document est distinct. + 1. Formatting restrictions 1. Restrictions de mise en forme + 2. Editing restrictions 2. Restrictions de modification + 3. Start enforcement 3. Démarrer la protection + << Less << Moins + Another file Autre fichier + Apply as you type Appliquer pendant la frappe + AutoCorrect Correction automatique + AutoFormat As You Type Mise en forme automatique pendant la frappe + Automatic bulleted lists Listes à puces automatiques + Automatic numbered lists Listes numérotées automatiques + Border lines Lignes de bordure + Capitalize first letter of sentences Majuscule en début de phrase + Capitalize first letter of table cells Majuscule en début de cellule de tableau + Capitalize names of days Majuscule aux noms de jours + Case changes Modifications de casse + Character level Niveau du caractère + Checked styles are allowed: Les styles cochés sont autorisés : + Combine Documents Combiner les documents + Compare Documents Comparer les documents + Compared: {changes} changes Comparaison : {changes} modifications + Comparing with another file needs the desktop app. La comparaison avec un autre fichier nécessite l’application de bureau. + Comparison settings Options de comparaison + Don't capitalize after: Ne pas mettre de majuscule après : + Editing in this document is restricted. La modification de ce document est restreinte. + Every change is recorded as a tracked change. Chaque modification est enregistrée comme modification suivie. + Everyone Tout le monde + Exceptions (optional) Exceptions (facultatives) + Exceptions… Exceptions… + Fields Champs + Filling in forms Remplissage de formulaires + Find Next Editable Region Rechercher la zone modifiable suivante + Footnotes and endnotes Notes de bas de page et notes de fin + Formatting, case changes, white space and tables are compared; the other settings are kept for later. La mise en forme, les modifications de casse, les espaces et les tableaux sont comparés ; les autres paramètres sont conservés pour une utilisation ultérieure. + Fractions (1/2) as fraction characters (½) Fractions (1/2) en caractères de fraction (½) + Headers and footers En-têtes et pieds de page + Hyphens (--) as dashes (—) Traits d’union (--) en tirets (—) + In equations, typing a name after a backslash replaces it with its symbol. Dans les équations, un nom saisi après une barre oblique inverse est remplacé par son symbole. + Internet addresses as links Adresses Internet en liens + Label changes with: Étiqueter les modifications avec : + Limit formatting to a selection of styles Limiter la mise en forme à une sélection de styles + Math AutoCorrect Correction automatique mathématique + More >> Plus >> + Moves Déplacements + New document Nouveau document + No changes (read only) Aucune modification (lecture seule) + Only allow this kind of editing: Autoriser uniquement ce type de modification : + Only comments can be added, except in regions marked editable. Seuls les commentaires peuvent être ajoutés, à l’exception des zones marquées comme modifiables. + Only form fields can be filled in. Seuls les champs de formulaire peuvent être remplis. + Only the allowed styles can be applied. Seuls les styles autorisés peuvent être appliqués. + Ordinals (1st) as superscript Nombres ordinaux (1er) en exposant + Original document Document d’origine + This password type isn't supported. Ce type de mot de passe n’est pas pris en charge. + Replace as you type Remplacer pendant la frappe + Replace text as you type Remplacer le texte pendant la frappe + Replace: Remplacer : + Revised document Document révisé + Select text, then tick who can still edit it. Sélectionnez le texte, puis cochez qui peut encore le modifier. + Settings… Options… + Show changes at: Afficher les modifications au niveau : + Show changes in: Afficher les modifications dans : + Smart quotes instead of straight quotes Guillemets courbes au lieu de guillemets droits + Start Enforcing Protection Démarrer la protection + Stop Protection Arrêter la protection + Text boxes Zones de texte + The document is read only, except for regions marked editable. Le document est en lecture seule, à l’exception des zones marquées comme modifiables. + The password is optional; without it anyone can stop the protection. Le mot de passe est facultatif ; sans lui, n’importe qui peut arrêter la protection. + This document Ce document + Tracked changes Modifications suivies + Type the password to stop the protection. Tapez le mot de passe pour arrêter la protection. + White space Espaces + With: Avec : + Word level Niveau du mot + In Line with Text Dans le texte + Square Carré + Through Au travers + Top and Bottom Haut et bas + Behind Text Derrière le texte + In Front of Text Devant le texte + Wrap Text Sides Côtés de l’habillage + Both Sides Des deux côtés + Left Only À gauche uniquement + Right Only À droite uniquement + Largest Only Le plus grand côté uniquement + Customize Keyboard Personnaliser le clavier + Choose a command Choisir une commande + Choose a shortcut Choisir un raccourci + All Commands Toutes les commandes + Commands: Commandes : + Keys for this command: Touches pour cette commande : + New shortcut: Nouveau raccourci : + Now used by {command} Actuellement utilisé par {command} + Not used by any command N’est utilisé par aucune commande + Remove every custom shortcut and restore the built-in keys? Supprimer tous les raccourcis personnalisés et rétablir les touches d’origine ? + Assign Attribuer + Reset All… Tout réinitialiser… + Press a key combination Appuyez sur une combinaison de touches + Customize Personnaliser + Keyboard shortcuts: Raccourcis clavier : + Customize… Personnaliser… + Customize Ribbon Personnaliser le ruban + Add to Quick Access Toolbar Ajouter à la barre d’outils Accès rapide + Remove from Quick Access Toolbar Supprimer de la barre d’outils Accès rapide + Customize the Ribbon… Personnaliser le ruban… + Customize Quick Access Toolbar… Personnaliser la barre d’outils Accès rapide… + More Commands… Plus de commandes… + Ribbon Ruban + (Custom) (Personnalisé) + Remove every custom tab and group and show all tabs again? Supprimer tous les onglets et groupes personnalisés et réafficher tous les onglets ? + Put the default commands back on the Quick Access Toolbar? Rétablir les commandes par défaut sur la barre d’outils Accès rapide ? + Reset… Réinitialiser… + Add >> Ajouter >> + << Remove << Supprimer + Pick a custom group (New Group makes one) Choisir un groupe personnalisé (« Nouveau groupe » en crée un) + Ribbon tabs Onglets du ruban + New Tab Nouvel onglet + New Group Nouveau groupe + Rename… Renommer… + Ribbon and Quick Access Toolbar: Ruban et barre d’outils Accès rapide : + Accessibility Pane Volet Accessibilité + Alt Text Pane Volet Texte de remplacement + Alt\nText Texte\nde remplacement + View Alt Text… Afficher le texte de remplacement… + Mark as decorative Marquer comme décoratif + Title: Titre : + Errors ({n}) Erreurs ({n}) + Warnings ({n}) Avertissements ({n}) + Tips ({n}) Conseils ({n}) + No accessibility issues found. Aucun problème d’accessibilité détecté. + Describe what this object shows, for people who can't see it. Décrivez ce que montre cet objet, pour les personnes qui ne peuvent pas le voir. + Decorative objects only add visual interest: screen readers skip them. Les objets décoratifs n’ont qu’un rôle visuel : les lecteurs d’écran les ignorent. + Describe what this table shows, for people who can't see it. Décrivez ce que montre ce tableau, pour les personnes qui ne peuvent pas le voir. + Select a picture, shape, chart or table to describe it. Sélectionnez une image, une forme, un graphique ou un tableau pour le décrire. + Document Grid Grille du document + No grid Sans grille + Lines only Lignes uniquement + Lines and characters Lignes et caractères + Text snaps to characters Le texte s’aligne sur les caractères + Characters per line: Caractères par ligne : + Lines per page: Lignes par page : + Moved from Déplacé depuis + Moved to Déplacé vers + Developer Développeur + Controls Contrôles + Rich Text Content Control Contrôle de contenu Texte enrichi + Plain Text Content Control Contrôle de contenu Texte brut + Picture Content Control Contrôle de contenu Image + Building Block Gallery Content Control Contrôle de contenu Galerie de blocs de construction + Check Box Content Control Contrôle de contenu Case à cocher + Combo Box Content Control Contrôle de contenu Zone de liste déroulante + Drop-Down List Content Control Contrôle de contenu Liste déroulante + Date Picker Content Control Contrôle de contenu Sélecteur de date + Repeating Section Content Control Contrôle de contenu Section répétable + Design Mode Mode Création + Content Control at Selection Contrôle de contenu dans la sélection + Toggle Check Box Basculer la case à cocher + Choose List Item Choisir un élément de liste + Set Date Définir la date + Remove Content Control Supprimer le contrôle de contenu + Content Control Properties Propriétés du contrôle de contenu + Title Titre + Tag Balise + Placeholder text Texte de l’espace réservé + Can't be deleted Suppression impossible + Contents can't be edited Contenu non modifiable + Remove the control once edited Supprimer le contrôle une fois le contenu modifié + Allow line breaks Autoriser les sauts de ligne + Date format Format de date + Checked symbol Symbole de l’état coché + Unchecked symbol Symbole de l’état décoché + List entries Entrées de liste + Display text Texte affiché + Value Valeur + Today Aujourd’hui + Put the caret in a content control first. Placez d’abord le curseur dans un contrôle de contenu. + Right-to-Left Table Tableau de droite à gauche + Right-to-Left Section Section de droite à gauche + Table direction: Direction du tableau : + Section direction: Direction de la section : + Drawing Canvas Zone de dessin + New Drawing Canvas Nouvelle zone de dessin + Fit Ajuster + Expand Étendre + Scale Drawing Mettre le dessin à l’échelle + Canvas Member Élément de la zone de dessin + Arrows Flèches + Communication Communication + Office Bureau + People Personnes + Nature Nature + Weather Météo + Technology Technologie + Transport Transports + Icon Color Couleur de l’icône + Search icons Rechercher des icônes + No icons match your search. Aucune icône ne correspond à votre recherche. + Recolor a one-color picture, such as an icon Recolorier une image monochrome, par exemple une icône + Enclose Characters Encadrer les caractères + Shrink text Réduire le texte + Enlarge symbol Agrandir le symbole + Enclosure Encadrement + Circle Cercle + Templates Modèles + Templates and Add-ins Modèles et compléments + Attach Template Attacher un modèle + Detach Template Détacher le modèle + Automatically Update Document Styles Mettre à jour automatiquement les styles du document + Update Styles from Template Mettre à jour les styles depuis le modèle + Organizer Organiseur + Copy Styles Copier les styles + Rename Style Renommer le style + Change Chart Type Modifier le type de graphique + Chart Design Création de graphique + Type Type + Edit Data Modifier les données + Chart Title Titre du graphique + Chart Layouts Dispositions de graphique + Add Chart Element Ajouter un élément de graphique + Legend Légende + Data Labels Étiquettes de données + Above Chart Au-dessus du graphique + Insert Chart Insérer un graphique + Clustered Column Colonnes groupées + Stacked Column Colonnes empilées + Clustered Bar Barres groupées + Stacked Bar Barres empilées + Area Aires + Pie Secteurs + Doughnut Anneau + Scatter Nuage de points + “{text}” ({row}, {series}) isn't a number. « {text} » ({row}, {series}) n’est pas un nombre. + Category {n} Catégorie {n} + Series {n} Série {n} + Type the categories down the side and a column of values per series. Saisissez les catégories sur le côté et une colonne de valeurs pour chaque série. + Categories Catégories + Series name Nom de la série + Remove series Supprimer la série + Remove row Supprimer la ligne + Add Row Ajouter une ligne + Add Series Ajouter une série + Edit\nData Modifier\nles données + Change\nChart Type Modifier\nle type de graphique + Align Text Aligner le texte + Create Link Créer un lien + Break Link Rompre le lien + Rotate all text 90° Faire pivoter tout le texte de 90° + Rotate all text 270° Faire pivoter tout le texte de 270° + Stacked Empilé + Middle Au centre + Click the empty text box the text should continue in (Esc cancels) Cliquez sur la zone de texte vide dans laquelle le texte doit se poursuivre (Échap pour annuler) + Not linked: click a text box Pas de liaison : cliquez sur une zone de texte + Location Emplacement + Endnotes Notes de fin + Below text Sous le texte + End of section Fin de section + End of document Fin du document + Footnotes to endnotes Notes de bas de page en notes de fin + Endnotes to footnotes Notes de fin en notes de bas de page + Swap footnotes and endnotes Échanger les notes de bas de page et les notes de fin + Custom mark: Marque personnalisée : + Continuous numbering Numérotation continue + Apply Appliquer + Convert Notes Convertir les notes + Add Shape Ajouter une forme + Change Colors Modifier les couleurs + Change Layout Modifier la disposition + Create Graphic Créer un graphique + Edit Items Modifier les éléments + Layouts Dispositions + Reset Graphic Rétablir le graphique + SmartArt Design Création SmartArt + SmartArt Styles Styles SmartArt + Text Pane Volet Texte + Promote to Heading 1 Promouvoir en Titre 1 + Demote to Body Text Abaisser en corps de texte + Move Up Monter + Move Down Descendre + Collapse Réduire + Expand or Collapse Heading Développer ou réduire le titre + Select Heading and Content Sélectionner le titre et son contenu + Show Level Afficher le niveau + Show Level 1 Afficher le niveau 1 + Show Level 2 Afficher le niveau 2 + Show Level 3 Afficher le niveau 3 + Show Level 4 Afficher le niveau 4 + Show Level 5 Afficher le niveau 5 + Show Level 6 Afficher le niveau 6 + Show Level 7 Afficher le niveau 7 + Show Level 8 Afficher le niveau 8 + Show Level 9 Afficher le niveau 9 + Show All Levels Afficher tous les niveaux + Show First Line Only Afficher seulement la première ligne + Show Text Formatting Afficher la mise en forme du texte + Close Outline View Fermer le mode Plan + Outline State État du plan + Outlining Plan + Outline Tools Outils Plan + A, B, C, … A, B, C, … + Above the item Au-dessus de l’élément + Accessed on Consulté le + Add New Source… Ajouter une nouvelle source… + Add the chapter number Ajouter le numéro de chapitre + Atmosphere Atmosphère + Below the item En dessous de l’élément + Book Livre + Book title Titre du livre + Caption Légende + Caption Numbering Numérotation des légendes + Caption text Texte de la légende + Caption: Légende : + Chapter in a book Chapitre de livre + Chapters begin at: Les chapitres commencent à : + Collect entries from: Rassembler les entrées à partir de : + Columns: Colonnes : + Conference Conférence + Conference paper Article de conférence + Container Title Titre de la publication + Create Source Créer la source + Cross-reference: Référence croisée : + Custom Table of Contents… Table des matières personnalisée… + DOI DOI + Day Jour + Delete Label Supprimer l’étiquette + Edit Source Modifier la source + Edition Édition + Edit… Modifier… + Entry marked. Entrée marquée. + Example: {sample} Exemple : {sample} + Figure Figure + Film Film + Heading styles (levels 1–{n}) Styles de titres (niveaux 1–{n}) + Heading {n} Titre {n} + I, II, III, … I, II, III, … + Include page numbers Inclure les numéros de page + Indented Avec retrait + Institution Institution + Ionosphere Ionosphère + Issue Numéro + Journal Revue + Label: Étiquette : + Last, First; Last, First Nom, Prénom ; Nom, Prénom + Leave the label out of the caption Ne pas inclure l’étiquette dans la légende + Letter headings En-têtes alphabétiques + Levels: Niveaux : + Link entries to their headings Lier les entrées à leurs titres + Made from the author and year when empty Généré à partir de l’auteur et de l’année si le champ est vide + Magazine or newspaper article Article de magazine ou de journal + Main entry: Entrée principale : + Mark Marquer + Mark All Tout marquer + Mark Entry… Marquer l’entrée… + Mark Index Entry Marquer l’entrée d’index + Mesosphere Mésosphère + Month Mois + New Label Nouvelle étiquette + New Label… Nouvelle étiquette… + New… Nouvelle… + No sources yet. Aucune source pour le moment. + Numbering… Numérotation… + Options… Options… + Other Autre + Other styles and their TOC level: Autres styles et leur niveau dans la table des matières : + Outline levels Niveaux hiérarchiques + Page number style Style des numéros de page + Page numbers at the right margin Numéros de page à la marge de droite + Page title Titre de la page + Pages of bookmark: Pages du signet : + Periodical Périodique + Position: Position : + Publisher Éditeur + Run-in À la suite + See Voir + Separator: Séparateur : + Show every bibliography field Afficher tous les champs bibliographiques + Site name Nom du site + Source Manager Gestionnaire de sources + Source type: Type de source : + Sources in this document: Sources dans ce document : + Styles: Styles : + Subentry: Sous-entrée : + TC entry fields Champs d’entrée TC + Tab leader: Remplissage de tabulation : + Table of Contents Options Options de la table des matières + Table of Contents Styles Styles de la table des matières + This page Cette page + Type: Type : + URL URL + Volume Volume + Website Site web + Year Année + a, b, c, … a, b, c, … + i, ii, iii, … i, ii, iii, … + {n} entries marked. {n} entrées sélectionnées. + Lasso Select Sélection au lasso + Move Selected Ink Déplacer l’encre sélectionnée + Delete Selected Ink Supprimer l’encre sélectionnée + Recolor Selected Ink Recolorer l’encre sélectionnée + Add Pen Ajouter un stylo + Remove Pen Supprimer le stylo + Ink to Shape Convertir l’encre en forme + Convert to Shapes Convertir en formes + Ink Replay Rejouer l’encre + Add\nPen Ajouter\nun stylo + Rewind Rembobiner + Forward Avancer + Stroke {n} of {total} Trait {n} sur {total} + Move with Text Déplacer avec le texte + WordArt Styles Styles WordArt + Text Fill Remplissage du texte + Text Outline Contour du texte + Transform Transformation + No Fill Aucun remplissage + No Outline Aucun contour + Reflection Reflet + No Reflection Aucun reflet + No Transform Aucune transformation + Connect Shapes Connecter les formes + Straight Connector Connecteur droit + Straight Arrow Connector Connecteur droit avec flèche + Elbow Connector Connecteur coudé + Elbow Arrow Connector Connecteur coudé avec flèche + Curved Connector Connecteur incurvé + Curved Arrow Connector Connecteur incurvé avec flèche + Arch Up Arc vers le haut + Arch Down Arc vers le bas + Slant Up Inclinaison vers le haut + Slant Down Inclinaison vers le bas + Inflate Gonflement + Deflate Dégonflement + Chevron Up Chevron vers le haut + Chevron Down Chevron vers le bas + Triangle Up Triangle vers le haut + Triangle Down Triangle vers le bas + Solid Accent Accent uni + Light with Outline Clair avec contour + Hollow Creux + Accent Gradient Dégradé d’accent + Dark with Shadow Sombre avec ombre + Soft Glow Lueur douce + Accent with Reflection Accent avec reflet + Warm Gradient with Outline Dégradé chaud avec contour + Add line numbering Ajouter la numérotation des lignes + Add to Document Ajouter au document + Address labels Étiquettes d’adresse + Arabic Arabe + Auto Auto + Automatically hyphenate document Césure automatique du document + Chinese (Simplified) Chinois (simplifié) + Chinese (Traditional) Chinois (traditionnel) + Column: Colonne : + Count by: Incrémenter de : + Czech Tchèque + Danish Danois + Delivery address: Adresse de livraison : + Detect language automatically Détecter automatiquement la langue + Do not check spelling or grammar Ne pas vérifier l’orthographe ni la grammaire + Dutch Néerlandais + English (United Kingdom) Anglais (Royaume-Uni) + Envelope size: Taille de l’enveloppe : + Estonian Estonien + Finnish Finnois + French (France) Français (France) + From text: Distance du texte : + Full page of the same label Page entière d’étiquettes identiques + German (Germany) Allemand (Allemagne) + Greek Grec + Hebrew Hébreu + Hyphenate at: Couper à : + Hyphenate words in CAPS Couper les mots en MAJUSCULES + Hyphenation Options… Options de césure… + Hyphenation zone: Zone de césure : + Italian Italien + Japanese Japonais + Korean Coréen + Limit consecutive hyphens to: Limiter les césures consécutives à : + Line Numbering Options… Options de numérotation des lignes… + Manual Hyphenation Césure manuelle + Manual hyphenation is complete. La césure manuelle est terminée. + Manual… Manuelle… + Mark selected text as: Marquer le texte sélectionné comme : + New Document Nouveau document + No limit Sans limite + Norwegian (Bokmål) Norvégien (bokmål) + Numbering: Numérotation : + Omit Omettre + One label per recipient Une étiquette par destinataire + Polish Polonais + Portuguese (Brazil) Portugais (Brésil) + Portuguese (Portugal) Portugais (Portugal) + Return address labels Étiquettes d’adresse de retour + Return address: Adresse de retour : + Row: Ligne : + Russian Russe + Serbian (Cyrillic) Serbe (cyrillique) + Serbian (Latin) Serbe (latin) + Set As Default Définir par défaut + Shipping labels Étiquettes d’expédition + Single label Étiquette unique + Spanish (Mexico) Espagnol (Mexique) + Spanish (Spain) Espagnol (Espagne) + Swedish Suédois + Turkish Turc + Ukrainian Ukrainien + {language} is now the document's default language. {language} est désormais la langue par défaut du document. + +# Interface strings added on main since this catalog was first written. + As you type Pendant la frappe + Asian text font: Police du texte asiatique : + AutoSave writes your changes to the file a moment after you stop typing. L’enregistrement automatique écrit vos modifications dans le fichier peu après que vous arrêtez de taper. + Centimeters Centimètres + Check spelling as you type Vérifier l’orthographe pendant la frappe + Click to switch back to inserting Cliquez pour revenir au mode insertion + Custom dictionary Dictionnaire personnel + Formatting marks Marques de mise en forme + Hidden text Texte masqué + Ignore web and file addresses Ignorer les adresses web et les chemins de fichiers + Ignore words in capitals Ignorer les mots en majuscules + Ignore words with numbers Ignorer les mots contenant des chiffres + Inches Pouces + Initials: Initiales : + Interface Interface + Interface language Langue de l’interface + Latin text font: Police du texte latin : + Mark grammar errors as you type Signaler les fautes de grammaire pendant la frappe + Measurement units: Unités de mesure : + Millimeters Millimètres + New comments and tracked changes are recorded under this name and these initials. Les nouveaux commentaires et les modifications suivies sont enregistrés sous ce nom et ces initiales. + New word Nouveau mot + No words yet. Add to Dictionary on a misspelled word puts it here. Aucun mot pour l’instant. Les mots ajoutés avec Ajouter au dictionnaire sur un mot mal orthographié apparaissent ici. + Overtype (typing replaces the characters after the caret) Remplacement (la frappe remplace les caractères situés après le curseur) + Page display Affichage de la page + Paragraph marks Marques de paragraphe + Personalize Personnaliser + Picas Picas + Points Points + Print the page color Imprimer la couleur de la page + Printing Impression + Proofing language Langue de vérification + Recent documents to show: Nombre de documents récents à afficher : + Save documents Enregistrer les documents + Show the mini toolbar when text is selected Afficher la mini barre d’outils lors de la sélection de texte + Spaces Espaces + Spelling Orthographe + Spelling and grammar are checked in English (United States). L’orthographe et la grammaire sont vérifiées en anglais (États-Unis). + Tab characters Caractères de tabulation + These marks show even when Show/Hide ¶ is off. Ces marques s’affichent même lorsque Afficher/Masquer ¶ est désactivé. + Typing replaces selected text La frappe remplace le texte sélectionné + Update fields before printing Mettre à jour les champs avant l’impression + Use the Insert key to switch overtype on and off Utiliser la touche Inser pour activer ou désactiver le mode Remplacement + Extend Selection by Units Étendre la sélection par unités + Animation Animation + Animate the caret (it glides and fades) Animer le curseur (il glisse et s’estompe) + On: the caret glides to its new place when you type or use the arrow keys, and its blink fades. Off: it jumps and blinks on and off. Activé : le curseur glisse jusqu’à sa nouvelle position lorsque vous tapez ou utilisez les touches fléchées, et son clignotement s’estompe en douceur. Désactivé : il saute et clignote de façon nette. + Word XML Document (*.xml) Document XML Word (*.xml) + Deleted Supprimé + Resize Table by Dragging Redimensionner le tableau en le faisant glisser + Print Markup Imprimer les marques de révision + Comments beside each page and tracked changes in PDFs, prints and images; a comment list at the end of web pages, Markdown and text. Commentaires à côté de chaque page et modifications suivies dans les PDF, les impressions et les images ; liste des commentaires à la fin des pages web, du Markdown et du texte. + Add Font… Ajouter une police… + Added Fonts Polices ajoutées + Remove Added Font Supprimer la police ajoutée + Recent Colors Couleurs récentes + More Colors… Autres couleurs… + Standard Standard + Current Actuelle + Colors: Couleurs : + Color model: Modèle de couleur : + Red: Rouge : + Green: Vert : + Blue: Bleu : + Hue: Teinte : + Sat: Sat. : + Lum: Lum. : + Hex: Hex : + Document template: Modèle de document : + Attach… Joindre… + Automatically update document styles Mettre à jour automatiquement les styles du document + Organizer… Organiseur… + Documents Documents + Word document Document Word + All files Tous les fichiers + Recipient lists Listes de destinataires + The system file dialog isn't available, so WordCraft shows its own. To get the system dialog, install a file chooser portal (such as xdg-desktop-portal-gtk) or zenity. La boîte de dialogue de fichiers du système n’est pas disponible, WordCraft affiche donc la sienne. Pour utiliser celle du système, installez un portail de sélection de fichiers (comme xdg-desktop-portal-gtk) ou zenity. + Up one level Dossier parent + Home folder Dossier personnel + {name} wasn't found. {name} est introuvable. + {name} already exists. Choose Save again to replace it. {name} existe déjà. Choisissez à nouveau Enregistrer pour le remplacer. + This folder can't be read: {error} Impossible de lire ce dossier : {error} + Showing the first {count} items. Affichage des {count} premiers éléments. + File name: Nom du fichier : + Browse in WordCraft… Parcourir dans WordCraft… + Open a file with WordCraft's own browser when the system file dialog doesn't appear. Ouvrir un fichier avec le navigateur de fichiers intégré à WordCraft lorsque la boîte de dialogue de fichiers du système n’apparaît pas. + Hide White Space Masquer les espaces blancs + All pages Toutes les pages + Current page Page actuelle + Selected pages Pages sélectionnées + Custom range Plage personnalisée + All pages in the range Toutes les pages de la plage + Odd pages only Pages impaires uniquement + Even pages only Pages paires uniquement + Copies Copies + Collate copies Assembler les copies + Pages like 1-3, 5 Pages, par exemple 1-3, 5 + {count} of {total} pages will print {count} pages sur {total} seront imprimées + Save these pages as PDF… Enregistrer ces pages au format PDF… + The printer, two-sided printing and pages per sheet are chosen in that dialog. L’imprimante, l’impression recto verso et le nombre de pages par feuille se choisissent dans cette boîte de dialogue. + Previous Page Page précédente + Print to PDF Imprimer en PDF + List Liste + Process Processus + Cycle Cycle + Hierarchy Hiérarchie + Relationship Relation + Pyramid Pyramide + Basic List Liste simple + Basic Process Processus simple + Basic Cycle Cycle simple + Basic Pyramid Pyramide simple + Basic Radial Radial simple + Basic Matrix Matrice simple + Basic Venn Venn simple + Shows items of equal weight as blocks in rows. Affiche des éléments de même importance sous forme de blocs en lignes. + Shows steps in order, left to right, with arrows between them. Affiche des étapes dans l’ordre, de gauche à droite, reliées par des flèches. + Shows steps that repeat, around a circle. Affiche des étapes qui se répètent, disposées en cercle. + Shows a tree: each item below the item it belongs to. Affiche une arborescence : chaque élément sous celui auquel il appartient. + Shows parts that build on each other, largest at the bottom. Affiche des parties qui s’appuient les unes sur les autres, la plus grande en bas. + Shows items around a central idea: the first item is the centre. Affiche des éléments autour d’une idée centrale : le premier élément est au centre. + Shows parts of a whole as quadrants. Affiche les parties d’un tout sous forme de quadrants. + Shows overlapping ideas as overlapping circles. Affiche des idées qui se chevauchent sous forme de cercles superposés. + Accent {n} Accentuation {n} + Colorful Coloré + Insert SmartArt Insérer un SmartArt + One line per item. Enter adds an item. Une ligne par élément. Entrée ajoute un élément. + Add\nShape Ajouter\nune forme + Change\nColors Modifier les\ncouleurs + Reset\nGraphic Rétablir le\ngraphique + All Levels Tous les niveaux + Close Outline\nView Fermer le\nmode Plan + Use wildcards Utiliser les caractères génériques + Special Spécial + Match prefix Respecter le préfixe + Match suffix Respecter le suffixe + Ignore punctuation characters Ignorer la ponctuation + Ignore white-space characters Ignorer les espaces + Regular expressions Expressions régulières + Search Options Options de recherche + Tab Character Caractère de tabulation + Any Character N’importe quel caractère + Any Digit N’importe quel chiffre + Any Letter N’importe quelle lettre + Caret Character Caractère accent circonflexe + Section Character Caractère de section (§) + Paragraph Character Caractère de paragraphe + Graphic Graphique + Manual Line Break Saut de ligne manuel + Manual Page Break Saut de page manuel + Section Break Saut de section + White Space Espace blanc + Clipboard Contents Contenu du Presse-papiers + Find What Text Texte recherché + Find What Expression Expression recherchée + Character in Range Caractère dans la plage + Beginning of Word Début de mot + End of Word Fin de mot + Expression Expression + Not Non + Num Occurrences Nombre d’occurrences + Previous 1 or More 1 ou plusieurs du précédent + 0 or More Characters 0 caractère ou plus + Fix Position on Page Fixer la position sur la page + Visual effects Effets visuels + Animation effects: Effets d’animation : + On Activés + Off Désactivés + Smooth scrolling and zooming, and menus and buttons that fade in. Off shows every change at once. Défilement et zoom fluides, et menus et boutons qui apparaissent en fondu. Avec Désactivés, chaque changement s’affiche immédiatement. + Your system has animation effects turned on. Les effets d’animation sont activés sur votre système. + Your system has animation effects turned off. Les effets d’animation sont désactivés sur votre système. + Your system doesn't report an animation setting, so animation effects stay on. Votre système n’indique aucun réglage d’animation, les effets d’animation restent donc activés. + Track\nChanges Suivi des\nmodifications + Track\nChanges ✓ Suivi des\nmodifications ✓ + Do Not Check Spelling or Grammar Ne pas vérifier l’orthographe ni la grammaire + ➕ New comment ➕ Nouveau commentaire + 📂 Browse… 📂 Parcourir… + Possible spelling mistake Faute d’orthographe possible + Extra space Espace en trop + Capitalize the first word of a sentence Mettre une majuscule au premier mot de la phrase + Remove the space before the punctuation Supprimer l’espace avant la ponctuation + Use "an" before a vowel sound Utiliser « an » devant un son voyelle + Use "a" before a consonant sound Utiliser « a » devant un son consonne + The spelling and grammar check is complete. La vérification de l’orthographe et de la grammaire est terminée. + Couldn't make WordCraft the default: {error} Impossible de faire de WordCraft l’application par défaut : {error} + In Default apps, choose WordCraft for the document types you want it to open. Dans Applications par défaut, choisissez WordCraft pour les types de documents qu’il doit ouvrir. + Make WordCraft the default for Word documents… Faire de WordCraft l’application par défaut pour les documents Word… + Opens .docx, .doc, .rtf and .odt files and Word templates with WordCraft from now on. Ouvre désormais les fichiers .docx, .doc, .rtf et .odt ainsi que les modèles Word avec WordCraft. + Opens Settings › Default apps, where you choose WordCraft for .docx and the other document types. Ouvre Paramètres › Applications par défaut, où vous choisissez WordCraft pour .docx et les autres types de documents. + To open Word documents with WordCraft by default: select one in Finder, choose File › Get Info, pick WordCraft under Open with, then click Change All. Pour ouvrir les documents Word avec WordCraft par défaut : sélectionnez-en un dans le Finder, choisissez Fichier › Lire les informations, choisissez WordCraft sous « Ouvrir avec », puis cliquez sur « Tout modifier ». + WordCraft is now the default app for Word documents. WordCraft est désormais l’application par défaut pour les documents Word. + Numerals: Chiffres : + Numerals Chiffres + Hindi Hindi + Context Contexte + System Système + Show KeyTips (Alt or F10) Afficher les info-touches (Alt ou F10) + Reading Lecture + Reading Column Width Largeur de colonne de lecture + Reading Line Spacing Interligne de lecture + Reading Text Size Taille du texte de lecture diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index cb2c0901b..832b5caec 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -52,7 +52,7 @@ pub struct LangInfo { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 16] = [ +pub static LANGUAGES: [LangInfo; 17] = [ LangInfo { code: "en", name: "English", source: "", prefer_hans: false, editing_lang: None, catalog: OnceLock::new() }, // Simplified Chinese; `zh`, `zh-CN`, `zh-SG` and `zh-Hans-*` resolve here (see `candidates`). LangInfo { @@ -121,6 +121,8 @@ pub static LANGUAGES: [LangInfo; 16] = [ LangInfo { code: "tr", name: "Türkçe", source: include_str!("tr.tsv"), prefer_hans: false, editing_lang: None, catalog: OnceLock::new() }, // Italian; `it-IT`, `it-CH` and `it-*` resolve here. LangInfo { code: "it", name: "Italiano", source: include_str!("it.tsv"), prefer_hans: false, editing_lang: None, catalog: OnceLock::new() }, + // French; `fr`, `fr-FR`, `fr_CA` and other regions resolve here. + LangInfo { code: "fr", name: "Français", source: include_str!("fr.tsv"), prefer_hans: false, editing_lang: None, catalog: OnceLock::new() }, ]; impl LangInfo { diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index 97f74cf40..87a9837d8 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -22,7 +22,8 @@ fn system_locales_map_to_languages() { assert_eq!(lang_from_tag("en-GB"), Some(Lang::EN)); assert_eq!(lang_from_tag("C"), Some(Lang::EN)); assert_eq!(lang_from_tag("POSIX"), Some(Lang::EN)); - assert_eq!(lang_from_tag("fr-FR"), None); + assert_eq!(lang_from_tag("fr-FR"), Some(lang("fr"))); + assert_eq!(lang_from_tag(UNSUPPORTED), None); assert_eq!(lang_from_tag(""), None); assert_eq!(lang_from_tag("_"), None); assert_eq!(lang_from_tag("sr"), Some(lang("sr")), "Cyrillic is the default script"); @@ -37,13 +38,19 @@ fn system_locales_map_to_languages() { assert_eq!(lang_from_tag("DE_de.UTF-8@euro"), Some(lang("de"))); } +/// A language tag no catalog will ever have: `qaa`–`qtz` are reserved for local use (ISO 639-2), +/// so these tests keep working as real languages land. +const UNSUPPORTED: &str = "qaa-QM"; + #[test] fn the_first_supported_preferred_language_wins() { // Windows and macOS list several preferred languages in order. - assert_eq!(first_supported(["fr-FR", "zh-Hant-TW", "en-US"]), Some(lang("zh-hant"))); + assert_eq!(first_supported([UNSUPPORTED, "zh-Hant-TW", "en-US"]), Some(lang("zh-hant"))); assert_eq!(first_supported(["en-US", "ja-JP"]), Some(Lang::EN)); - assert_eq!(first_supported(["fr-FR", "de-DE"]), Some(lang("de"))); - assert_eq!(first_supported(["fr-FR", "nl-NL"]), None); + assert_eq!(first_supported([UNSUPPORTED, "qtz"]), None); + assert_eq!(first_supported(["fr-FR", "de-DE"]), Some(lang("fr"))); + assert_eq!(first_supported(["nl-NL", "de-DE"]), Some(lang("de"))); + assert_eq!(first_supported(["nl-NL", UNSUPPORTED]), None); assert_eq!(first_supported([]), None); } @@ -171,7 +178,7 @@ fn ukrainian_locales_and_saved_preference_work_without_changing_the_document() { for tag in ["uk", "uk-UA", "UK_ua.UTF-8", "uk-Cyrl-UA", "uk_UA.UTF-8@euro"] { assert_eq!(lang_from_tag(tag), Some(uk), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "uk-UA", "en-US"]), Some(uk)); + assert_eq!(first_supported([UNSUPPORTED, "uk-UA", "en-US"]), Some(uk)); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); let result = app.run("ui.language", serde_json::json!({"value": "UK"})).unwrap(); @@ -278,7 +285,7 @@ fn serbian_locales_resolve_by_script() { for tag in ["sr-Latn", "sr-Latn-RS", "sr-latn-me"] { assert_eq!(lang_from_tag(tag), Some(lat), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "sr-Latn-RS", "en-US"]), Some(lat)); + assert_eq!(first_supported([UNSUPPORTED, "sr-Latn-RS", "en-US"]), Some(lat)); assert_eq!(tr(cyr, "File"), "Фајл"); assert_eq!(tr(lat, "File"), "Fajl"); } @@ -292,7 +299,7 @@ fn brazilian_portuguese_locales_and_saved_preference_work_without_changing_the_d // European Portuguese and a bare `pt` have no catalog yet, so they follow the fallback. assert_eq!(lang_from_tag("pt-PT"), None); assert_eq!(lang_from_tag("pt"), None); - assert_eq!(first_supported(["fr-FR", "pt-BR", "en-US"]), Some(pt)); + assert_eq!(first_supported([UNSUPPORTED, "pt-BR", "en-US"]), Some(pt)); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_doc::Document::new()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); let result = app.run("ui.language", serde_json::json!({"value": "PT-BR"})).unwrap(); @@ -353,7 +360,7 @@ fn czech_locales_and_saved_preference_work_without_changing_the_document() { for tag in ["cs", "cs-CZ", "cs_CZ.UTF-8", "CS", "cs-Latn-CZ", "cs_CZ.UTF-8@euro"] { assert_eq!(lang_from_tag(tag), Some(cs), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "cs-CZ", "en-US"]), Some(cs)); + assert_eq!(first_supported([UNSUPPORTED, "cs-CZ", "en-US"]), Some(cs)); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); let result = app.run("ui.language", serde_json::json!({"value": "CS"})).unwrap(); @@ -465,7 +472,7 @@ fn russian_locales_and_saved_preference_work_without_changing_the_document() { for tag in ["ru", "ru-RU", "ru_RU.UTF-8", "RU-ru", "ru_UA.UTF-8", "ru-Cyrl-RU"] { assert_eq!(lang_from_tag(tag), Some(ru), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "ru-RU", "en-US"]), Some(ru)); + assert_eq!(first_supported([UNSUPPORTED, "ru-RU", "en-US"]), Some(ru)); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_doc::Document::new()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); let result = app.run("ui.language", serde_json::json!({"value": "RU"})).unwrap(); @@ -618,7 +625,7 @@ fn estonian_locales_and_saved_preference_keep_document_content() { for tag in ["et", "et-EE", "ET_ee.UTF-8", "et-Latn-EE", "et_EE.UTF-8@euro"] { assert_eq!(lang_from_tag(tag), Some(et), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "et-EE", "en-US"]), Some(et)); + assert_eq!(first_supported([UNSUPPORTED, "et-EE", "en-US"]), Some(et)); assert_eq!(normalize_pref("ET"), Some("et")); assert_eq!(et.name(), "Eesti"); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); @@ -669,7 +676,7 @@ fn turkish_locales_and_saved_preference_work_without_changing_the_document() { for tag in ["tr", "tr-TR", "TR_tr.UTF-8", "tr-CY", "tr-Latn-TR", "tr_TR.UTF-8@euro"] { assert_eq!(lang_from_tag(tag), Some(tr), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "tr-TR", "en-US"]), Some(tr)); + assert_eq!(first_supported([UNSUPPORTED, "tr-TR", "en-US"]), Some(tr)); assert_eq!(normalize_pref("TR"), Some("tr")); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); @@ -746,13 +753,69 @@ fn bundled_interface_fonts_cover_turkish_without_system_fallbacks() { assert!(!lang("tr").uses_cjk()); } +#[test] +fn french_locales_and_saved_preference_work_without_changing_the_document() { + let fr = lang("fr"); + for tag in ["fr", "fr-FR", "FR_fr.UTF-8", "fr-CA", "fr_BE.UTF-8@euro", "fr-CH", "fr-Latn-FR"] { + assert_eq!(lang_from_tag(tag), Some(fr), "{tag}"); + } + assert_eq!(first_supported([UNSUPPORTED, "fr-CA", "en-US"]), Some(fr)); + assert_eq!(normalize_pref("FR"), Some("fr")); + assert_eq!(fr.name(), "Français"); + assert_eq!(tr(fr, "Home"), "Accueil"); + assert_eq!(tr(fr, "Save"), "Enregistrer"); + assert_eq!(fmt(tr(fr, "Page {page} of {pages}"), &[("page", "3"), ("pages", "9")]), "Page 3 sur 9"); + assert_eq!(tr(fr, "unknown future label"), "unknown future label"); + let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); + let before = serde_json::to_value(&app.session.doc).unwrap(); + let result = app.run("ui.language", serde_json::json!({"value": "FR"})).unwrap(); + assert_eq!(result["effective"], "fr"); + assert_eq!(app.ui.language, "fr"); + assert!(result["available"].as_array().unwrap().iter().any(|l| l["code"] == "fr" && l["name"] == "Français")); + assert_eq!(serde_json::to_value(&app.session.doc).unwrap(), before); + let saved = serde_json::to_string(&app.ui).unwrap(); + let restored: crate::UiState = serde_json::from_str(&saved).unwrap(); + assert_eq!(Lang::from_pref(&restored.language), fr); + assert!(app.run("ui.language", serde_json::json!({"value": "fr-unknown"})).is_err()); + assert_eq!(app.ui.language, "fr", "invalid preferences must keep the saved language"); + app.run("ui.language", serde_json::json!({"value": "auto"})).unwrap(); + assert_eq!(app.ui.language, AUTO); +} + +#[test] +fn bundled_interface_fonts_cover_french_without_system_fallbacks() { + let db = wordcraft_fonts::FontDb::with_font_dirs(Vec::new()); + let (entries, errors) = parse_entries(lang("fr").0.source); + assert!(errors.is_empty()); + // French letters and punctuation: accents, ligatures, guillemets and the typographic apostrophe. + let extra = "ÀàÂâÆæÇçÉéÈèÊêËëÎîÏïÔôŒœÙùÛûÜüŸÿ«»’"; + let chars: std::collections::HashSet = + entries.iter().flat_map(|e| e.translation.chars()).filter(|c| ('\u{00C0}'..='\u{017F}').contains(c)).chain(extra.chars()).collect(); + for (family, style) in [("Inter", "Regular"), ("Inter", "Medium"), ("Inter", "SemiBold"), ("JetBrains Mono", "Regular")] { + let face = db.face(family, style); + assert_eq!(face.family, family, "must use the bundled interface face"); + for ch in &chars { + assert_ne!(face.glyph_for(*ch), 0, "{family} {style} lacks {ch:?}"); + } + } + // The no-break spaces French puts before ; : ! ? and inside « » (the catalog uses plain + // spaces today) are in the interface faces too. + for style in ["Regular", "Medium", "SemiBold"] { + let face = db.face("Inter", style); + for ch in ['\u{00A0}', '\u{202F}'] { + assert_ne!(face.glyph_for(ch), 0, "Inter {style} lacks {ch:?}"); + } + } + assert!(!lang("fr").uses_cjk()); +} + #[test] fn polish_locales_and_saved_preference_work_without_changing_the_document() { let pl = lang("pl"); for tag in ["pl", "pl-PL", "pl_PL.UTF-8", "PL-pl", "pl_PL.UTF-8@euro", "pl-Latn-PL"] { assert_eq!(lang_from_tag(tag), Some(pl), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "pl-PL", "en-US"]), Some(pl)); + assert_eq!(first_supported([UNSUPPORTED, "pl-PL", "en-US"]), Some(pl)); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); let before = serde_json::to_value(&app.session.doc).unwrap(); let result = app.run("ui.language", serde_json::json!({"value": "PL"})).unwrap(); @@ -859,7 +922,7 @@ fn german_locales_and_saved_preference_keep_document_content() { for tag in ["de", "de-DE", "de-AT", "de-CH", "DE_de.UTF-8", "de_DE.UTF-8@euro", "de-Latn-DE"] { assert_eq!(lang_from_tag(tag), Some(de), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "de-AT", "en-US"]), Some(de)); + assert_eq!(first_supported([UNSUPPORTED, "de-AT", "en-US"]), Some(de)); assert_eq!(normalize_pref("DE"), Some("de")); assert_eq!(de.name(), "Deutsch"); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); @@ -910,7 +973,7 @@ fn italian_locales_and_saved_preference_keep_document_content() { for tag in ["it", "it-IT", "it_IT.UTF-8", "it-CH", "it_IT.UTF-8@euro"] { assert_eq!(lang_from_tag(tag), Some(it), "{tag}"); } - assert_eq!(first_supported(["fr-FR", "it-IT", "en-US"]), Some(it)); + assert_eq!(first_supported([UNSUPPORTED, "it-IT", "en-US"]), Some(it)); assert_eq!(normalize_pref("IT"), Some("it")); assert_eq!(it.name(), "Italiano"); let mut app = crate::WordApp::new(wordcraft_engine::Session::new(wordcraft_engine::sample::sample_document()), Default::default()); diff --git a/docs/control-protocol.md b/docs/control-protocol.md index ff021c9a4..935576e3a 100644 --- a/docs/control-protocol.md +++ b/docs/control-protocol.md @@ -50,7 +50,7 @@ and set `WORDCRAFT_CONTROL_KEY` to that app's key. | Method | Params | Result | |---|---|---| -| `engine.execute` | `command`, `params` | the command's result (any id from `engine.commands`, including UI commands `ui.tab`, `ui.dialog`, `ui.backstage`, `ui.zotero.*` (see `docs/zotero.md`), `ui.language` (`{"value": "auto"|"en"|"zh-hans"|"zh-hant"|"ja"|"pt-br"|"es"|"uk"|"sr"|"sr-latn"|"et"|"tr"|"ru"|"pl"|"de"|"it"|"cs"}`), `ui.theme` (`{"value": "system"|"light"|"dark"}`; `system` follows the OS appearance, light when it reports none), `ui.interfaceSize` (`{"percent": 80–200}`, clamped; no value reads it; scales the interface on top of the system display scale, document zoom stays `view.zoom`), `ui.animations` (`{"value": "system"|"on"|"off"}`; no value reads it; `system` follows the system's animation setting, which the desktop app reads on Windows, macOS, Linux and the BSDs and the web app from `prefers-reduced-motion`, and means on where the system doesn't say; the result's `enabled` is what the setting comes to and `system` what the system reports, `null` when it doesn't say), `ui.fileBrowser` (desktop: `{"purpose": "document"|"picture"|"recipients"|"save"}` opens WordCraft's own file browser, for when the system file dialog doesn't show up, #576), `ui.caretAnimation` (`{"value": true|false}`; no value reads it; off, the caret jumps and blinks on and off instead of gliding and fading)…) | +| `engine.execute` | `command`, `params` | the command's result (any id from `engine.commands`, including UI commands `ui.tab`, `ui.dialog`, `ui.backstage`, `ui.zotero.*` (see `docs/zotero.md`), `ui.language` (`{"value": "auto"|"en"|"zh-hans"|"zh-hant"|"ja"|"pt-br"|"es"|"uk"|"sr"|"sr-latn"|"et"|"tr"|"ru"|"pl"|"de"|"it"|"cs"|"fr"}`), `ui.theme` (`{"value": "system"|"light"|"dark"}`; `system` follows the OS appearance, light when it reports none), `ui.interfaceSize` (`{"percent": 80–200}`, clamped; no value reads it; scales the interface on top of the system display scale, document zoom stays `view.zoom`), `ui.animations` (`{"value": "system"|"on"|"off"}`; no value reads it; `system` follows the system's animation setting, which the desktop app reads on Windows, macOS, Linux and the BSDs and the web app from `prefers-reduced-motion`, and means on where the system doesn't say; the result's `enabled` is what the setting comes to and `system` what the system reports, `null` when it doesn't say), `ui.fileBrowser` (desktop: `{"purpose": "document"|"picture"|"recipients"|"save"}` opens WordCraft's own file browser, for when the system file dialog doesn't show up, #576), `ui.caretAnimation` (`{"value": true|false}`; no value reads it; off, the caret jumps and blinks on and off instead of gliding and fading)…) | | `engine.commands` | — | every command: id, label, location, shortcut, params, enabled | | `document.inspect` | `text?` | blocks (text, style, runs, lists, tables), parts, sections, selection, pages | | `ui.inspect` | — | UI state, view, dialog, window size, page rects on screen, caret, comment balloons (`balloons`: id + screen rect; `balloon`: the selected one), perf | diff --git a/docs/localization-parity.md b/docs/localization-parity.md index 288556f3e..aabbbf8dc 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -1,6 +1,6 @@ # Localization parity with Microsoft Word -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (Polish interface; Polish proofing — spelling, grammar, hyphenation — and a proofing language per run; previously minor: Turkish interface added; previously major: first version; catalogs measured from `crates/ui-egui/src/i18n`, Word's languages from its bundle listing) · **Target:** Microsoft Word (Microsoft 365) for Mac 16.113.4 +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-11 · **Change:** minor (French interface added; previously minor: Polish interface; Polish proofing — spelling, grammar, hyphenation — and a proofing language per run; previously minor: Turkish interface added; previously major: first version; catalogs measured from `crates/ui-egui/src/i18n`, Word's languages from its bundle listing) · **Target:** Microsoft Word (Microsoft 365) for Mac 16.113.4 Interface languages, script support and proofing per language. How translation works (catalog format, adding a language, clean-room rule): `crates/ui-egui/src/i18n/mod.rs`. @@ -19,8 +19,8 @@ native-speaker review (human). ## What WordCraft ships (measured) -- **16 interface languages**: English plus `zh-hans`, `zh-hant`, `ja`, `uk`, `es`, `pt-br`, - Serbian `sr`/`sr-latn` (#250), Estonian `et`, Turkish `tr`, Russian `ru`, Italian `it` (#594), German `de` (#574), Polish `pl` and Czech `cs`. Catalogs have 2,021–2,399 entries +- **17 interface languages**: English plus `zh-hans`, `zh-hant`, `ja`, `uk`, `es`, `pt-br`, + Serbian `sr`/`sr-latn` (#250), Estonian `et`, Turkish `tr`, Russian `ru`, Italian `it` (#594), German `de` (#574), Polish `pl`, Czech `cs` and French `fr`. Catalogs have 2,021–2,399 entries each; Polish has every key of every other catalog (a test checks it). A test (`every_tab_and_command_is_translated`) enforces that every ribbon tab, command label and ribbon location is translated in every language. `pl`, `pl-PL` and `pl_PL.UTF-8` system locales pick Polish automatically. @@ -49,7 +49,7 @@ shared items below. | Spanish | es | ~930; 98% / ~95% | most | Latin ✅ | no | partial | 1–2 | | Hindi | hi | 0 | ❌ | Devanagari shaping via HarfRust, untested; no hyphenation | no | none | 4–6 | | Arabic | ar | 0 | ❌ | shaping, joining, lam-alef, bidi ✅ (#207); no kashida; **no mirrored UI** | no | none | 6–8 | -| French | fr | 0 | ❌ | Latin ✅ | no | none | 3–4 | +| French | fr | 2,033 entries | most; newer dialogs partly English | Latin ✅ | no | partial | 1–2 | | Portuguese | pt-br (pt-PT none) | ~930; 98% / ~95% (pt-BR) | most | Latin ✅ | no | partial | 2–4 (pt-BR finish + pt-PT) | | Indonesian | id | 0 | ❌ | Latin ✅ | no | none | 3–4 | | Japanese | ja | ~930; 98% / ~95% | most | CJK ✅, IME ✅; no vertical text, ruby or document grid | no | partial | 3–5 | @@ -107,6 +107,7 @@ allows); all other text is written from the meaning of the English. No Italian p | 2026-10-11 | minor | German interface catalog (#574): 2,021 entries covering the full zh-hans key set; locale, saved-preference and bundled-font tests; no German proofing | | 2026-10-11 | minor | Italian interface catalog (#594), locale selection, saved preference and font coverage checks; count labels put the noun first so they read right at 1 | | 2026-10-11 | minor | Font dialog sets the Asian text font (`w:eastAsia`) and the Latin text font separately; the Asian list holds the installed Chinese, Japanese and Korean fonts by their interface-language names (#505) | +| 2026-10-11 | minor | French interface catalog (2,033 entries, @pechnikov2026-star), `fr-*` system locales, saved preference and font coverage checks; no French proofing | | 2026-10-11 | minor | Font list shows installed fonts by their names in the interface language (宋体 for SimSun in Chinese, Japanese and Korean names likewise) and finds them by either name; a Chinese, Japanese or Korean font is stored as `w:eastAsia` too (#505) | | 2026-10-11 | minor | Chinese/Japanese interface fonts: a test checks every catalog character has a glyph; an installed CJK font follows the embedded faces whenever they miss one; macOS font asset folders searched for PingFang (#486) | | 2026-10-10 | minor | Russian interface (#300; 1,524 entries, built-in style names shown translated; covers everything the interface audit finds) |