AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Localize Fr

skill-i18n-agent-i18nstack-localize-fr · by i18n-agent

Use when translating or localizing UI strings, marketing copy, documentation, or any source text into French (fr). Enforces vous/tu consistency, le/la gender + number agreement, French typography (non-breaking spaces before : ; ? !), guillemets « », anglicism avoidance per Toubon Law, and prepositional-chain simplification.

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add skill-i18n-agent-i18nstack-localize-fr

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-i18n-agent-i18nstack-localize-fr)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Localize Fr? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

French Translation Rules (fr / français)

Distilled from the production translation prompts. Follow these rules verbatim — they are model-agnostic and produce consistent native-quality French output.

Mindset

> Tu es un écrivain français natif extrêmement exigeant qui déteste les calques de l'anglais et les formulations maladroites.

You are a demanding French native speaker who rejects literal English calques and Académie-frowned anglicisms. Preserve meaning, but restructure into natural French. Anglicisms are acceptable ONLY when no good French equivalent exists (API, token, cloud) or for brand names.

Variant Selection (run FIRST)

The rules in this skill are for Metropolitan French (fr / fr-FR — France, Belgium, Switzerland-romand by default). Canadian French (fr-CA / Québec) diverges enough that applying these rules to QC content produces visibly wrong output.

If the user has not specified the variant, before translating call AskUserQuestion with:

  • Question: Which French variant should I target?
  • Header: FR variant
  • Options:
  1. Metropolitan French (fr-FR) — France/Europe; NBSP before : ; ? !; vous default; DD/MM/YYYY. (Recommended for most software)
  2. Canadian French (fr-CA / Québec)tu more common; no space before punctuation; ISO YYYY-MM-DD; Loi 101 anglicism rules.

If the user picks fr-FR (or already specified Metropolitan French), use the full skill below as-is and ignore the Quebec deltas section.

If the user picks fr-CA, apply ALL the deltas in the "Quebec French (fr-CA) Deltas" section near the end of this skill in addition to the Metropolitan rules. The deltas override the Metropolitan rules wherever they conflict (punctuation spacing, dates, terminology, formality default). Everything not contradicted by a delta (gender, plural, agreement, contractions, elisions, subjunctive, prepositional-chain simplification, BANGS adjective order) carries over.

Pre-Translation Setup

Lock in before translating:

  1. Formality (vous vs tu) — Default to vous (formal) for B2B and most software. Use tu only if explicitly consumer-casual. NEVER mix within a file.
  2. Two genders — le (masc), la (fem). Articles, adjectives, participles all agree in gender + number.
  3. Typography — Non-breaking space BEFORE : ; ? ! and inside guillemets « ».
  4. SVO + adjective position — Most adjectives FOLLOW the noun; BANGS (Beauty, Age, Number, Goodness, Size) precede.
  5. Placeholders — Preserve {variables} and ICU plural syntax exactly.

Register Auto-Detection (run after Variant Selection + Pre-Translation Setup, before translating)

If the user has NOT specified vous or tu, infer from source text register. Match output to source — formal source → vous; informal source → tu.

Formal source signals → output vous / votre / vos

  • Hedging / polite modals: "please", "kindly", "we recommend", "could you", "would you mind"
  • Passive / impersonal: "users are advised", "it is recommended", "applicants must"
  • No contractions: "do not", "cannot", "we will"
  • Domain vocabulary: legal, financial, healthcare, regulatory, enterprise B2B, government, insurance, luxury
  • Third-person / distance: "the user must", "customers should"
  • Long sentences, formal connectors ("furthermore", "moreover")
  • Brand voice: bank, insurance, government, B2B SaaS, healthcare, legal, luxury retail
  • No exclamations or emojis

Informal source signals → output tu / ton / ta / tes

  • Contractions: "don't", "you'll", "it's", "we're"
  • Casual greetings: "hey", "hi there", "yo", "hi 👋"
  • Second-person directness, exclamations, emoji (🎉 😎 🚀 ✨)
  • Slang: "cool", "awesome", "no worries", "kinda"
  • Consumer-app voice: gaming, social, lifestyle, dating, fitness, kids, casual e-commerce
  • Sentence fragments and conversational filler

Mixed / ambiguous source → default to vous (fr-FR) or tu (fr-CA consumer)

  • fr-FR: default to vous when ambiguous. Most French B2B and many consumer brands still use vous.
  • fr-CA: default to tu for consumer/casual contexts; vous for B2B/government/banking.

Explicit user override

If the user says "use tu" / "use vous" / "formal" / "casual", their instruction wins.

Worked examples (fr-FR)

| Source | Detected | French output | |----------------|----------|---------------| | "Please review the terms of service before proceeding." | formal | Veuillez lire les conditions d'utilisation avant de continuer. | | "Hey! Tap here to get started — it's super quick 🚀" | informal | Salut ! Appuie ici pour commencer — c'est super rapide 🚀 | | "Submit your application by the deadline." | formal | Soumettez votre candidature avant la date limite. | | "Don't forget to save your work!" | informal | N'oublie pas d'enregistrer ton travail ! |

After detection: keep the chosen form consistent. NEVER mix pronouns, possessives, OR imperatives.

Critical Accuracy Rules

1. Gender of common IT nouns (memorize)

| Masculine (le) | Feminine (la) | |----------------|----------------| | le problème | la solution | | le système | la erreur (one of the trickiest) | | le fichier | la plateforme | | le compte | la page | | le dossier | la connexion | | le navigateur | la sauvegarde | | le PDF | la base de données |

Acronyms inherit gender from the expanded form:

| Acronym | Expansion | Gender | |---------|-----------|--------| | IA | Intelligence Artificielle | feminine → l'IA | | API | Application Programming Interface | feminine → l'API | | PDF | Portable Document Format | masculine → le PDF | | URL | (locator) | feminine in most usage |

Common errors: une problèmeun problème. le solutionla solution. un erreurune erreur. le IAl'IA (fem).

2. Plural forms

| Pattern | Example | |---------|---------| | Regular | livre → livres | | -eau, -au, -eu | bureau → bureaux | | -al | journal → journaux | | -s, -x, -z | no change: souris, voix, nez |

Adjectives + participles must agree: les nouveaux paramètres, les solutions personnalisées.

3. Article contractions (mandatory)

| Combine | → | |---------|---| | à + le | au | | à + les | aux | | de + le | du | | de + les | des |

à le systèmeau système. de les utilisateursdes utilisateurs.

4. Elision before vowels

le, la, de, que, ne, me, te, se, je drop the vowel before a vowel/h-mute:

| Wrong | Correct | |-------|---------| | le utilisateur | l'utilisateur | | de autre | d'autre | | que il | qu'il |

5. Subject–verb agreement + participle agreement

  • Subject and verb agree in person and number.
  • Past participle with être agrees with the subject. With avoir, it agrees with the preceding direct object.

| Wrong | Correct | |-------|---------| | Les fichiers a été supprimé | Les fichiers ont été supprimés | | Elle a se connecté | Elle s'est connectée (reflexive → être; agrees with subject) |

6. Subjunctive mood (required after specific triggers)

After il faut que, il est possible que, bien que, doubt/desire/emotion expressions:

| Wrong | Correct | |-------|---------| | Il faut que vous pouvez | Il faut que vous puissiez | | Il est possible que c'est | Il est possible que ce soit |

7. FOR vs PER — never confuse

| English | Wrong | Correct | |---------|-------|---------| | for 5 languages (total) | par langue | pour 5 langues | | per language (rate) | pour langue | par langue |

8. Domain terminology — use IT meaning

| Source | Wrong | Correct | |--------|-------|---------| | architecture | architecture (bâtiment) | architecture (logicielle) | | pipeline (CI/CD) | canalisation | pipeline | | source of truth | source de vérité | source de référence / source faisant autorité | | build (software) | construction | développer / créer / concevoir | | deploy (software) | (military) déployer | déployer / mettre en production / livrer | | support (feature) | supporter (= tolerate) | prendre en charge / être compatible avec / proposer | | sync with [Platform] | synchroniser avec le [Platform] | synchroniser avec [Platform] (no article for platform destinations) | | listings (app store) | listes / listages | fiches de l'application / pages de l'application |

9. Article completeness in noun phrases

French requires definite articles in prepositional phrases with specific/known nouns. (Exception: generic classifiers like erreur de système for a type.)

| Wrong | Correct | |-------|---------| | Erreur d'application | Erreur de l'application | | Configuration de compte | Configuration du compte | | État de connexion | État de la connexion | | Détails de transaction | Détails de la transaction | | variable d'environnement manque | la variable d'environnement manque / il manque la variable d'environnement |

UI Conventions

Buttons — infinitive form

| Wrong (imperative) | Correct (infinitive) | |--------------------|----------------------| | Enregistrez | Enregistrer | | Supprimez | Supprimer | | Annulez | Annuler |

Instructions/help text use imperative matching the formality (Cliquez vs Clique).

Status messages — noun form (-ment) or "En cours de..."

| Wrong | Correct | |-------|---------| | Charge... | Chargement... | | On enregistre | En cours d'enregistrement... | | Sauvegarde | Enregistrement... (prefer enregistrer over sauvegarder) |

Completion — participial / prepositional

| Wrong (adjectival calque) | Correct (participial) | |---------------------------|----------------------| | Téléchargement réussi | Téléchargement terminé / Fichier téléchargé | | Opération complète | Opération terminée / Terminé ! | | Paiement réussi | Paiement effectué / Paiement confirmé |

Empty state — Aucun(e) X / Il n'y a pas de X

| Wrong | Correct | |-------|---------| | Pas de résultats | Aucun résultat / Il n'y a aucun résultat | | Pas de fichier sélectionné | Aucun fichier sélectionné | | Pas de connexion | Aucune connexion / Connexion impossible |

Drag and drop

| English | French | |---------|--------| | drag | glisser | | drop | déposer | | release (let go) | relâcher — NOT autoriser (= permit) | | browse (file picker) | sélectionner / choisir — NOT parcourir |

Wrong: Autoriser le téléchargementRelâchez pour téléverser. Wrong: draggerglisser-déposer.

Validation messages

Three distinct patterns by message type:

| Type | Mood | Example | |------|------|---------| | Field validation | indicative | Ce champ est requis / [Champ] n'est pas valide | | Action instruction | imperative | Entrez une valeur valide / Vérifiez le format | | State description | impersonal | Il manque la variable d'environnement |

Wrong: Le champ est manquant (calque of "missing") → Ce champ est requis or Il manque ce champ. Wrong: Entrer une valeur (infinitive in error) → Entrez une valeur valide (imperative).

Error messages — what happened + what to do

| Wrong (bare) | Correct (actionable) | |--------------|----------------------| | Fichier introuvable. | Fichier introuvable. Veuillez vérifier le chemin. |

Other UI patterns

| Wrong | Correct | |-------|---------| | Alternatif (bare adjective) | Détection alternative (complete noun phrase) | | Automatique (bare adjective) | Mode automatique | | 25+ langues | plus de 25 langues or 25 langues et plus | | +{count} de plus | et {count} autres | | Ajouter plus | Ajouter d'autres / En ajouter | | Afficher plus | Voir plus / Afficher la suite | | Essayer de nouveau (button) | Réessayer (single-word infinitive when one exists) | | Charger de nouveau (button) | Recharger |

vous / tu Consistency

ALL pronouns, possessives, verbs, AND imperatives must match.

| Don't mix | Use | |-----------|-----| | Vous pouvez modifier tes paramètres | Vous pouvez modifier vos paramètres | | Téléchargez + Parcourir | Téléchargez + Parcourez |

vous-form: vous, votre/vos, imperative ending in -ez. tu-form: tu, ton/ta/tes, imperative ending in -e/-s.

Typography (CRITICAL — French is strict)

| Item | Rule | Example | |------|------|---------| | Before : ; ? ! | Non-breaking space (NBSP) | Question : texte ? (NOT Question: texte?) | | Inside guillemets | NBSP after « and before » | « texte » (NOT "texte") | | Decimal | , | 1 234,56 (NOT 1,234.56) | | Thousands | space | 1 234 567 | | Currency | space before | 99,99 € (NOT €99.99) |

| Wrong | Correct | |-------|---------| | "English quotes" | « guillemets français » | | Question: texte? | Question : texte ? | | €99.99 | 99,99 € |

Comma Rules

| Before | Comma? | |--------|--------| | et / ou / ni | No comma | | mais (short clauses) | optional / no comma | | mais (long/complex clauses) | comma | | car / donc / or / puis | Comma (coordinating, different semantics) |

| Wrong | Correct | |-------|---------| | fichier, ou dossier | fichier ou dossier | | l'erreur est survenue car le fichier | l'erreur est survenue, car le fichier |

Negation Patterns

Standard formal negation uses a two-part frame around the verb.

| Negation | Meaning | Example | |----------|---------|---------| | ne...pas | not | Je ne sais pas. | | ne...rien | nothing | Je ne vois rien. | | ne...jamais | never | Il ne se connecte jamais. | | ne...plus | no longer / not anymore | Le service ne fonctionne plus. | | ne...personne | nobody | Il n'y a personne. | | ne...aucun(e) | none / not any | Aucun fichier n'a été trouvé. |

| Wrong | Correct | |-------|---------| | Je sais pas (in formal context) | Je ne sais pas | | Cliquez pas ici | Ne cliquez pas ici | | Il y a pas de résultat | Il n'y a pas de résultat / Aucun résultat |

Informal ne-dropping (spoken-style copy only)

In informal spoken/written French, ne is commonly dropped: Je sais pas, T'inquiète pas, Faut pas s'en faire. This is ACCEPTABLE in casual consumer copy mimicking spoken style (lifestyle apps, gaming, social, casual chat). NEVER drop ne in formal/B2B/written contexts, error messages, legal copy, or documentation.

| Formal (always keep ne) | Informal (ne-drop OK) | |---------------------------|----------------------| | Je ne sais pas. | Je sais pas. | | Ne vous inquiétez pas. | T'inquiète pas. / T'inquiète. | | Il ne faut pas s'en faire. | Faut pas s'en faire. | | Ce n'est pas grave. | C'est pas grave. | | Nous ne pouvons pas. | On peut pas. |

Politeness Chains and Email Closings

Request openers

| Formal (vous) | Informal (tu) | |---------------|----------------| | Je vous prie de bien vouloir... (kindly) | Peux-tu... | | Auriez-vous l'amabilité de... (very formal) | Tu pourrais... | | Veuillez... (please) | Si tu veux bien... | | Pourriez-vous... | Tu peux... |

Email salutations

| Formal | Informal | |--------|----------| | Madame, Monsieur, (unknown recipient) | Bonjour Anna, | | Madame Dupont, (known female) | Salut Max, | | Monsieur Martin, (known male) | Coucou Léa, (warm) | | Cher Monsieur, / Chère Madame, (warmer formal) | Hello Tom, (casual / tech) |

Email closings

| Formal | Informal | |--------|----------| | Cordialement, (standard) | À bientôt, | | Bien cordialement, (warmer) | Bises, / Bisous, (very casual) | | Veuillez agréer, Madame/Monsieur, mes salutations distinguées. (very formal / old-school) | Bonne journée, (warm but professional) | | Sincères salutations, | Belle journée, |

Thank-you phrasing

| Formal | Informal | |--------|----------| | Je vous remercie de votre attention. | Merci ! | | Merci beaucoup. | Mille mercis ! | | Avec mes remerciements anticipés, | Merci d'avance ! |

##

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.