Как реализовать язык / культуру (которая еще не поддерживается) в ActiveReports 11? - PullRequest
0 голосов
/ 28 сентября 2018

У нас уже есть обширная группа .rpx файлов, которые содержат определения отчетов на немецком языке.Мы использовали сценарии для перевода некоторого текста на романский язык (официальный швейцарский язык, используемый <1% населения), однако он был запрошен. <br>Цель теперь состоит в том, чтобы создавать отчеты на французском и, возможно, на итальянском языке.Тем не менее, мы хорошо понимаем, что текущий подход к написанию сценариев, такой как:

if (txtSprache.Text == "RM")
{
    lblAbonnentenNr.Text = "Abo-nr.:";
    lblAbrechnungVon.Text = "Quen dils:";
    lblBis.Text = "  -";
    lblZahlbarBis.Text = "Pagabel tochen:";
    lblObjekt.Text = "Object:";
    lblRechnungsNr.Text = "Nr. dil quen:";
    lblRechnungsdatum.Text = "Datum da quen:";
    lblERechnungsID.Text = "ID";
    lblAbonnent.Text = "Abonnent";
}

, не очень подходит для этого.Меня попросили создать варианты поддержки I18n.Цитируется из AR11 документации :

Чтобы локализовать отчет во время разработки
1. Нажмите на серую область вокруг поверхности проектирования, чтобы выбратьОтчет в окне свойств.2. В окне «Свойства» разверните свойство «Культура» или «Язык» и выберите культуру, которую вы хотите применить к отчету.

Старое значение по умолчанию: (по умолчанию, наследовать), я знаю, что изменилосьчто на немецкий (Швейцария).Я не смог найти никакой разницы, никаких новых вещей под C:\Program Files (x86)\GrapeCity\ActiveReports 11\Localization, ни где-либо еще в xml.

Как добавить новую языковую таблицу / значения для текущего отчета и его меток?
Как добавить культуру, которая еще не существует?(В худшем случае я использовал бы любой локальный язык и использовал бы его как романский, так как можно было использовать только немецкий, итальянский, французский и маловероятный английский)

1 Ответ

0 голосов
/ 29 сентября 2018

Свойство Language, упомянутое в документации, работает только для шаблонов на основе кода.Когда вы устанавливаете новый язык с помощью этого свойства, VSID создает файл дополнительного ресурса, например, myreport.jp-JP.resx.В этом случае скомпилированный отчет загрузит необходимые ресурсы в соответствии со значением CurrentThread.CurrentUICulture.Он не работает для шаблонов RPX (на основе XML).Поэтому, если вы хотите использовать эту функцию, вам необходимо преобразовать шаблоны на основе xml в шаблоны на основе кода.

Свойство Culture помогает указывать только локаль для функции OutputFormat (например, преобразование в валюту).

Для локализации шаблонов RPX, я думаю, вы можете объединить файлы ресурсов внешней локализации с текущим подходом сценариев, я имею в виду загрузку файла ресурсов в сценарии и обновление элементов отчета.

Спасибо,

...