Pregunta

Estoy teniendo un poco de problemas para conseguir los archivos de recursos localizados a trabajar en Windows Phone 7. Esto es lo que estoy haciendo:

  1. Crea un archivo de recursos, por ejemplo "Strings.resx" (Acción de generación: Compilar)
  2. Crea una clave, por ejemplo "TestKey" con un valor por defecto de la cadena vacía
  3. Añadir un archivo de recursos Inglés en la misma carpeta con un valor de "un trozo de cuerda Inglés": Strings.en-us.resx (Acción de generación: Recurso incrustado)
  4. Añadir un archivo de recursos japonés en la misma carpeta con un valor de "alguna cadena japonesa": strings.ja-jp.resx (Acción de generación: Recurso incrustado)

En mi PC Silverlight, WPF aplicaciones que funciona bien cuando cambio la Thread.CurrentThread.CurrentCulture. Pero en el teléfono que siempre parece que esté recibiendo el valor que está en el archivo de Strings.resx -. Una cadena vacía

He intentado usar el código generado diseñador y cableando el administrador de recursos a mano y no parece tener importancia. Aquí está mi código:

            Type t = typeof(Strings);

            _resourceManager = new ResourceManager(
                t.Namespace + "." + t.Name,
                t.Assembly);

            _resourceManager.GetString("TestKey");

DIME recursos localizados son compatibles con el teléfono ...;> ¿Qué estoy haciendo mal? Gracias!

Actualizar : Gracias Olivier para reenviar el enlace. vi eso también, pero se perdió un paso importante. No añadí el nodo "SupportedCultures" a mi csproj. Hizo toda la diferencia - con la esperanza de que alguien no lo hace suelta dos horas tratando de resolver esto como lo hice.

<SupportedCultures>de-DE;es-ES;</SupportedCultures>
¿Fue útil?

Solución

Me escribió una entrada de blog que ofrece enlaces a un montón de la globalización / localización guías para WP7. Hay una Windows Phone 7 7 en la formación de vídeo que me ayudó a entender los conceptos básicos. Después de que era simplemente una cuestión de aprender cómo hacer de enlace de datos:

  

El MSDN artículo muestra cómo a   configuración de los archivos y crear el   LocalizedStrings clase, pero entonces   asuma que usted sabe cómo usar esa   clase para el enlace de datos. Estudio visual   2010 y Silverlight datos mango   unión diferente que Winforms, y   se vuelve confuso aún más desde XAML   También tiene su propia definición de   Recursos que son diferentes, entonces el   .NET recursos que acabamos de crear.   Silverlight también usa el término   De recursos para hacer referencia a archivos que utilizan   el de la Acción de generación de "contenido”, como se   estos archivos se envolvieron en el   .xap archivo similar a cómo los archivos con   Acción de generación de "Recursos” get   incrustado en la .Dll montaje (ex:   cargar una imagen de contenido o   Los archivos de recursos). He encontrado que en vez   de utilizar el texto = "{Binding   Path = resourceFile.resourceName,   Fuente = {StaticResource   Localizedresources}}" Sintaxis de XAML se   era más fácil de utilizar los siguientes pasos:

     
      
  1. Abra su página XAML principal (normalmente MainPage.xaml) en el Visual   diseñador de estudio

  2.   
  3. Abrir las propiedades para el PhoneApplicationPage y establecer el   DataContext para ser   Application.Resources ->   LocalizedStrings. NOTA: si ya   están utilizando un objeto DataContext, entonces   que debe integrar el   LocalizedStrings clase en ese   objeto de modo que tiene localización   apoyo.

  4.   
  5. Una vez DataContext de la página ha sido ajustada se puede cambiar los datos   vinculante para cualquier control de la página de   simplemente seleccionando la propiedad (por ejemplo:   texto, comprobado, etc), seleccionando la opción “Aplicar   Enlace de datos ...”, y el establecimiento de la trayectoria   a Localizedresources.BtnText o   cualquiera que sea el nombre de la deseada   valor del recurso es.

  6.   

Otros consejos

Por supuesto, los recursos localizados se admiten en el teléfono:

Cómo: Construir una aplicación localizada de windows Phone

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top