Question

Je veux créer aa localizable Application WPF.J'ai suivi les instructions dans les commentaires de la AssemblyInfo.cs fichier:

//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.

Après j'ai fait cela, ma demande n'est pas de départ, pas plus.Je suis à l'aide d'une Application personnalisée de la classe:

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>

Tout a bien fonctionné avant.Je suppose que il y a une sorte de décalage entre la configuration de la UICulture paramètres et que celui spécifié pour MainWindow.xaml, mais je ne sais pas comment le résoudre.

Était-ce utile?

La solution

J'ai eu un effet similaire;Dans l'associationInfo.cs, l'attribut NeutralResourcesLanguage requis le paramètre UltimateResourceFallbackLocation.Satellite:

// 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")]

Autres conseils

Quelques informations de fond à partir de: https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/wpf-globalization-and-localization-overview

Les meilleures Pratiques pour WPF Localisation

  • Définir le UltimateResourceFallback emplacement dans AssemblyInfo.* pour spécifiez la langue appropriée de secours (par exemple, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).
  • Si vous décidez d'inclure votre langue source dans l'assemblage principal par l'omission de la <UICulture> balise dans le fichier de votre projet, définir le UltimateResourceFallback l'emplacement, comme les principaux de l'assemblée, au lieu de la satellite (par exemple, [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)])

.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top