Как создавать многоязычные отчеты Crystal - PullRequest
1 голос
/ 24 июня 2009

Мы разрабатываем многоязычное приложение Winforms, используя Visual Studio 2008. Я пытаюсь выяснить, как я могу создавать многоязычные отчеты, используя Crystal Reports.

Есть ли что-то похожее на файлы ресурсов .net в мире отчетов Crystal?

Ответы [ 3 ]

1 голос
/ 25 июня 2009

Мне очень жаль, что я отнимаю у вас значок пропалывания, но я не думаю, что Crystal поддерживает несколько языков, аналогично .NET. Я думаю, что ваш единственный вариант - иметь отдельный отчет для каждого языка и передавать данные в отчет на языке, который вы хотите отобразить.

Вот ссылка на аналогичный ответ. http://www.dbforums.com/crystal-reports/991737-crystal-report-multillingual-support.html

0 голосов
/ 16 декабря 2014

Это был бы ручной способ сделать это:

  1. Создайте отчет для каждого языка, который вы хотите, и поместите в соответствующую структуру папок. все японские отчеты будут помещаться в папку rpt_ja /.

    Report folder structure

  2. Используйте файл ресурсов .Net, чтобы указать имя ресурса отчета и полное имя ресурса для каждого языка:

    • resource.resx

      RPT_SAMPLE -> report01.rpt

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

    • resource.ja.resx

      RPT_SAMPLE -> rpt_ja \ report01.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 (), чтобы получить строку из ресурсов

0 голосов
/ 15 июля 2009

Клиент попросит меня решить эту проблему. Я разработал решение на основе ключевого слова Crystal Reports contentLocale и пользовательских функций. Смотрите мой пост: http://www.cogniza.com/blog/?p=55.

...