Multijęzyczne pola wyboru

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2019.1; autor: Jacek Język, Lily Adamowicz

Wstęp

Platforma WEBCON BPS pozwala obsługiwać procesy biznesowe w środowiskach międzynarodowych i wielojęzycznych. Poszczególne elementy formularza zostały zaprojektowane w taki sposób, aby na etapie tworzenia obiegu możliwe było wprowadzenie tłumaczeń na dowolny język, którym posługują się w danym przypadku użytkownicy.

Dopełnieniem dla formularzy tworzonych z uwzględnieniem wielojęzycznej obsługi jest wprowadzona w wersji 2019.1.2 funkcjonalność multijęzycznych pól wyboru. Funkcjonalność pozwala na zdefiniowanie słowników wyboru tak by tekst w nich wyświetlany był spójny z językiem, w którym w danej chwili prezentowany jest użytkownikowi formularz.

 

Źródła danych dla multijęzycznych pól wyboru

Obsługa wielu języków w atrybutach formularza wymaga wcześniejszego przygotowania Źródła danych, którym taki atrybut zostanie zasilony. Źródło musi zwracać teksty wielojęzyczne zawierające już przetłumaczone wartości atrybutu.

Aby obsługa multijęzycznych pól wyboru była możliwa należy wybrać jeden z dwóch sposobów przygotowania danych:

  • użycie predefiniowanego formatu danych, który pozwala na określenie domyślnej nazwy oraz jej tłumaczeń dla konkretnych języków,
  • stworzenie w Źródle danych dodatkowych kolumn zawierających tłumaczenia i następnie wskazanie ich w Konfiguracji zaawansowanej atrybutu

 

METODA 1 – Format danych

W Źródle danych, które ma być następnie użyte w atrybucie Pole wyboru, należy zdefiniować dane w następującym formacie:

DEFAULT_NAME$$LANG_CODE$$LANG_NAME$$ LANG_CODE$$LANG_NAME …

  • $$ – separator oddzielający poszczególne parametry
  • DEFAULT_NAME – domyślna nazwa prezentowana na formularzu w przypadku, gdy jest on wyświetlany w języku bez zdefiniowanego w Źródle tłumaczenia
  • LANG_CODE – dwuliterowy kod języka (według ISO 639-1), dla którego w kolejnym parametrze zdefiniowane jest tłumaczenie (np. PL, EN, DE, IT)
  • LANG_NAME – tłumaczenie wartości dla konkretnego języka

Możliwe jest wprowadzenie dowolnej liczby tłumaczeń, ograniczeniem jest jedynie rozmiar kolumny w bazie danych do przechowywania tłumaczalnych wartości.

PRZYKŁAD: W Źródle danych Stała lista wartości zdefiniowano wielojęzyczne wartości dla atrybutu. Domyślną wartością są angielskie nazwy kolorów, dodatkowo wykonano tłumaczenia w trzech językach (polskim, niemieckim oraz włoskim).

 

PRZYKŁAD 2: W analogiczny sposób można wprowadzić wielojęzyczne dane do Źródła danych utworzonego w ramach Procesu słownikowego:

 

METODA 2 – Dodatkowa kolumna

Innym sposobem na dodanie tłumaczenia dla wartości Pola wyboru jest umieszczenie tłumaczeń dla poszczególnych Nazw w dodatkowych kolumnach Źródła danych.

PRZYKŁAD 1: W Źródle typu Stała lista wartości angielskie nazwy są ustawione jako domyślne. Do kolumny Opis dodano polskie tłumaczenia. W Konfiguracji zaawansowanej atrybutu Pole wyboru kolumna ta zostanie następnie oznaczona jako źródło pobierania tłumaczeń (patrz dalsza część artykułu).

 

PRZYKŁAD 2: W Źródle typu Słowniki jako domyślny również ustawiono język angielski, zaś dodatkowo dodano tłumaczenia w języku polskim, niemieckim oraz włoskim:

 

Konfiguracja atrybutu

Możliwość obsługi wielojęzycznych nazw wprowadzona została dla atrybutu typu Pole wyboru oraz dla kolumn List pozycji typu Wybór z wyszukiwaniem, Lista wyboru oraz Wybór z autouzupełnianiem.

Warunkiem poprawnego działania funkcjonalności jest odpowiednie przygotowanie Źródła danych zasilającego atrybut (zgodnie z wcześniejszym opisem), które musi zwracać tłumaczone frazy.

Niezbędnym krokiem jest włączenie opcji Obsługuj wielojęzyczne nazwy w Konfiguracji zawansowanej atrybutu, co spowoduje uaktywnienie funkcjonalności i odpowiednie wyświetlanie dostępnych tłumaczeń na formularzu zgodnie z aktualnym językiem prezentacji.

 

W przypadku stosowania METODY 1 wystarczy wskazać kolumnę źródłową, z której będą pobierane dane zapisane w predefiniowanym formacie.

 

Jeżeli wybrano METODĘ 2 wówczas należy wskazać kolumnę źródłową z wartościami, które mają być domyślne, następnie przejść do ustawień języka, klikając na ikonę, która została uaktywniona przez zaznaczenie opcji Obsługuj wielojęzyczne nazwy.

 

W oknie, które się otworzy należy wskazać kolumny Źródła danych, w których znajdują się tłumaczenia w poszczególnych językach:

 

Niezależnie od wybranej metody ostateczny efekt na formularzu będzie taki sam.  W zależności od języka prezentacji użytkownik zobaczy poszczególne wartości Pola wyboru w wybranym języku. W przypadku, gdy jego język nie zostanie zdefiniowany w Źródle, pokazane zostaną wartości domyślne.

 

Przechowywanie wartości w bazie danych

Wartości wybrane w atrybutach obsługujących wielojęzyczne nazwy zapisywane są w całości w bazie danych. Wartości przechowywane są jako tekst w standardowym formacie ID#NAZWA, przy czym NAZWA zawiera tłumaczenia wszystkich języków zwróconych przez Źródło danych w momencie zapisu formularza. W efekcie takiego podejścia wartości na formularzu zawsze będą wyświetlane zgodnie z językiem prezentacji.

Podejście takie ma również konsekwencje, czego należy być świadomym w trakcie korzystania z funkcjonalności wielojęzycznych nazw:

  • ograniczenia rozmiaru danych przechowywanych w bazie – wartości pól i kolumn wyboru zapisywanych w bazie danych aktualnie mogą mieć długość do 1000 znaków. Ograniczenie to wpływa bezpośrednio na długość frazy jak i ilość samych tłumaczeń, które razem nie mogą przekraczać 1000 znaków.
  • zmiana tłumaczenia w Źródle danych nie jest uwzględniana w zapisanej wartości do czasu ponownego zapisania formularza z nowym tłumaczeniem.