Traduire SharePoint 2013

Sep 11, 2012

On m’a récemment demandé de me pencher sur les possibilités et les nouveautés en termes de multilinguisme de SharePoint 2013. Aussi plutôt que de réaliser un n-ième article sur le nouveau Machine Translation Service apparu avec la beta, j’ai essayé de traiter le sujet de manière vaste à savoir : comment faire pour rendre mon SharePoint 100% multilingue ? A noter que cet article est basé sur la beta de SharePoint 2013, il se peut que les choses changent d’ici là.

Les Packs de langue La première étape pour rendre SharePoint un peu multilingue est d’installer les packs de langues. Ces derniers existent depuis assez longtemps, ce sont des packages de ressources qui permettent, une fois installés, d’obtenir les menus et interfaces de SharePoint dans des langues différentes. Ils vont même jusqu’à permettre la création de sites dans une langue différente (noms de liste, de pages, textes de démarrage…) mais une fois le site créés ces éléments stockés en base de données ne varient plus en fonction de la langue. Leur installation doit être effectuée sur chaque serveur de la ferme par un administrateur de la ferme et implique une interruption de service.

La traduction de sites Penchons-nous maintenant sur la traduction de sites et d’une partie du contenu, à savoir le nom du site, sa description, les noms de listes, leur description, idem pour les colonnes etc… Certains développeurs auront remarqué l’existence depuis SharePoint 2010 (ou avant ?) des méthodes ExportUserResources et ImportUserResources sur l’objet SPWeb. A quoi servent-elles au juste ? Personne ne sait trop. En fait ces méthodes génèrent dynamiquement des fichiers de ressources (resx, que les développeurs .NET connaissent bien) qui permettent la traduction des éléments cités plus haut au sein du web courant. Le fonctionnement est donc le suivant, on a plusieurs packs de langue d’installés sur la ferme, on demande la génération d’un fichier de ressources concernant la langue dans laquelle on veut traduire les éléments (avec possibilité de n’avoir que ce qui n’est pas encore traduit).Une fois le resx obtenu, on le traduit et on le ré-upload, les labels concernées en base de données utilisent maintenant les mécaniques de ressources et changent en fonction de la langue de l’utilisateur. Nouveauté avec SharePoint 2013, l’administrateur peut demander leur génération directement depuis l’interface graphique (et les uploader aussi) afin d’être autonome sur la traduction de sa collection de sites.

0385.tradSP1501.jpg

Les variations Les variations sont des mécaniques bien connues au sein des collections de sites consistant à dupliquer le contenu en suivant un processus de publication via les fonctionnalités de publication. Le tout pour qu’un traducteur (humain) passe derrière au niveau du contenu généré et effectue la traduction. Le visiteur est ensuite redirigé vers la version du contenu correspondant à sa langue d’utilisation. Pour fonctionner les variations de langues s’appuient aussi sur l’installation de packs de langue, i.e : on ne peut pas créer une variation de site web dans une langue qui n’est pas installée sur la ferme. Les métadonnées Enfin, fonction très utilisée de SharePoint Server, les métadonnées ont la possibilité d’être traduites à la main (encore une fois il faut avoir les packs de langue installés pour pouvoir le faire)

Le Machine Translation Service Avant toute chose ce nouveau service est très bien expliqué ici par Microsoft, https://bit.ly/P8aVEL il y a une vidéo explicative, de la documentation, des exemples de code, le tout en Anglais mais c’est très instructif. Je vais tâcher de vous faire un bref résumé. Ce nouveau service qui fait son apparition avec SharePoint 2013 se base sur l’architecture du Word Automation Service (qui pour rappel permet d’automatiser la conversion de documents). Il permet d’effectuer de la traduction automatique de contenu au sein de SharePoint. Il se base sur le Cloud de Microsoft pour ce qui est du moteur de traduction. Son architecture est simple, les utilisateurs accédant à du contenu vont demander la traduction de ce dernier. La web application qui porte la collection de site va faire appel au service SharePoint de traduction qui va soit effectuer directement la requête de traduction au Cloud de Microsoft (cas d’une requête synchrone) soit mémoriser la demande et l’effectuer lors de l’exécution d’un timerjob (avec d’autres requêtes en attente qu’il aura mémorisé potentiellement, cas d’une requête asynchrone). Ce service est accessible via code serveur (SSOM), code client (CSOM), API Rest, ou batch.

L’intégration de ce service L’intérêt de ce service réside dans son intégration avec les autres fonctionnalités de SharePoint dédiées/impliquées dans le multilinguisme. Ainsi on le retrouvera présent au niveau de la gestion des métadonnées, aves la possibilité pour l’administrateur des terms stores de demander la traduction de tous les termes actuellement non traduits. Ce service est aussi présent au niveau des variations, avec une intégration complète dans le processus de publication et de duplication du contenu qui permet de spécifier à SharePoint de traduire le contenu à la volée avant de le dupliquer. Entendons-nous bien, il est clair qu’une traduction automatique, fournie par quelque prestataire que ce soit, est loin d’égaler une traduction professionnelle. Mais il s’agît ici avant tout d’apporter aux publicateurs la possibilité de délivrer du contenu dans plusieurs langues plus facilement et plus rapidement. Il s’agît aussi de proposer à l’utilisateur qui consulte l’information une interface dans sa langue avec du contenu dans sa langue, ce qui est toujours mieux qu’une langue qu’il ne parle pas.

4670.tradSP1502.jpg

4263.tradSP1503.jpg

2514.tradSP1504.jpg

8484.tradSP1505.jpg

0385.tradSP1506.jpg

2022.tradSP1507.jpg

Conclusion Nous avons enfin la possibilité de traduire de bout en bout notre contenu SharePoint et d’avoir une interface qui s’adapte complétement à notre utilisateur sans que cela demande trop d’effort. La traduction professionnelle sera évidemment un plus non négligeable pour la qualité du contenu généré. Note : actuellement le Machine Translation Service ne fonctionne pas dans la version beta publique, il plante et génère un message d’erreur dans les logs. Cela a surement été corrigé dans une mise à jour interne de la beta mais n’ayant pas accès à ce genre d’informations je ne peux ni le confirmer ni l’infirmer. De plus si j’avais accès à ce genre d’information je serais surement sous NDA à ce sujet.


Edité la dernière fois le 15 Apr 2024 par Vincent Biret


Tags: