Wielojęzyczny portal dla dostawców opiera się w opisywanym wdrożeniu na języku zapisanym przy koncie. Jedno pole przełącza słownik ekranów awizacji i wersję maili na angielską dla dostawców zagranicznych. Dopisanie nowej frazy to trzy czynności: wpis w tabeli tłumaczeń, wygenerowanie pliku słownika i podbicie wersji formularza.
Dostawca z zagranicy loguje się na konto, na którym ustawiono wersję angielską. Przycisk, który polski użytkownik widzi jako "DODAJ DO AWIZACJI", u niego nazywa się "ADD TO NOTIFICATION", a mail o odrzuconej pozycji też przychodzi po angielsku. Nie ma tu osobnej instalacji ani osobnego portalu, bo język zapisano przy koncie.
Gdzie system przechowuje język dostawcy
Karta użytkownika ma w sekcji "Informacje dodatkowe" pole "Wersja językowa". To zwykłe pole tekstowe, a nie lista wyboru. Puste pole oznacza polski, a kod profilu angielskiego oznacza wersję angielską dla dostawców zagranicznych.
Dostawca zmienia język sam w ekranie "Edycja danych i języka", w polu "Język" z listą: Polski i English. Administrator widzi to samo ustawienie w polu tekstowym "Wersja językowa". Ekran jest dostępny z pozycji "Dane użytkownika" w menu dostawcy, które opisuje tekst o tym, kto co widzi w portalu awizacji. Standardowe ekrany awizacji dostawcy opisuje instrukcja dostawcy.
Język jest ustawieniem konta, a nie systemu, więc ten sam formularz i to samo zdarzenie wyglądają inaczej dla dwóch dostawców.
Jak ekran awizacji znajduje angielski odpowiednik tekstu
Język konta decyduje o słowniku wczytywanym przy każdej stronie. Razem ze stroną przeglądarka pobiera plik słownika o nazwie zawierającej kod języka użytkownika, z numerem wersji aplikacji w adresie.
Teksty formularzy awizacji, zarówno logistyki, jak i dostawcy, przechodzą przez funkcję tłumaczącą w kilkudziesięciu miejscach. Trzy rodzaje elementów oznaczonych jako tłumaczone, czyli etykiety, nagłówki i przyciski, są tłumaczone zbiorczo po zbudowaniu formularza. Kluczem słownika jest polski tekst zapisany małymi literami, a fraza, której nie ma w słowniku, zostaje w brzmieniu oryginalnym.
| Element | Skąd bierze język | Przykład wersji angielskiej |
|---|---|---|
| Etykiety i przyciski formularza | Słownik wczytany według języka konta. | ADD TO NOTIFICATION |
| Komunikaty w skrypcie formularza | Ta sama funkcja tłumacząca. | DATA HAS BEEN SAVED |
| Nazwy sekcji okna załączników | Język konta przekazany w adresie okna. | Marking Transfer Certificate |
| Powiadomienie o nowym zamówieniu | Język konta każdego adresata. | Orders registered no.: ZAK-26-0042 |
| Powiadomienia z decyzji kontroli jakości i komentarza pracownika | Język konta autora awizacji. | The following items were rejected |
| Etykiety słownikowe w danych | Zapis w jednym polu po polsku i po angielsku. | Dostawa do magazynu / Delivery to the warehouse |
Awizacja po angielsku nazywa się "notification". Kilka par ze słownika pokazuje, jak wygląda ta różnica na ekranie kierowcy i dostawcy.
- Przycisk i dane kierowcy - "DODAJ DO AWIZACJI" to "ADD TO NOTIFICATION", a "Kierowca telefon" to "Driver phone".
- Pojazd - "Nr rejestracyjny auta" to "Vehicle registration number".
- Wybór - "Wybierz obiekt" to "Select an object" oraz "Pełna dostawa" to "Full delivery".
- Komunikat zapisu - "DANE ZOSTAŁY ZAPISANE" to "DATA HAS BEEN SAVED".
Jak dopisuje się nową frazę do słownika
Słownik jest plikiem generowanym z tabeli tłumaczeń, w której każdy wiersz ma trzy pola: profil, tekst oryginalny i tłumaczenie. Strona administracyjna generuje jednym wywołaniem pliki wszystkich języków, a wiersze bez tłumaczenia są pomijane. Frazy w tabeli zapisuje się bez apostrofu i bez cudzysłowu.
Frazy dopisuje skrypt z listą kilkudziesięciu par polski-angielski. Wstawia tylko brakujące frazy i uzupełnia puste tłumaczenia, a istniejących niepustych nie nadpisuje. Kończy się kontrolą listy i wykrywa duplikaty różniące się wielkością liter. Skrypt można uruchomić ponownie bez skutków ubocznych. Słownik jest prowadzony ręcznie, więc system niczego nie tłumaczy automatycznie.
Po dopisaniu fraz trzeba wygenerować plik słownika i podbić wersję formularzy, czyli znacznik wersji w adresie skryptu formularza. Dopiero wtedy przeglądarka pobiera świeży skrypt razem ze słownikiem.
Dlaczego fraza z doklejoną końcówką nie pasuje do wpisu
Kluczem słownika jest cała fraza. W formularzu dostawcy komunikat o braku jakiegokolwiek załącznika jest tłumaczony jako fraza bez końcówki, a numer pozycji jest dopisywany osobno, żeby fraza pasowała do wpisu w słowniku. Okno załączników, w którym ten komunikat się pojawia, opisuje tekst o dokumentach jakościowych przy pozycji zamówienia.
W jakiej wersji językowej dostawca dostaje powiadomienie
Wiadomość o nowym zamówieniu ma dwie wersje. Adresaci kontrahenta są dzieleni na dwie grupy według języka konta, a każda grupa dostaje wiadomość we własnym języku. Temat angielski brzmi "Orders registered no.: {numer}". Obie wersje powstają w jednym przebiegu zadania cyklicznego.
Język wiadomości w trzech zdarzeniach, czyli przy odrzuceniu pozycji, akceptacji awizacji i komentarzu pracownika, wynika z konta autora awizacji. Każda z tych wiadomości ma pełne wersje polską i angielską z własnym tematem i treścią, na przykład "The following items were rejected", "Notification no. {numer}: ACCEPTED" i "Notification no. {numer} - {zamówienie}: comment added", z linkami "Discussion" i "Notification preview". Komentarz dodany przez dostawcę trafia do kontroli jakości w wersji polskiej. Widok adresatów podstawia polski, gdy pole "Wersja językowa" jest puste. Powody, dla których wiadomość o odrzuceniu powstaje, opisuje tekst o kontroli jakości pozycja po pozycji.
Treści wiadomości są zapisane w procedurach bazy danych, a wersje językowe leżą obok siebie w tej samej procedurze. Zmiana brzmienia wymaga więc zmiany procedury, a kolejny język oznaczałby nowy wariant w każdej wiadomości. Lista języków w ekranie danych dostawcy to dwie pozycje w słowniku konfiguracji. Trzy wiadomości o zmianach awizacji, czyli o dopisaniu, edycji i anulowaniu, mają jedną wersję, polską.
Kto dostaje które powiadomienie i kiedy system milczy, opisuje tekst o regułach powiadomień w awizacji. Ogólne ujęcie komunikacji z kierowcami i dostawcami w kilku językach daje strona o wielojęzycznej komunikacji w Studio VSS.net, a ogólny układ powiadomień - strona o powiadomieniach SMS i e-mail w awizacji.
Co jest zapisane po polsku i angielsku jednocześnie
Okno załączników ma nazwy sekcji w dwóch wersjach. Gdy język konta jest inny niż polski, użytkownik widzi nazwy angielskie, na przykład "Marking Transfer Certificate" albo "Declaration of Compliance (2.1 - EN 10204)". Formularz przekazuje język konta w adresie okna załączników.
Część etykiet słownikowych jest zapisana w danych w jednym polu po polsku i po angielsku. Tak wyglądają rodzaje awizacji, na przykład "Dostawa do magazynu / Delivery to the warehouse", i nazwy magazynów z angielskim dopiskiem w nawiasie. Widać je niezależnie od języka konta.
Jeden dostawca zagraniczny i jedna nowa fraza
Przykład z danymi fikcyjnymi: Dostawca Testowy z zagranicy sam wybrał w ekranie "Edycja danych i języka" język English, więc jego konto ma wersję angielską. Formularz awizacji pokazuje przycisk "ADD TO NOTIFICATION", a po zapisie komunikat "DATA HAS BEEN SAVED". Dostawca zapisuje awizację AW-26-0150 do zamówienia ZAK-26-0042.
Kontrola jakości odrzuca pozycję ITEM-0001, więc autor awizacji dostaje wiadomość "The following items were rejected" z linkiem "Discussion". Dział IT dopisuje potem do formularza nowy komunikat: w trzech czynnościach dodaje parę polski-angielski do tabeli tłumaczeń, generuje plik słownika i podbija wersję formularza. Dopiero po tym przeglądarka dostawcy pobiera nowy skrypt razem ze słownikiem.
Pytania do analizy przed wdrożeniem wersji językowych
Zanim w innym obiekcie powstanie podobny portal, ustalamy cztery sprawy.
- Miejsce zapisu - gdzie będzie przechowywany język użytkownika i kto go ustawia: sam użytkownik czy administrator.
- Jeden mechanizm - czy ekrany i powiadomienia mają korzystać z jednego mechanizmu tłumaczeń, czy z kilku niezależnych.
- Utrzymanie słownika - kto utrzymuje słownik i jak nowa fraza trafia do przeglądarek użytkowników po zmianie formularza.
- Brak tłumaczenia - co system ma wyświetlić, gdy tłumaczenia danej frazy jeszcze nie ma.