تطبيق WPF القابل للترجمة - تؤدي إعدادات UICulture إلى مشاكل في الموارد

StackOverflow https://stackoverflow.com/questions/6079754

سؤال

أريد إنشاء تطبيق WPF قابل للترجمة.لقد اتبعت الإرشادات الواردة في تعليقات ملف AssemblyInfo.cs:

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

بعد أن قمت بذلك، لم يعد طلبي يبدأ بعد الآن.أنا أستخدم فئة تطبيق مخصصة:

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>

كل شيء سار على ما يرام من قبل.أفترض أن هناك نوعًا من عدم التطابق بين إعدادات UICulture التي تم تكوينها وتلك المحددة لـ MainWindow.xaml، لكنني لا أعرف كيفية إصلاحه.

هل كانت مفيدة؟

المحلول

كان لدي تأثير مماثل؛في التجميع. giveacodicetagpre.

نصائح أخرى

بعض المعلومات الأساسية من: https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/wpf-globalization-and-localization-overview

أفضل الممارسات لتوطين WPF

  • تعيين UltimateResourceFallback الموقع في AssemblyInfo.* لتحديد اللغة المناسبة للتراجع (على سبيل المثال ،[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]).
  • إذا قررت تضمين لغة المصدر الخاصة بك في التجميع الرئيسي عن طريق حذف <UICulture> علامة في ملف المشروع الخاص بك، قم بتعيينUltimateResourceFallback الموقع كمجموعة رئيسية بدلاً من القمر الصناعي (على سبيل المثال ، [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.MainAssembly)])

.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top