Le Post Infeeny

Les articles des consultants et experts Infeeny

Localizing SharePoint Solutions

Session animée par Mike Ammerlaan

Nous allons parler ici de la localisation des solutions SharePoint et des éléments  utiles pour la mettre en place.

Le sommaire de la session : la localisation pour les utilisateurs, la localisation pour les solutions full trust, la localisation pour les solutions Sandbox.

SharePoint 2010 supporte la Multilangual User Interface (MUI). Les sites peuvent gérer autant de langues qu’il y a de language packs installés sur le serveur.

Par défaut,  la langue utilisée est celle du navigateur de l’utilisateur mais ce comportement pet être overridé.

On peut utiliser les variations pour les scénarios de sites internet multilingues.

On a langue principal du site, puis les langues additionnelles (en fonction des language packs installés).

Si le site ne supporte pas la langue préférée de l’utilisateur, SharePoint affiche la langue par défaut du site.
Certains éléments du site ne peuvent pas être localisés : les documents, les contenus, …

Après avoir décrit les différentes ressources présentes sur un site, on nous présente ceux pouvant être gérés par la MUI et ceux qui ne peuvent pas.

Les contrôles sont compatibles MUI par défaut.

Les titres des listes, des webparts, … sont compatibles MUI mais peuvent être modifiés par l’utilisateur.

Les contenus ne sont pas compatibles MUI.

Lorsque l’utilisateur choisit sa langue préférée, l’information est stockée dans la UserInfoList de la collection de sites. Il peut choisir une langue différente par collection.

Nous mettons en pratique tout ça en modifiant la langue courante. On constate que certains éléments ne sont pas traduits.

On nous présente la fonctionnalité « export translation » qui permet d’exporter un fichier resx .

On peut alors le modifier et le réimporter depuis l’interface du site pour localiser certains éléments.

Nous passons maintenant à la différence entre les solutions full trust et les Sandbox.

Pour chacune, nous voyons comment localiser les éléments suivants: les pages, les assemblies, les scripts et les fichiers xml.
D’abord, les solutions Full Trust.

Pour les pages :

  • On déploie les fichiers resx dans le dossier AppGlobalResources de la web application
  • On déploie les resources dans le dossier 14\Resources

Pour les assemblies :

  • On déploie dans AppGlobalResources et on utilise HttpContext.GetglobalResourceObject()

Pour les scripts :

  • On déploie les fichiers js dans les dossiers  1033-1036-10… dans le 14
  • Soit on fait 1 fichier js par langue pour les ressources + 1 fichier js pour les fonctions
  • Soit on fait 1 copie du fichier js pour chaque langue (moins recommandé)

Pour les fichiers xml :

  • On déploie les resources dans le dossier 14\Resources
  • On déploie les resources dans le dossier  Feature\Resources
  • On utilise la syntaxe suivante :  $Resources : …

Pour le packaging il y a 2 techniques :

  • 1 gros wsp qui contient tout
  • 1 core wsp + des wsp language packs

On met tout ça en pratique dans Visual Studio…

Après avec créé des fichiers de resx et montré leur appel, on  voit comment gérer les resources dans du Javascript avec l’utilisation de SP.ClientContext.WebLanguage.

On passe ensuite aux cas des solutions Sandbox.

Problèmes des solutions Sandbox, on ne peut pas déployer sur le file system du serveur, donc oubliez les fichiers resx dans 14\resources…

Pour les pages :

  • On déplace la logique coté client (js)
  • On utilise les resx OOTB
  • On fait une page différente par langue

Pour les assemblies :

  • On localise les assemblies

Pour les scripts :

  • Idem aux solutions full trust

Pour les fichiers xml

  • On déploie les fichiers resx dans le dossier de la feature

La session s’achève avec une démo de la solution Sandbox.

Il présente, entre autre, la création de dll localisées.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :