Comment : Recherchez les commandes de menu
Vous pouvez fournir du texte localisé pour les commandes de menu et de barre d'outils en créant les fichiers localisés de .vsct et les fichiers .resx localisés pour votre VSPackage, puis en mettant à jour les fichiers projet pour intégrer des modifications.
Pour plus d'informations sur la recherche de l'expérience d'installation, consultez Localisation de packages VSIX.
Localiser les noms de commandes
Dans les VSPackages, les commandes de menu et la barre d'outils sont définis dans le fichier de .vsct.
pour créer des commandes de menu localisées
Dans Explorateur de solutions, remplacez le nom du fichier de .vsct de nom de fichier.vsct à nom de fichier.en-US.vsct.
Effectuez une copie de nom de fichier.en-US.vsct pour chaque langue localisée.
nommez chaque copie nom de fichier.paramètres régionaux.vsct, où paramètres régionaux est un nom particulier de culture. Pour obtenir la liste des valeurs de nom de culture, consultez National Language Support (NLS) API Reference sur le site Web MSDN.
ces nom de fichier. les fichiers deparamètres régionaux.vsct contiendra le texte localisé de menu pour votre package.
ouvrez chaque nom de fichier. fichier deparamètres régionaux.vsct pour localiser le texte.
modifiez les valeurs d'élément de ButtonText comme appropriées pour le langage particulier.
si vous fournirez les icônes localisées, modifiez les valeurs de bitmap pour indiquer les fichiers cibles.
L'exemple suivant affiche le texte du bouton anglais et espagnol pour qu'une commande ouvre une fenêtre Outil de l'explorateur d'arborescence généalogique.
[FamilyTree.en-US.vsct]
<Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button"> <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/> <Icon guid="guidImages" id="bmpPic2" /> <Strings> <CommandName>cmdidFamilyTree</CommandName> <ButtonText>Family Tree Explorer</ButtonText> </Strings> </Button>
[FamilyTree.es-ES.vsct]
<Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button"> <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/> <Icon guid="guidImages" id="bmpPic2" /> <Strings> <CommandName>cmdidFamilyTree</CommandName> <ButtonText>Explorar Arboles de Familias</ButtonText> </Strings> </Button>
Localiser les autres ressources de texte
Les ressources de texte autres que des noms de commandes sont définies dans les fichiers de ressources (.resx).
pour créer des fichiers de ressources localisés
renommez VSPackage.resx à VSPackage.en-US.resx.
Créez une copie du fichier de VSPackage.en-US.resx pour chaque langue localisée.
nommez chaque copie VSPackage.paramètres régionaux.resx, où paramètres régionaux est un nom particulier de culture.
Renommez Resources.resx en Resources.en-US.resx.
Créez une copie du fichier de Resources.en-US.resx pour chaque langue localisée.
Nommez les ressources de chaque copie.paramètres régionaux.resx, où paramètres régionaux est un nom particulier de culture.
Ouvrez chaque fichier .resx pour modifier les valeurs de chaîne comme appropriées pour la langue et une culture particulière. L'exemple suivant illustre la définition localisée de ressource pour la barre de titre d'une fenêtre Outil.
[Resources.en-US.resx]
<data name="ToolWindowTitle" xml:space="preserve"> <value>Family Tree Explorer</value> </data>
<data name="ToolWindowTitle" xml:space="preserve"> <value>Family Tree Explorer</value> </data>
[Resources.es-ES.resx]
<data name="ToolWindowTitle" xml:space="preserve"> <value>Explorador de los Arboles de Familia</value> </data>
<data name="ToolWindowTitle" xml:space="preserve"> <value>Explorador de los Arboles de Familia</value> </data>
Incorporer des ressources localisées dans le projet
Vous devez modifier le fichier assemblyinfo.cs et le fichier projet pour incorporer les ressources localisées.
Pour incorporer des ressources localisées au projet
Depuis le nœud de Propriétés dans Explorateur de solutions, ouvrez assemblyinfo.cs ou assemblyinfo.vb dans l'éditeur.
ajoutez l'entrée suivante.
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
Cela définit l'Anglais américain comme langue par défaut.
déchargez le projet.
ouvrez le fichier projet dans l'éditeur.
Localisez l'élément d' ItemGroup qui contient des éléments d' EmbeddedResource .
Dans l'élément d' EmbeddedResource qui appelle VSPackage.en-US.resx, remplacez l'élément d' ManifestResourceName par un élément d' LogicalName , affectez à VSPackage.en-US.Resources, comme suit.
<EmbeddedResource Include="VSPackage.en-US.resx"> <MergeWithCTO>true</MergeWithCTO> <LogicalName>VSPackage.en-US.Resources</LogicalName> </EmbeddedResource>
Pour chaque langue localisée, copiez l'élément d' EmbeddedResource pour VsPackage.en-US, et affectez à l'attribut d' Inclure et l'élément de LogicalName de la copie aux paramètres régionaux cibles, comme indiqué dans l'exemple suivant.
À chaque élément localisé d' VSCTCompile , ajoutez un élément de ResourceName qui indique Menus.ctmenu, comme indiqué dans l'exemple suivant.
<ItemGroup> <VSCTCompile Include="LocalizedPackage.es-ES.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
Enregistrez le fichier projet et rechargez le projet.
Générez le projet.
Cela crée un assembly principal, et les assemblys de ressources pour chaque langage. Pour plus d'informations sur recherche le processus de déploiement, consultez Localisation de packages VSIX
Voir aussi
Tâches
Comment : Créer et gérer des commandes dans les VSPackages (c#)
Autres ressources
Tâches courantes avec des commandes, des menus, et les barres d'outils