Localizar soluciones de SharePointLocalize SharePoint solutions

El proceso de preparar las aplicaciones para que se pueden usar en todo el mundo se conoce como la localización.The process of preparing your applications so that they can be used worldwide is known as localization. Localización es traducir los recursos para una referencia cultural concreta.Localization is translating resources to a specific culture. Para obtener más información, consulte Globalizar y localizar aplicaciones.For more information, see Globalizing and Localizing Applications. En este tema se proporciona información general sobre cómo localizar una solución de SharePoint.This topic provides an overview on how to localize a SharePoint solution.

Para localizar una solución, quite del código las cadenas codificadas de forma rígida e inclúyalas en archivos de recursos.To localize a solution, you remove hard-coded strings from the code and abstract them into resource files. Un archivo de recursos es un XMLXML-basado en archivo con un .resx extensión.A Resource file is an XMLXML-based file with a .resx extension. El archivo de recursos contiene las versiones traducidas de las cadenas usadas en la solución.The resource file contains the translated versions of the strings used in your solution. Para obtener más información, consulte recursos en aplicaciones.For more information, see Resources in Applications.

Note

Agregar recursos de cadena solo a los archivos de recursos de solución de SharePoint.Add only string resources to SharePoint solution resource files. Aunque el Editor de recursos permite agregar recursos que no son de cadena, los recursos que no son de cadena no se implementan en SharePoint.Although the Resource Editor enables you to add non-string resources, non-string resources do not deploy to SharePoint.

Archivos de recursosResource files

Hay tres tipos de archivos de recursos: predeterminado, independiente del idioma y específico del idioma.There are three kinds of resource files: default, language-neutral, and language-specific.

Tipo de archivo de recursosResource File Type DescripciónDescription
DefaultDefault También conocido como un recurso de reserva, archivos de recursos predeterminados contienen cadenas localizadas en la referencia cultural predeterminada, como el inglés.Also known as a fallback resource, default resource files contain strings localized for the default culture, such as English. Se usan si no se encuentra ningún archivo de recursos localizados para el idioma especificado.They are used if no localized resource files for the specified language can be found. Los recursos predeterminados no tienen archivos independientes y se almacenan en el ensamblado principal de la aplicación.Default resources do not have separate files, they are stored in the main application assembly.
Idioma neutroLanguage-neutral Un archivo de recursos que contiene cadenas localizadas en un idioma, pero no una referencia cultural concreta.A resource file that contains strings localized for a language, but not a specific culture. Por ejemplo, "fr" para francés.For example, "fr" for French.
Específico del lenguajeLanguage-specific Un archivo de recursos que contiene cadenas localizadas en un idioma y una referencia cultural.A resource file that contains strings localized for a language and a culture. Por ejemplo, "fr-CA" para francés canadiense.For example, "fr-CA" for French Canadian.

Para obtener más información, consulte organización jerárquica de recursos para la localización.For more information, see Hierarchical Organization of Resources for Localization.

Para especificar archivos de recursos predeterminados en los proyectos de SharePoint que desarrolle en Visual StudioVisual Studio, elija todos los idiomas (todos los países) en la lista de referencia cultural de la Agregar recurso cuadro de diálogo cuando se Agregue un archivo de recursos.To specify default resource files in SharePoint projects that you develop in Visual StudioVisual Studio, choose Invariant Language (Invariant Country) in the culture list of the Add Resource dialog box when you add a resource file.

Localizar soluciones de SharePoint de Visual StudioLocalize Visual Studio SharePoint solutions

Al localizar una solución, debe considerar toda la información textual que la solución se muestra a los usuarios.When you localize a solution, you should consider all of the textual information that your solution displays to users. Los mensajes informativos, mensajes de error, y IUUI cadenas deben traducirse y estas traducciones se colocan en los archivos de recursos.Informational messages, error messages, and IUUI strings must be translated and those translations placed in the resource files.

Todas las cadenas en un archivo de recursos tienen un identificador único.Every string in a resource file has a unique identifier. Use el mismo identificador de la cadena traducida en cada archivo de recursos.Use the same identifier for the translated string in each resource file. Por ejemplo, si "String1" es el identificador de la primera cadena en el archivo de recursos predeterminado, use el mismo identificador de la primera cadena en los archivos de recursos específicos del idioma.For example, if "String1" is the identifier for the first string in the default resource file, use the same identifier for the first string in the language-specific resource files.

Hay tres áreas que normalmente se localiza en Visual StudioVisual Studio las aplicaciones de SharePoint: características, el marcado de páginas ASPX y el código.There are three areas you typically localize in Visual StudioVisual Studio SharePoint applications: features, ASPX page markup, and code. Con fines ilustrativos, en las secciones siguientes se suponen que tiene una solución de SharePoint que desea traducir al alemán y japonés.For purposes of illustration, the following sections assume you have a SharePoint solution that you want to localize into German and Japanese. El idioma predeterminado es inglés.The default language is English.

Localizar las característicasLocalize features

Para localizar una característica, tiene que reemplazar el codificado de forma rígida título y descripción de la característica con una expresión que hace referencia al título traducido y la cadena en el archivo de recursos localizados.To localize a feature, you have to replace the hard-coded title and description of the feature with an expression that references the translated title and string in the localized resources file. Para realizar este cambio en el característica Diseñador en Visual StudioVisual Studio.You make this change in the Feature Designer in Visual StudioVisual Studio. Para obtener más información, consulte Cómo: localizar una característica.For more information, see How to: Localize a feature.

Para localizar una característica en inglés al alemán y japonés, agregue tres elementos de proyecto del archivo de recursos al proyecto: uno para el inglés, uno para el alemán y otro para japonés.To localize your English feature into German and Japanese, you add three Resource File project items to your project: one for English, one for German, and one for Japanese. Archivos de recursos de la característica no se puede usar para localizar el marcado ASPX ni el código; archivos de recursos independientes son necesarios para ellos.Feature resource files cannot be used to localize ASPX markup or code; separate resource files are required for them.

Después de crear la función de los archivos de recursos, agregue las cadenas traducidas a ellos.After you create the feature resource files, add translated strings to them. Obtener acceso a las cadenas localizadas con una expresión en el formato siguiente:Access the localized strings with an expression in the following format:

$Resources:String ID  

Características de los recursos de Visual StudioVisual Studio se denominan siempre Resources.Feature resources in Visual StudioVisual Studio are always named Resources. Si selecciona un idioma distinto del idioma invariable, a continuación, una referencia cultural Id.ID se agrega al nombre del archivo de recursos.If you select a language other than Invariant Language, then a culture Id.ID is added to the resource file name. Por ejemplo, si agrega un archivo de recursos de la característica de todos los idiomas (valor predeterminado), se denomina Resources.resx.For example, if you add an invariant language (default) feature resource file, it is called Resources.resx. Si agrega un recurso de características específico del idioma seleccionando una referencia cultural japonés (Japón), el archivo se denomina Resources.ja-JP.resx.If you add a language-specific feature resource by selecting a culture of Japanese (Japan), the file is called Resources.ja-JP.resx. Nombres de archivo de recursos de características se asignan automáticamente y no se puede cambiar.Feature resource file names are automatically assigned and cannot be changed.

El ámbito de recursos de características es local para la característica que se agregan a.The scope of feature resources is local to the feature they are added to. Para crear los recursos que se pueden usar cualquier archivo de características o los elementos de la solución, agregue un archivo de recursos globales elemento de proyecto en lugar de un archivo de recursos de característica.To create resources that can be used by any feature or element file in the solution, add a Global Resources File project item instead of a feature resource File. El archivo de recursos globales se encuentra el elemento de proyecto en el 2010 carpeta bajo SharePoint en el Agregar nuevo elemento cuadro de diálogo.The Global Resources File project item is located in the 2010 folder under SharePoint in the Add New Item dialog box. Archivos de recursos globales se implementación en la carpeta \Resources de la carpeta raíz de SharePoint.Global resources files deploy to the \Resources folder of the SharePoint root folder.

Localizar el marcado de páginas ASPXLocalize ASPX page markup

Para localizar ASP.NETASP.NET páginas, agregue tres elementos de proyecto de archivo de recursos al proyecto: uno para el inglés, uno para el alemán y otro para japonés.To localize ASP.NETASP.NET pages, you add three Resources File project items to your project: one for English, one for German, and one for Japanese. Si no tiene que localizar código además del marcado, en su lugar, puede agregar archivos de recursos globales.If you do not have to localize code in addition to the markup, you can instead add Global Resources Files.

Proporcione un nombre para el archivo de recursos de idioma predeterminado.Provide a name for the default language resource file. Asignar a los archivos de recursos localizados el mismo nombre que se anexa a la referencia cultural específica del lenguaje Id.ID.Give the localized resource files the same name appended with the language-specific culture Id.ID. Por ejemplo, MyAppResources.de-DE.resx para alemán y MyAppResources.ja-JP.resx para japonés.For example, MyAppResources.de-DE.resx for German and MyAppResources.ja-JP.resx for Japanese.

Establecer el tipo de implementación propiedad de cada archivo de recursos para AppGlobalResource.Set the Deployment Type property of each resource file to AppGlobalResource. Esto hace que los archivos de recursos implementar en la carpeta App_GlobalResources, donde estarán disponibles para todas las páginas ASPX y controles en la solución.This causes the resource files to deploy to the App_GlobalResources folder, where they are available to all ASPX pages and controls in the solution. La carpeta App_GlobalResources se encuentra en C:\inetpub\wwwroot\wss\VirtualDirectories\< número de puerto>\App_GlobalResources.The App_GlobalResources folder is located in C:\inetpub\wwwroot\wss\VirtualDirectories\<port number>\App_GlobalResources.

Note

Si usa archivos de recursos que no son globales, muévalos a la carpeta de elementos de proyecto para habilitar la propiedad Deployment Type y otras propiedades específicas de SharePoint.If you use non-global resource files, move them into the project item folder to enable the Deployment Type property and other SharePoint-specific properties.

Archivos de recursos de marcado ASPX también se pueden usar para localizar el código.ASPX markup resource files can also be used to localize code. Si usa los recursos para localizar código además del marcado ASPX, deje la acción de compilación configuración de la propiedad de cada archivo como Embedded Resource para que el recurso para compilar en un ensamblado satélite.If you are using the resources to localize code in addition to ASPX markup, leave the Build Action property setting of each file as Embedded Resource to cause the resource to compile into a satellite assembly. Sin embargo, si está usando los archivos de recursos para localizar el marcado, también puede cambiar acción de compilación al contenido para impedir que el archivo que se compilan en el ensamblado principal de la aplicación.However, if you are using the resource files only to localize markup, you can optionally change Build Action to Content to prevent the file from being compiled into the main application assembly.

Reemplace todas las cadenas de propiedad codificadas de forma rígida en el marcado de controles y páginas ASPX por una expresión en el siguiente formato:Replace all hard-coded property strings in your ASPX pages and controls markup with an expression in the following format:

<asp:<class> runat="server" Text="<%$Resources:<Resource File Name>, <String ID>%>" />  

Por ejemplo:For example:

<asp:Button ID="btn1" runat="server" onclick="btn1_Click" Text="<%$Resources:Resource1,String7%>"></asp:Button>  

Para ASPX como texto, use una expresión en el formato siguiente:For ASPX as text, use an expression in the following format:

<asp:literal ID="<ID>" runat="server" Text="<%$Resources:<Resource File Name>, <String ID>%>" />  

Por ejemplo:For example:

<asp:literal ID="Literal1" runat="server" Text="<%$Resources:Resource1, String9%>" />  

Para obtener más información, consulte Cómo: marcado ASPX localizar.For more information, see How to: Localize ASPX markup.

Localizar códigoLocalize code

Además de localizar cadenas de características y ASP.NETASP.NET marcado, también tiene que localizar las cadenas de mensaje y las cadenas de error que aparecen en el código de la solución.In addition to localizing Feature strings and ASP.NETASP.NET markup, you also have to localize the message strings and error strings that appear in your solution code. Localizado informativos y mensajes de error se encuentran en ensamblados satélite.Localized informational and error messages are contained in satellite assemblies. Los ensamblados satélite contienen cadenas que son visibles para los usuarios, como IUUI mensajes de texto y salida como excepciones.Satellite assemblies contain strings that are visible to users, such as IUUI text and output messages like exceptions.

Visual StudioVisual Studio usa el modelo de concentrador y radio estándar de .NET Framework. uses the standard .NET Framework hub and spoke model. El concentrador o el ensamblado del programa principal contiene los recursos de idioma predeterminado.The hub, or main program assembly, contains the default language resources. Los radios, o ensamblados satélite contienen los recursos específicos del idioma.The spokes, or satellite assemblies, contain the language-specific resources. Para obtener más información, vea Packaging and Deploying Resources (Empaquetar e implementar recursos).For more information, see Packaging and Deploying Resources. Los ensamblados satélite se compilan a partir de recursos (.resx) los archivos.Satellite assemblies are compiled from resource (.resx) files. Cuando se agregan archivos de recursos específicos del idioma al proyecto y el paquete de solución, Visual StudioVisual Studio compila los archivos de recursos en los ensamblados satélite denominados .resources.dll {nombre del proyecto}.When you add language-specific resource files to your project and the solution package, Visual StudioVisual Studio compiles the resource files into satellite assemblies named {Project Name}.resources.dll.

El marcado ASPX, localizar el código de aplicación de SharePoint mediante la adición de elementos de proyecto de archivo de recursos independientes al proyecto; uno para el idioma predeterminado y otro para cada idioma localizado.As with ASPX markup, localize SharePoint application code by adding separate Resources File project items to your project; one for the default language and one for each localized language. Sin embargo, como se mencionó anteriormente, si ya tiene archivos de recursos para localizar el marcado ASPX, se pueden volver a usarlos para localizar el código.However, as mentioned previously, if you already have resource files for localizing ASPX markup, you can reuse them for localizing code. Si necesita crear archivos de recursos, asigne el archivo de recursos de idioma predeterminado un nombre de su elección y anéxelo con un .resx extensión.If you need to create resource files, give the default language resource file a name of your choice appended with a .resx extension. Asigne los archivos de recursos localizados el mismo nombre que se anexa a la referencia cultural específica del lenguaje Id.ID.Name the localized resource files the same name appended with the language-specific culture Id.ID. Establezca la propiedad Build Action de cada archivo de recursos en Embedded Resource para permitir la creación de ensamblados de recursos satélite.Set the Build Action property of each resource file to Embedded Resource to enable the creation of satellite resource assemblies.

Para crear los ensamblados satélite, compile el proyecto y, a continuación, agregue los archivos como ensamblados adicionales a través de la avanzadas pestaña de la Diseñador de paquetes.To create the satellite assemblies, build the project and then add the files as additional assemblies through the Advanced tab of the Package Designer. Al agregar los ensamblados, anteponga una referencia cultural Id.ID carpeta a la ruta de acceso de ubicación, como de\.resources.dll {nombre de elemento de proyecto}.When adding the assemblies, prepend a culture Id.ID folder to the Location path, such as de-DE\{Project Item Name}.resources.dll. Esto permite que el paquete podrá contener archivos que tienen el mismo nombre.This allows the package to contain files that have the same name.

En el código, reemplace las cadenas codificadas de forma rígida con llamadas a la GetGlobalResourceObject método utilizando la sintaxis siguiente:In your code, replace hard-coded strings with calls to the GetGlobalResourceObject method using the following syntax:

HttpContext.GetGlobalResourceObject("<Resource File Name>", "<String ID>")  

Para obtener más información, consulte Cómo: localizar código.For more information, see How to: Localize code.

Localización del código de elemento WebWeb part code localization

Los elementos Web incluyen una característica del editor de propiedad personalizada que incluye atributos de código que usan cadenas codificadas de forma rígida, como WebDisplayName, Category y WebDescription.Web parts include a custom property editor feature that includes code attributes that use hard-coded strings, such as WebDisplayName, Category, and WebDescription. Para reemplazar los valores de cadena para estos atributos, cree una clase independiente que se deriva de la clase del atributo.To replace the string values for these attributes, create a separate class that derives from the attribute's class. En esas clases, establezca la propiedad del atributo.In those classes, set the attribute's property. La propiedad de atributo depende de la clase base.The attribute property depends on the base class. Por ejemplo, la propiedad del atributo WebDisplayName es DisplayNameValue y la propiedad del atributo WebDescription es DescriptionValue.For example, the WebDisplayName attribute property is DisplayNameValue and the WebDescription attribute property is DescriptionValue.

En la clase derivada, hacer referencia al identificador de cadena desde el archivo de recursos y el objeto ResourceManager para obtener el valor localizado para el identificador de cadena.In the derived class, reference the string ID from the resource file and the ResourceManager object to get the localized value for the string ID. Devuelve este valor para el atributo de propiedad del editor.Return this value to the property editor attribute.

Vea tambiénSee also

Cómo: localizar una característica How to: Localize a feature
Cómo: localizar el marcado ASPX How to: Localize ASPX markup
Cómo: localizar código How to: Localize code
Cómo: agregar un archivo de recursos How to: Add a resource file
Cómo: usar un archivo de recursos para especificar nombres, propiedades y permisos localizadosHow to: Use a resource file to specify localized names, properties, and permissions