Accédez à vos fichiers de ressources selon la langue courante avec SharePoint 2010

Accédez à vos fichiers de ressources selon la langue courante avec SharePoint 2010


Récemment, j’ai eu besoin d’accéder à des fichiers de ressources déployés dans SharePoint depuis du code JavaScript afin d’appeler une méthode d’un web service SharePoint (qui se base presque tout le temps sur les noms d’affichages).

Après la lecture du très bon article, voici la solution finale que j’ai utilisée avec SharePoint 2010.

Contexte

Soit un projet SharePoint de base qui déploie certaines ressources:

ProjetVS

Avec les valeurs FR et EN:

Resources

Pour accéder à vos fichiers de ressources, SharePoint fournit le script ScriptResx.ashx qui permet de retourner un objet JavaScript vous permettant de manipuler vos ressources (nom de fichier en paramètre). Pour ne pas entrer en conflit avec les objets par défaut de SharePoint (SP.Res), vous devez modifier vos fichiers de ressources en XML en ajoutant ceci:

« MyApplication.Res » sera l’objet JavaScript à créer par ScriptResx.ashx.

Si je souhaite accéder à ces valeurs depuis du code JavaScript dynamiquement en fonction de la langue du site courant, il suffit maintenant d’insérer ce bout de script dans une page:

On utilise la variable L_Menu_LCID correspondant à la langue courante du site SharePoint permettant de déterminer la culture courante pour charger dynamiquement le bon fichier de ressources via ScriptResx.ashx. Attention, il est bien important que celui-ci soit exécuté en premier dans votre page sous peine d’avoir une erreur de référence inconnue!

Si vous regardez maintenant dans la console de votre navigateur:

ResDebug

A noter que la première lettre de chaque clé du fichier de ressources dans l’objet JavaScript est transformée en minuscule.

Note importante : Si vous éditez et sauvegardez votre fichier de ressources via l’éditeur par défaut de Visual Studio, vous perdrez vos modifications faites sur le « resheader ». Pour éviter cela, éditez votre fichier avec l’éditeur XML classique.

Liens utiles

+ There are no comments

Add yours