Rejoignez-Nous sur

Comment Coinbase est devenu international – Le blog Coinbase

0*1 U8n S6UmE LLNU

News

Comment Coinbase est devenu international – Le blog Coinbase

Par Melissa Zhang

La crypto dans son cœur a toujours été destinée à un public mondial. Le bitcoin et les autres crypto-monnaies n'ont pas de concept de frontières, ce qui permet de transférer de la valeur de manière transparente sur Internet.

La vision et la mission de Coinbase est de construire un ouvert système financier mondial. À la mi-2017, Coinbase soutenait des traductions en huit langues et opérait dans 32 pays, principalement en Europe et en Amérique du Nord.

Cependant, alors que notre croissance internationale s'accélérait en 2018, notre équipe d'ingénieurs a commencé à faire face à des limitations techniques qui entraveraient notre stratégie internationale, limitant ainsi notre capacité à rendre la cryptographie accessible à tous.

Il existe de nombreux facteurs qui entrent dans l'expansion internationale, notamment le respect des réglementations, l'intégration aux méthodes de paiement locales, la dotation en équipes de soutien avec des locuteurs natifs et la conception UX.

Ce message se concentrera principalement sur la technique les défis auxquels l'équipe d'ingénierie de Coinbase a dû faire face autour de l'internationalisation (alias i18n) et de la localisation (alias l10n) au cours de cette période de croissance internationale, et surtout, la séquence de solutions. Les principaux défis étaient principalement: la fragmentation entre les plates-formes, le manque d'infrastructure de traduction, la mauvaise qualité de la traduction et la culture et les processus i18n manquants.

Notre équipe a commencé par rechercher des recherches existantes, mais a rapidement constaté qu'il n'y avait pas beaucoup de ressources publiques disponibles pour construire une infrastructure internationale évolutive. Nous savions qu'un certain nombre d'entreprises réussissaient déjà à le faire, nous avons donc commencé à tendre la main aux personnes de nos propres réseaux. Nous avons constaté que les experts en localisation d'entreprises telles que Netflix, Airbnb et Pinterest étaient plus qu'heureux de partager leurs connaissances et leurs expériences avec nous.

Ce poste et notre infrastructure de localisation actuelle sont l'aboutissement de cet effort pour construire un pipeline de traduction de classe mondiale qui soutiendrait tous les pays du monde.

Coinbase.com en allemand avant la mise à niveau (2015 à mi-2018), 32 pays, 8 langues

Localisation multiplateforme

Un défi majeur était le manque de standardisation entre les clients autour de la localisation. La plupart des navigateurs et des appareils mobiles ont aujourd'hui des API de localisation intégrées qui utilisent CLDR (référentiel géré par le consortium Unicode pour la normalisation des informations de localisation). Cependant, lorsque vous commencez à passer aux navigateurs, la prise en charge de ces API commence à fluctuer, nécessitant des remplissages multiples et des maux de tête (IE ne prend pas en charge la Intl objet du tout!). Pour créer une expérience cohérente et réduire les performances de l'inclusion de ces grandes bibliothèques polyfill, le produit Web prend désormais en charge uniquement les derniers navigateurs qui sont activement maintenus.

Les systèmes d'exploitation mobiles, tels que iOS et Android, d'autre part, ont des comportements de localisation intégrés qui varient légèrement mais sont très bons dans ce qu'ils font. Nous avons rapidement réalisé que remplacer ces API natives serait extrêmement difficile et conduirait à un comportement plus imprévisible et à une expérience client médiocre. En conséquence, nous avons choisi de laisser les applications se localiser avec leurs bibliothèques natives couplées à une API locale agnostique. Cette approche est conforme à la séparation des données et de la présentation entre les API et les clients.

Un autre problème courant rencontré est que certaines plates-formes ont des comportements de repli locaux différents. Par exemple, sur iOS, si une application ne prend en charge que l'espagnol latino-américain (es-LA), un utilisateur dont la langue maternelle est définie sur l'espagnol mexicain (es-MX) devrait recourir à es-LA. Ce comportement était différent sur les plates-formes où sur le Web, le même client verrait en fait des traductions de l'espagnol castillan (es-ES), qui est une langue complètement différente.Le correctif ici n'était pas aussi simple que d'enregistrer les paramètres régionaux souhaités de l'utilisateur, car sur mobile périphériques, les paramètres régionaux sont déterminés par les paramètres du périphérique. Remplacer ce comportement du système d'exploitation avec les paramètres régionaux d'un serveur, comme indiqué précédemment, est difficile et pourrait entraîner des bogues imprévus.Nous ne pouvons donc pas simplement ajouter un sélecteur de paramètres régionaux sur l'application pour permettre aux utilisateurs de modifier leurs paramètres régionaux. Au lieu de cela, nous détecterions les modifications apportées aux paramètres régionaux de l'appareil et définirions ces nouveaux paramètres régionaux sur le serveur, ce qui permettrait à cette modification de se propager aux e-mails et à notre site Web. La standardisation de ce comportement de secours et la persistance des paramètres régionaux des utilisateurs sont quelques-unes des initiatives clés que nous avons prises pour améliorer l'expérience client.

Création d'une infrastructure de traduction

Notre plateforme de gestion de la traduction existante commençait à montrer des fissures à mesure que nos efforts internationaux et notre surface de produit augmentaient. Chaque plate-forme avait également sa propre intégration avec notre plate-forme de gestion de traduction existante, ce qui a conduit à un travail en double. En raison de cette fragmentation, l'ajout de nouvelles langues ou la prise en charge des traductions pour un nouveau produit était un processus lourd, nécessitant plusieurs jours à plusieurs semaines de temps d'ingénierie. Sur Android par exemple, le flux de travail était entièrement manuel, ce qui signifie qu'un gestionnaire de versions compilerait toutes les chaînes sources et les téléchargerait via l'interface de la plateforme de gestion de la traduction. Si quelqu'un oublie de le faire, il n'y aura pas de nouvelles traductions pour cette version!

En raison de ces contraintes, l'automatisation serait la fonction numéro un à poursuivre. Nous avons été inspirés par Pinterest qui est capable de maintenir un pipeline de localisation de classe mondiale avec une équipe de localisation très allégée. De même, nous voulions créer une expérience de développeur permettant aux ingénieurs d'internationaliser facilement et rapidement leurs fonctionnalités. En théorie, tout ce qu'un ingénieur aurait à faire serait de marquer ses chaînes pour la traduction et l'outillage s'occuperait du reste. Bien que cette partie du pipeline de traduction puisse être automatisée, certaines parties telles que l'assurance qualité restent un processus manuel. Pour ces cas, nous devrions par défaut le traiter et l'inclure comme étape dans notre cycle de publication.

Avec cette stratégie à l'esprit, notre équipe a conçu un flux de travail de traduction pour l'avenir. Les éléments clés de ce processus comprenaient la recherche d'une plate-forme de gestion de la traduction qui évoluerait à mesure que la croissance internationale se poursuivrait, la construction d'une interface commune pour les services et les clients pour accéder aux traductions, tout en ajoutant un QA de traduction au cycle de publication.

Nouveau workflow de traduction avec Translation Service et QA. Image reproduite avec l'aimable autorisation d'Arjang Navab.

Recherche d'un TMS

L'année dernière, la recherche d'une nouvelle plateforme de gestion de la traduction (TMS) a commencé. En réfléchissant à ce qui serait exigé d'un fournisseur, certaines de nos principales exigences étaient les suivantes:

Après avoir évalué quelques fournisseurs TMS, nous avons finalement choisi un fournisseur qui répondait à tous ces critères.

Création d'une interface i18n commune

L'étape suivante consistait à créer une interface commune permettant aux services d'accéder aux traductions. Pour ce faire, nous avons construit un service de traduction écrit en Golang qui se situe entre les clients et le TMS. Le service valide tous les fichiers entrants en cas d'attaquant malveillant compromettant le TMS. Le service permet également un meilleur contrôle sur notre contenu et fournit des traductions à la volée. Par exemple, sur le Web, nous regroupions auparavant toutes les traductions avec l'application, ce qui représentait plus de 75% de la taille de notre ensemble. En nous intégrant au service de traduction, nous avons pu extraire les traductions de manière dynamique en fonction des paramètres régionaux de l'utilisateur, réduisant ainsi notre temps d'interactivité de 27%.

La standardisation de notre intégration avec le TMS sur tous les clients permet de déployer rapidement les modifications dans notre flux de traduction. L'ajout de nouvelles langues est désormais aussi simple que la coordination avec des traducteurs et quelques lignes de code. Depuis le début de ce projet, nous avons ajouté 10 nouvelles langues dans 102 pays et une assistance à la traduction pour notre produit Commerce et nos outils internes. À l'avenir, vous verrez de nombreux autres produits Coinbase commencer à prendre en charge les traductions, ainsi qu'une prise en charge linguistique étendue.

Amélioration de la qualité de la traduction

Bien que nous ayons pris en charge les traductions, la qualité de ces traductions n'était pas comparable aux produits créés par des locuteurs natifs. Pour que les clients trouvent de la valeur dans le produit, il doit non seulement prendre en charge les traductions mais ressentir local. Un certain nombre de facteurs contribuent à un sentiment de produit local, notamment les fonctionnalités spécifiques aux paramètres régionaux et l'interface utilisateur / UX, mais la première étape a été de se concentrer sur l'amélioration de la qualité de la traduction.

Le problème le plus courant était le manque de contexte, où les traducteurs traduisaient les chaînes isolément sans le contexte de la plus grande application. Pour résoudre ce problème, nous avons imposé l'ajout de descriptions à toutes les chaînes via des linters pour chaque plate-forme. Les images ont également été téléchargées sur le TMS via un outil de capture d'écran automatisé afin de contextualiser l'utilisation des chaînes, ce qui aiderait les traducteurs à voir comment la chaîne est utilisée dans l'application. De plus, nous avons remanié notre glossaire de termes courants avec une terminologie spécifique à l'industrie.

L'assurance qualité a également joué un rôle important dans l'amélioration de la qualité de la traduction. Suivant le modèle de Pinterest, nous avons également identifié des propriétaires internes pour des langues spécifiques afin de résoudre les problèmes de qualité et les bugs de triage. Les employés sont encouragés à utiliser le produit dans une langue différente pour comprendre les points faibles du client. Notre équipe travaille actuellement à avoir des propriétaires de langues pour chaque langue et explore également des fournisseurs tiers pour le contrôle qualité.

Coinbase.com en allemand (mars 2020 – maintenant), 102 pays, 18 langues

Faire de l'international un citoyen de première classe

Construire un produit international n'est pas quelque chose qui se produit en même temps, c'est un processus continu. Ce n'est pas quelque chose qu'une personne ou une équipe peut résoudre par elle-même: les concepteurs doivent concevoir pour différentes contraintes de langue, telles que la taille des caractères, la longueur des mots ou éventuellement des langues de droite à gauche. Les rédacteurs doivent penser au genre et à la pluralité dans différentes langues. Les ingénieurs sont tenus de marquer toutes leurs chaînes tôt pour la traduction et de créer une interface utilisateur réactive. Les chefs de produit doivent réfléchir à la façon dont certaines fonctionnalités vont changer le comportement des clients internationaux. Une grande partie de cela implique de former de nouveaux employés et de faciliter la réflexion internationale des gens.

Offrir à nos clients une grande expérience internationale est un tremplin essentiel pour la construction d'un global système financier.

Si vous souhaitez nous aider à réaliser cette mission, visitez notre carrières page.



Traduction de l’article de Coinbase : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top