Localización de comandos de menú
Puede proporcionar texto localizado para los comandos de menú y barra de herramientas creando archivos .vsct localizados y archivos .resx localizados para vsPackage y, a continuación, actualizando los archivos de proyecto para incorporar los cambios.
Para obtener información sobre cómo localizar la experiencia de instalación, vea Localizar paquetes VSIX.
Localizar nombres de comandos
En VSPackages, los comandos de menú y los botones de la barra de herramientas se definen en el archivo .vsct .
En Explorador de soluciones, cambie el nombre del archivo .vsct de filename.vsct a filename.en-US.vsct.
Realice una copia de filename.en-US.vsct para cada idioma localizado.
Asigne un nombre a cada nombre de archivo de copia .{ Locale}.vsct, donde {Locale} es un nombre de referencia cultural determinado. Para obtener una lista de valores de nombre de referencia cultural, consulte Identificadores de configuración regional asignados por Microsoft.
Este nombre de archivo. Los archivos Locale.vsct contendrán el texto del menú localizado del paquete.
Abra cada nombre de archivo. Archivo Locale.vsct para localizar el texto.
Modifique los valores del elemento ButtonText según corresponda para el idioma determinado.
Si proporcionará iconos localizados, modifique los valores de mapa de bits para que apunten a los archivos de destino.
En el ejemplo siguiente se muestra el texto del botón inglés y español de un comando para abrir una ventana de herramientas del Explorador de árboles de familia.
[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 el arbol genealogico</ButtonText> </Strings> </Button>
Localizar otros recursos de texto
Los recursos de texto distintos de los nombres de comando se definen en los archivos de recursos (.resx).
Cambie el nombre de VSPackage.resx a VSPackage.en-US.resx.
Realice una copia del archivo VSPackage.en-US.resx para cada idioma localizado.
Asigne a cada copia el nombre VSPackage.{ Locale}.resx, donde {Locale} es un nombre de referencia cultural determinado.
Cambie el nombre de Resources.resx a Resources.en-US.resx.
Realice una copia del archivo Resources.en-US.resx para cada idioma localizado.
Asigne a cada copia el nombre Resources.{ Locale}.resx, donde {Locale} es un nombre de referencia cultural determinado.
Abra cada archivo .resx para modificar los valores de cadena según corresponda para el idioma y la referencia cultural concretos. En el ejemplo siguiente se muestra la definición de recursos localizada para la barra de título de una ventana de herramientas.
[Resources.en-US.resx]
<data name="ToolWindowTitle" xml:space="preserve"> <value>Family Tree Explorer</value> </data>
[Resources.es-ES.resx]
<data name="ToolWindowTitle" xml:space="preserve"> <value>Explorador del arbol genealogico</value> </data>
Incorporación de recursos localizados en el proyecto
Debe modificar el archivo assemblyinfo.cs y el archivo de proyecto para incorporar los recursos localizados.
En el nodo Propiedades de Explorador de soluciones, abra assemblyinfo.cs o assemblyinfo.vb en el editor.
Agregue la entrada siguiente.
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
Esto establece inglés de EE. UU. como idioma predeterminado.
Descargue el proyecto.
Abra el archivo del proyecto en el editor.
En el elemento raíz
Project
, agregue unPropertyGroup
elemento con unUICulture
elemento que coincida con el idioma predeterminado.<PropertyGroup> <UICulture>en-US</UICulture> </PropertyGroup>
Esto establece inglés de EE. UU. como la referencia cultural de interfaz de usuario predeterminada para los controles de Windows Presentation Foundation (WPF).
Busque el
ItemGroup
elemento que contieneEmbeddedResource
elementos.En el
EmbeddedResource
elemento que llama a VSPackage.en-US.resx, reemplace elManifestResourceName
elemento por unLogicalName
elemento establecidoVSPackage.en-US.Resources
en , como se indica a continuación:<EmbeddedResource Include="VSPackage.en-US.resx"> <MergeWithCTO>true</MergeWithCTO> <LogicalName>VSPackage.en-US.Resources</LogicalName> </EmbeddedResource>
Para cada idioma localizado, copie el
EmbeddedResource
elemento paraVsPackage.en-US
y establezca el atributo Include y el elemento LogicalName de la copia en la configuración regional de destino.Para cada elemento localizado, agregue un
ResourceName
elemento que apunteVSCTCompile
aMenus.ctmenu
, como se muestra en el ejemplo siguiente:<ItemGroup> <VSCTCompile Include="LocalizedPackage.es-ES.vsct"> <ResourceName>Menus.ctmenu</ResourceName> </VSCTCompile> </ItemGroup>
Guarde el archivo del proyecto y vuelva a cargar el proyecto.
Compile el proyecto.
Esto crea un ensamblado principal y ensamblados de recursos para cada lenguaje. Para obtener información sobre cómo localizar el proceso de implementación, consulte Localización de paquetes VSIX.