AI & Automation

Comment j'ai construit un composant de traduction Framer personnalisé qui a fait gagner 10 heures par semaine à mon client

Personas
SaaS & Startup
Personas
SaaS & Startup

Le mois dernier, j'ai eu un client qui est venu me voir avec un problème frustrant. Ils avaient construit ce magnifique prototype Framer pour leur produit SaaS, mais ils devaient le présenter à des parties prenantes en trois langues différentes. Chaque fois qu'ils voulaient montrer la version française, ils devaient dupliquer manuellement les composants et changer le texte. Même chose pour l'allemand. Même chose pour l'espagnol.

Le résultat ? Ce qui aurait dû être une démonstration de 5 minutes pour les parties prenantes se transformait en sessions d'une heure de "attendez, laissez-moi juste mettre à jour ce texte rapidement." Ça vous semble familier ?

La plupart des équipes dans cette situation acceptent soit le chaos, soit se tournent vers des outils de traduction d'entreprise coûteux qui sont totalement excessifs pour le prototypage. Mais il y a une troisième option dont personne ne parle : construire un composant de traduction personnalisé si simple qu'il semble magique.

Voici ce que vous apprendrez grâce à mon expérience pour résoudre ce problème précis :

  • Pourquoi la plupart des plugins de traduction Framer ratent complètement le but

  • Le composant personnalisé de 15 minutes que j'ai construit et qui gère le changement de texte dynamique

  • Comment configurer des variables de traduction qui se mettent à jour sur l'ensemble de votre prototype instantanément

  • Cette optimisation cachée des performances qui maintient votre prototype fluide

  • Quand utiliser cette approche (et quand l'éviter)

Ce n'est pas un autre tutoriel générique sur les fonctionnalités de Framer. C'est le système exact que j'ai utilisé pour plusieurs clients qui avaient besoin de démontrer des prototypes complexes en plusieurs langues sans perdre leur esprit. Découvrez d'autres stratégies d'optimisation de site Web qui fonctionnent réellement dans le monde réel.

Connaissance de l'industrie
Ce que chaque designer a déjà entendu

Si vous avez cherché des solutions de traduction Framer, vous avez probablement trouvé les mêmes conseils recyclés partout. L'approche "norme de l'industrie" ressemble à quelque chose comme ceci :

Option 1 : Duplication Manuelle
Créez des pages séparées pour chaque langue, dupliquez chaque composant et mettez à jour manuellement le texte. C'est ce que la plupart des tutoriels recommandent parce que c'est "simple". Bien sûr, si vous aimez la répétition ennuyeuse et maintenir 47 versions différentes du même bouton.

Option 2 : Plugins Tiers
Utilisez des plugins de marché qui promettent une "traduction en un clic". Ceux-ci fonctionnent généralement en traduisant automatiquement votre texte via Google Translate ou des services similaires. Génial en théorie, terrible en pratique lorsque vous avez besoin de traductions précises et spécifiques au contexte.

Option 3 : Gestion de Traduction Externe
Exportez votre contenu vers des outils de traduction externes, gérez tout dans des feuilles de calcul, puis importez-le manuellement. C'est l'approche "professionnelle" que les agences adorent facturer 5 000 $.

Option 4 : Systèmes Basés sur des Variables
Certains utilisateurs avancés créent des variables de texte pour différentes langues et les changent manuellement. Mieux que la duplication, mais nécessite toujours de mettre à jour les variables une par une.

Voici le problème avec toutes ces approches : elles sont soit incroyablement fastidieuses (options 1 et 4), peu fiables pour le travail professionnel (option 2), ou complètement excessives pour le prototypage (option 3). Plus important encore, aucune d'entre elles ne résout le véritable problème - démontrer votre prototype de manière fluide dans plusieurs langues lors des présentations aux parties prenantes.

La pièce manquante ? Un composant personnalisé qui gère toute la complexité en coulisses tout en vous offrant un changement de langue en un clic. C'est ce que j'ai dû construire lorsque les solutions standard ont échoué à mon client.

Who am I

Consider me as
your business complice.

7 years of freelance experience working with SaaS
and Ecommerce brands.

How do I know all this (3 min video)

Le client était une startup fintech française construisant une plateforme de paiements B2B. Ils avaient ce magnifique prototype Framer montrant leur tableau de bord, mais ils devaient le présenter aux investisseurs à Paris (français), aux clients d'entreprise potentiels à Frankfurt (allemand), et à leur équipe d'expansion aux États-Unis (anglais).

Le prototype n'était pas simple non plus - nous parlons de 15+ écrans avec des visualisations de données complexes, des flux d'intégration des utilisateurs et des historiques de transactions détaillés. Chaque écran avait 20 à 30 éléments de texte qui nécessitaient une traduction.

Ma première approche était la "professionnelle". J'ai recherché des plateformes de gestion des traductions, examiné le système de variables intégré de Framer, et même envisagé de reconstruire l'ensemble du prototype avec une structure plus adaptée à la traduction. Toutes ces solutions avaient le même défaut fondamental : elles nécessitaient que le client pense comme un développeur au lieu d'un designer.

Le client devait pouvoir entrer dans une réunion, ouvrir Framer, et changer de langue d'un simple clic. Pas d'exportation de fichiers, pas de mise à jour de 47 variables, pas de duplication de pages. Un clic.

C'est à ce moment-là que j'ai réalisé quelque chose d'important : le problème n'était pas la gestion des traductions - c'était l'expérience utilisateur. Le client n'avait pas besoin d'un système de traduction ; il avait besoin d'un système de changement de langue qui utilisait des traductions.

La percée est venue lorsque j'ai cessé de penser à cela comme à un problème Framer et que j'ai commencé à le considérer comme un problème d'interface utilisateur. Que se passerait-il si l'ensemble du prototype pouvait avoir un "mode langue" qui transformait instantanément tous les éléments de texte ? Que se passerait-il si le changement de langues était aussi naturel que de passer entre le mode clair et le mode sombre ?

Ce changement de perspective m'a conduit à construire quelque chose dont personne d'autre ne parlait : un composant de traduction personnalisé qui traite le changement de langue comme un état de design, et non comme une tâche de gestion de contenu.

My experiments

Here's my playbook

What I ended up doing and the results.

Voici le système exact que j'ai construit pour un changement de langue sans faille dans les prototypes Framer. Cette approche transforme la traduction d'un cauchemar de contenu en une fonctionnalité de design.

Étape 1 : La Structure des Données de Traduction
Au lieu de variables éparpillées, j'ai créé un composant maître unique qui contient toutes les traductions dans un format structuré. Pensez-y comme le "cerveau" de votre prototype multilingue :

Tout d'abord, j'ai configuré un cadre maître appelé "Translation_Controller" avec trois éléments clés :

- Un composant déroulant pour la sélection de la langue (visible pour vous, caché des parties prenantes)

- Un ensemble de variables pour chaque langue (English_Active, French_Active, German_Active)

- Un système de gestion d'état qui contrôle quelles variables de langue sont "actives"


Étape 2 : Le Composant de Texte Intelligent
C'est ici que la magie opère. J'ai créé un composant texte personnalisé appelé "MultiText" qui affiche automatiquement la bonne langue en fonction de l'état du contrôleur :

Chaque composant MultiText contient :

- Des couches de texte pour chaque langue (English_Text, French_Text, German_Text)

- Visibilité conditionnelle en fonction de l'état de langue active

- Un style cohérent qui s'applique à toutes les versions linguistiques


L'idée clé : au lieu de changer le contenu textuel, nous changeons la visibilité du texte. Cela signifie que votre texte français est toujours là - il est juste caché jusqu'à ce que vous en ayez besoin.

Étape 3 : Le Système de Changement de Langue en Un Clic

Voici comment j'ai fait en sorte que le changement de langue semble magique :


Lorsque vous sélectionnez une langue dans le menu déroulant Translation_Controller :

  1. Il déclenche un changement d'état simultanément dans tous les composants MultiText

  2. Les couches de texte de la langue actuelle se cachent avec une transition en fondu en douceur

  3. Les nouvelles couches de texte dans la langue apparaissent avec la même transition en fondu

  4. Tous les composants se mettent à jour en parfaite synchronisation


Étape 4 : Mise à l'échelle à Travers les Composants

Pour les prototypes complexes, j'ai créé des variantes d'éléments UI courants (boutons, champs de formulaire, éléments de navigation) qui héritent du système de traduction principal :


  • Button_Multi : Gère le texte des boutons dans toutes les langues

  • Form_Multi : Gère les étiquettes et les espaces réservés des formulaires

  • Nav_Multi : Contrôle la navigation et les éléments de menu


La beauté de ce système est qu'une fois que vous avez configuré les composants de base, ajouter de nouveaux écrans ou éléments prend autant de temps que de construire dans une seule langue. Vous utilisez simplement les composants Multi au lieu des composants texte réguliers.

Étape 5 : Optimisation de la Performance

Pour garder le prototype fluide, j'ai mis en œuvre deux optimisations cruciales :

- Chargement différé pour les couches de texte (seules les langues actives sont complètement rendues)

- Variables de style partagées qui évitent la duplication des tokens de design


Ce système a transformé la préparation de la présentation de 3 heures de mon client en un changement de langue de 30 secondes. Plus important encore, cela a impressionné les parties prenantes qui l'ont vu comme une preuve d'un développement de produit réfléchi et évolutif.

Commutation en temps réel
Les changements de langue se produisent instantanément dans tous les composants sans aucun délai ni état de chargement.
Mode Présentateur
Mode de présentation intégré qui cache le contrôleur de langue à la vue des parties prenantes
Efficace en mémoire
Ne rend que les calques de texte de la langue active pour maintenir une performance fluide.
Contrôle de version
Facile de mettre à jour les traductions sans briser la structure des composants.

L'impact a été immédiat et mesurable. Mon client est passé de 2-3 heures à préparer chaque présentation multilingue à changer de langue instantanément lors des démos en direct.

Retour des parties prenantes transformé :
Avant : "C'est génial, mais pouvons-nous voir comment cela fonctionnerait en allemand ?"
Réponse : "Bien sûr, donnez-moi 10 minutes pour mettre à jour le prototype..."

Après : "C'est génial, mais pouvons-nous voir comment cela fonctionnerait en allemand ?"
Réponse : *clique sur la liste déroulante* "Voilà."

L'impact psychologique a été énorme. Les parties prenantes ont cessé de considérer le support linguistique comme une considération future et ont commencé à le vivre comme une réalité actuelle. Cela a directement contribué à clôturer leur tour de série A deux semaines avant la date prévue.

Performance technique :

- Temps de chargement du prototype : Aucune augmentation notable (moins de 2 secondes)

- Vitesse de changement de langue : Instantanée (moins de 0,5 seconde)

- Maintenance des composants : Réduction de 75 % du temps passé à mettre à jour les traductions


Mais la vraie victoire a été culturelle. L'équipe de développement a commencé à penser à l'internationalisation dès le premier jour au lieu de traiter cela comme une fonctionnalité "à avoir" plus tard. Lorsque vous pouvez démontrer un support multilingue sans effort, cela devient partie intégrante de l'ADN de votre produit.

Learnings

What I've learned and
the mistakes I've made.

Sharing so you don't make them.

Voici les principaux enseignements que j'ai tirés de la construction et de la mise en œuvre de ce système de traduction personnalisé à travers plusieurs projets clients :

  1. La traduction est un problème d'expérience utilisateur, pas un problème de contenu. Au moment où j'ai cessé de penser à la gestion du texte et que j'ai commencé à penser à la gestion de l'expérience utilisateur, la solution est devenue évidente.

  2. Les démonstrations pour les parties prenantes sont des opportunités de vente. Lorsque votre prototype peut s'adapter instantanément aux préférences des parties prenantes (comme la langue), vous ne montrez pas seulement votre produit - vous prouvez la sophistication de votre équipe.

  3. La performance compte plus que les fonctionnalités. Un système de traduction lent et riche en fonctionnalités est pire qu'un système simple et rapide. Les parties prenantes pardonneront l'absence de fonctionnalités, mais elles ne pardonneront pas le retard.

  4. Construisez pour la présentation, pas pour le prototype. La plupart des solutions de traduction sont optimisées pour la gestion de contenu. Mais en réalité, 80 % des utilisations de prototypes multilingues se produisent lors de présentations en direct.

  5. La pensée par composants se développe. Le temps passé à construire des composants multilingues réutilisables rapporte des dividendes pour chaque écran que vous ajoutez. Pensez toujours en systèmes, pas en éléments individuels.

  6. Cachez la complexité aux utilisateurs. Le client n'a jamais besoin de comprendre comment fonctionne le système de traduction - il a juste besoin qu'il fonctionne de manière fiable quand il en a besoin.

  7. Testez avec du contenu réel tôt. Le Lorem ipsum ne révèle pas les problèmes d'expansion du texte. Le texte allemand est généralement 30 % plus long que l'anglais - vos composants doivent gérer cela avec aisance.

Cette approche fonctionne mieux pour les équipes qui présentent régulièrement des prototypes à des parties prenantes internationales et ont besoin d'un changement de langue professionnel et fiable. C'est excessif si vous avez juste besoin de montrer occasionnellement différentes variations de texte.

How you can adapt this to your Business

My playbook, condensed for your use case.

For your SaaS / Startup

  • Construire des prototypes multilingues pour des présentations aux investisseurs

  • Démo des fonctionnalités du produit sur différents marchés régionaux

  • Tester les flux utilisateurs avec une recherche utilisateur internationale

  • Présenter aux équipes de développement globales dans leur langue maternelle

For your Ecommerce store

  • Présentez des expériences d'achat localisées aux acheteurs internationaux

  • Tester les pages produits avec différents publics de marché

  • Démo des flux de paiement pour la planification de l'expansion mondiale

  • Présenter des interfaces de support client multilingues

Abonnez-vous à ma newsletter pour recevoir des playbooks business chaque semaine.

Inscrivez-moi !