2017-06-18 2 views
1

Meine Anwendung unterstützt drei Sprachen: en, es und fr. Als ich meine (sauber, aus einer Vorlage) UWP-Anwendung erstellen, erhalte ich die Meldung:Kann die Standardsprache einer Assembly in Visual Studio 2017 nicht ändern

warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-US'. Change the default language or qualify resources with the default language. 

So dann habe ich in den manifesten gehen und die Standardsprache ändern von en-US de-DE und wenn ich neu kompilieren Ich bekomme:

warning PRI257: 0xdef00522 - Resources found for language(s) 'en,es,fr' but no resources found for default language(s): 'en-GB,en-US'. Change the default language or qualify resources with the default language. 

Was gibt? Wie ersetze ich die Standardsprache in einer UWP-Anwendung, sodass es nicht versucht, US-amerikanische Ressourcen zu finden?

+0

Korrigieren Sie mich, wenn ich falsch liege, aber ich denke nicht, dass dies etwas mit * Assembly * Sprache zu tun hat, wie in "Sprache, die von einem Assembler in Maschinencode umgewandelt wird". Vielleicht möchten Sie den Titel in etwas weniger Ambiguos ändern. –

Antwort

0

die Warnung zu entfernen, müssen Sie die Sprache in 2 Plätze aktualisieren:

  • Standard-Sprache in appxmanifest, die in der csproj Datei als <DefaultLanguage>en-GB</DefaultLanguage>

  • Neutral Assemblersprache gespeichert wird, die wird in der AssemblyInfo-Datei als [assembly: NeutralResourcesLanguage("en-GB")] gespeichert und kann auch über die Projekteigenschaften> Baugruppeninformationen geändert werden.

Assemly information

Darüber hinaus müssen Sie eine vollständige Sprache Qualifier verwenden (de-de, de-DE, ...) als Standardsprache als 'en' wird nur umgeleitet de-DE als Standardsprache. Andere Sprachen können Nur-Sprache-Qualifier (fr) sein.

Beachten Sie, dass das Angeben Ihrer Assets mit einem vollständigen Qualifizierer andere regionale Sprachen nicht von der Verwendung dieser Ressourcen trennt.

Windows überspringt die regionale Zuordnung. Zum Beispiel passt en-US en-US, dann en und dann en *.

Imho ist es noch besser, die volle Qualifier zu verwenden, wie die Übersetzung in einer der regionalen Sprachen (ziemlich oft der Hauptbereich) erfolgt, so fr-FR genauer ist Ihre Ressource-Datei als nur fr Tag hinzu.

+0

>> Außerdem müssen Sie einen vollständigen Sprachqualifikator (en-US, en-GB, ...) als Standardsprache verwenden, da 'en' nur auf en-US als Standardsprache umgeleitet wird. Andere Sprachen können Nur-Sprache-Qualifier (fr) sein. Ich stimme zu, dass es sich so verhält, aber ich verstehe nicht, warum das sinnvoll ist. Warum muss ich en-US auswählen, wenn ich auf alle englischsprachigen Kulturen abzielen möchte? –

+0

Die von Ihnen angegebene Lokalisierung (Verhalten oder Verhalten) ist entweder en-US oder en-GB, nicht nur 'en'. Aber es spielt keine Rolle, da die Anwendung auf die von Ihnen bereitgestellte Sprache zurückgreift (siehe den zitierten Block). – Bart

Verwandte Themen