سؤال

نحن نعمل على تطوير تطبيق Winforms متعدد اللغات باستخدام visual studio 2008.أحاول معرفة كيف يمكنني إنشاء تقارير متعددة اللغات باستخدام تقارير الكريستال.

هل يوجد أي شيء مشابه لملفات الموارد .net في عالم تقارير Crystal؟

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

المحلول

وأنا آسف أنني سرقة لكم شارة tumbleweed، ولكن لا أعتقد كريستال لديه دعم اللغة متعددة على غرار .NET. أعتقد أن لديك الخيار الوحيد هو أن يكون هناك تقرير منفصل لكل لغة وتمرير البيانات في التقرير باللغة التي ترغب في عرضها.

وهنا هو وجود صلة للإجابة مماثلة. http://www.dbforums.com/crystal- تقارير / 991737-الكريستال-تقرير-multillingual support.html

نصائح أخرى

ستكون هذه طريقة يدوية للقيام بذلك:

  1. قم بإنشاء تقرير لكل لغة تريدها ووضعه في بنية المجلدات المناسبة.أي.سيتم نقل جميع التقارير اليابانية إلى المجلد rpt_ja/.

    Report folder structure

  2. استخدم ملف .Net Resource لتحديد اسم مورد التقرير واسم المورد الكامل لكل لغة:

    • الموارد.resx

      RPT_SAMPLE-> report01.rpt

      RPT_SAMPLE_FULL -> MyCompany.NameSpace.Reports.Report01.rpt

    • الموارد.ja.resx

      RPT_SAMPLE -> rpt_ja eport01.ja.rpt

      RPT_SAMPLE_FULL -> MyCompany.NameSpace.Reports.Report01.ja.rpt

  3. ثم استخدم هذه القيمة في ملف كود التقرير:افتح ملف التقرير ‎.cs وقم بتغيير:

    public override string ResourceName {
    get {
        // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE").ToString();
        return "report01.rpt";
    }
    set {
        // Do nothing
    }
    

    }

    public override string FullResourceName {
        get {
            // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE_FULL").ToString();
            return "rpt_ja\report01.ja.rpt";
        }
        set {
            // Do nothing
        }
    }
    

يحرر:HttpContext مخصص لتطبيق الويب ASP.Net.في winform، يمكنك تجربة Properties.Resources.ResourceManager.GetString() للحصول على السلسلة من الموارد

يسألني أحد العملاء عن حل لهذه المشكلة.لقد قمت بتطوير حل يعتمد على الكلمة الأساسية الخاصة بـ Crystal Reports contentLocale والوظائف المخصصة.انظر تدوينتي: http://www.cogniza.com/blog/?p=55.

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