Pregunta

Quiero crear aa localizable Aplicación de WPF.He seguido las instrucciones en el apartado de comentarios de la AssemblyInfo.cs archivo:

//In order to begin building localizable applications, set 
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>.  For example, if you are using US english
//in your source files, set the <UICulture> to en-US.  Then uncomment
//the NeutralResourceLanguage attribute below.  Update the "en-US" in
//the line below to match the UICulture setting in the project file.

Después de que yo lo he hecho, mi aplicación no se inicia nada más.Estoy usando una Aplicación personalizada de la clase:

namespace Namespace
{
    public partial class App : Application
    {
        [STAThread()]
        [SecurityPermission(SecurityAction.LinkDemand)]
        public static void Main()
        {
            var app = new App();

            app.InitializeComponent();
            app.Run();
        }


        [DebuggerNonUserCode()]
        public void InitializeComponent()
        {
            this.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
        }
    }
}

 

<ns:App
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:ns="clr-namespace:Namespace">

</ns:App>

Todo ha funcionado bien antes.Supongo que hay algún tipo de desajuste entre el configurado UICulture ajustes y que el especificado para MainWindow.xaml, pero no sé cómo solucionarlo.

¿Fue útil?

Solución

Yo tenía un efecto similar;en el AssemblyInfo.cs, el NeutralResourcesLanguage atributo necesario de la UltimateResourceFallbackLocation.Satellite parámetro:

// Uncommenting the following line --> OK
[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
// Uncommenting the following line --> IOException: Cannot locate resource 'app.xaml'.
// [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)]
// Uncommenting the following line --> IOException: Cannot locate resource 'app.xaml'.
// [assembly: NeutralResourcesLanguage("en-US")]

Otros consejos

Un poco de información de: https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/wpf-globalization-and-localization-overview

Mejores Prácticas para la Localización de WPF

  • Establecer el UltimateResourceFallback ubicación en AssemblyInfo.* a especificar el idioma adecuado para la reserva (por ejemplo, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).
  • Si usted decide incluir su idioma de origen en el ensamblado principal la omisión de la <UICulture> etiqueta en el archivo de proyecto, establecer el UltimateResourceFallback ubicación como el ensamblado principal en lugar de la satélite (por ejemplo, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)])

.

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