Ustawienia > Szablony wydruku > Wersje językowe raportu | | Drukuj |
Poniżej opisane zostały czynności jakie należy wykonać, aby do przykładowego raportu dokumentu sprzedaży dodać możliwość wydruku w wersjach językowych.
Język wydruku sterowany jest przy pomocy wartości parametru, a tłumaczenia pobierane są z bazy danych dla dynamicznych tekstów (jednostki miary, opisu towaru, itp...), oraz wbudowanej funkcjonalności Edytora tłumacz dla stałych tekstów (nagłówki table, etykiety, itp...).
Edytor lokalizacji
Edytor lokalizacji pozwala na zmianę wartości tłumaczeń dla tekstów z kontrolek w raporcie.
Lewy panel Languages pozwala na zmianę języka raportu, dodanie nowego języka lub usunięcie istniejącego języka.
Prawy panel Localized Text Values zawiera tabelę z kolumnami:
•Property – nazwa elementu szablonu.
•Default language – wartość elementu w domyślnej lokalizacji. Kolumna jest edytowalna, gdy wybrany jest język domyślny.
•Value – edytowalne pole wartości elementu szablonu w wybranej lokalizacji.
Tłumaczenie tekstów kwerend
Teksty pochodzące z kwerend, lub niepodlegające możliwości tłumaczenia przy pomocy okna Edytora lokalizacji można przetłumaczyć przy pomocy Wbudowanej funkcji Symfonia TranslateText. Funkcja ta pobiera wartości tłumaczeń zapisane w bazie danych w tabeli [HM].[ReportsLanguageTranslations]. Aby dodać nową frazę do tłumaczenia, należy wprowadzić ją z poziomu edytora SQL.
Poniżej opis tabeli [HM].[ReportsLanguageTranslations]:
Kolumna |
Typ |
Opis |
Id |
int IDENTITY(1,1) |
Identyfikator rekordu |
OriginalValue |
nvarchar(512) |
Wartość oryginalna. Służy do wyszukiwania tłumaczenia. Wyszukiwanie przeprowadzane na poziomie dokładniego dopasowania. |
Localization |
nvarchar(8) |
Kod języka na który ma być tłumaczona szukana wartość. Służy do wyszukiwania tłumaczenia. Wyszukiwanie przeprowadzane na poziomie dokładniego dopasowania. |
TranslatedValue |
nvarchar(512) |
Wartość tłumaczenia |
Tłumaczenie wydruku raportu
Poniższy przykład prezentuje parametr PrintLanguage sterujący językiem raportu. Jest to parametr typu Tekst z podpiętą statyczną listą wartości. Wartości na liście są to kody języków w formacie BCP 47 Code (Więcej informacji w pomocy Microsoft).
Dodatkowo do wydruku raportu podpięty jest skrypt ustawiający język na podstawie wybranej wartości parametru.
private void DokumentSprzedazy_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e) {
DevExpress.XtraReports.UI.XtraReport rep = sender as DevExpress.XtraReports.UI.XtraReport;
if(rep != null)
{
DevExpress.XtraReports.Parameters.Parameter param = (DevExpress.XtraReports.Parameters.Parameter) rep.Parameters["PrintLanguage"];
if (param != null)
{
rep.ApplyLocalization(param.Value.ToString());
}
}
}
Skrypt ten jest podpięty do zdarzenia BeforePrint dla całego raportu.
Skrypty dostępne są po przełączeniu widoku (lewy górny róg edytora):