| Termin | Definicja |
|---|---|
| Język a funkcje systemowe | Zależność języka od funkcji systemowych dotyczy tego, w jakim języku serwer zwraca nazwy miesięcy, dni tygodnia i komunikaty. Język a funkcje systemowe – znaczenie ustawień językowychJęzyk a funkcje systemowe to zagadnienie związane ze sposobem, w jaki system operacyjny, aplikacja lub usługa prezentuje informacje zależne od ustawień regionalnych. Nie chodzi wyłącznie o tłumaczenie menu. W praktyce ustawiony język może wpływać na nazwy miesięcy, dni tygodnia, komunikaty diagnostyczne, opisy błędów, formaty dat, sposób zapisu liczb oraz kolejność elementów w komunikatach generowanych automatycznie. Ta sama funkcja może więc zwrócić inną treść tekstową, mimo że wykonuje dokładnie tę samą operację. Warto odróżnić język interfejsu od języka środowiska systemowego. Interfejs odpowiada za tekst widoczny w oknach, panelach i menu, natomiast środowisko systemowe może dodatkowo określać reguły formatowania danych. Przykładowo aplikacja może mieć menu po angielsku, ale korzystać z polskich nazw dni tygodnia, jeżeli pobiera je z ustawień regionalnych systemu. Możliwa jest także sytuacja odwrotna, gdy aplikacja stosuje własne pliki tłumaczeń i ignoruje część ustawień komputera. Zależność staje się szczególnie widoczna przy funkcjach automatycznych. Generowanie raportu, tworzenie nazwy pliku na podstawie daty, zapis dziennika zdarzeń czy wysłanie powiadomienia może wykorzystywać dane językowe dostępne w systemie. Dlatego wynik działania programu może różnić się na dwóch urządzeniach, nawet gdy zainstalowano na nich tę samą wersję aplikacji. Język systemowy a sposób zapisu dat i komunikatówNajczęściej obserwowaną różnicą jest sposób wyświetlania daty. W zależności od konfiguracji mogą być używane odmienne skróty miesięcy, pełne nazwy dni tygodnia albo inna kolejność składników daty. Dla człowieka takie informacje pozostają zwykle zrozumiałe, lecz dla automatycznych procesów różnica ma duże znaczenie. Skrypt oczekujący nazwy miesiąca w jednym języku może nie rozpoznać wartości zapisanej w innym języku. Podobny problem dotyczy komunikatów zwracanych przez polecenia systemowe. Jeżeli program odczytuje tekst komunikatu zamiast kodu wyniku, zmiana języka może wpłynąć na dalsze działanie. Komunikat informujący o braku pliku, niepoprawnym parametrze albo zakończeniu zadania może mieć inną treść, inną długość i inny układ słów. Rozwiązania odporne na takie zmiany powinny korzystać z kodów statusu, stałych identyfikatorów lub ustandaryzowanych formatów, a nie z porównywania pełnych zdań. Ważne jest również rozróżnienie kodowania znaków od ustawienia języka. Kodowanie określa sposób przechowywania znaków, natomiast język określa między innymi reguły prezentacji i dobór słownictwa. Nieprawidłowe kodowanie może prowadzić do zastępowania polskich znaków przypadkowymi symbolami, ale samo ustawienie innego języka nie musi powodować takiego błędu. W diagnostyce należy sprawdzać oba obszary osobno. W aplikacjach działających w tle język komunikatów bywa dziedziczony z konta użytkownika, z konfiguracji środowiska uruchomieniowego albo z parametrów konkretnej usługi. Powoduje to rozbieżności między uruchomieniem programu ręcznie a wykonaniem tego samego zadania według harmonogramu. W pierwszym przypadku używane są ustawienia zalogowanej osoby, a w drugim ustawienia przypisane do procesu działającego bez aktywnej sesji. Język a funkcje systemowe w porównaniu z tłumaczeniem aplikacjiPełne tłumaczenie aplikacji nie zawsze oznacza, że wszystkie dane będą prezentowane w tym samym języku. Program może pobierać nazwy miesięcy z biblioteki systemowej, komunikaty z własnych plików, a opisy błędów z dodatkowego modułu. Każde z tych źródeł może mieć odrębne ustawienia. Z tego powodu pojedyncze okno może zawierać elementy przetłumaczone, skrót daty w innym formacie i komunikat techniczny pozostawiony w języku domyślnym. W systemach wielojęzycznych występuje także pojęcie języka domyślnego oraz języka preferowanego. Język domyślny może być używany przy tworzeniu nowych kont, nazw katalogów i szablonów, podczas gdy język preferowany decyduje o kolejności wyboru tłumaczeń. Jeżeli brakuje pakietu dla pierwszej pozycji na liście, aplikacja może przejść do kolejnego języka albo wyświetlić treść w języku bazowym. Warto porównać trzy sytuacje. Pierwsza to zmiana samego języka interfejsu, która wpływa głównie na etykiety i komunikaty widoczne dla użytkownika. Druga to zmiana ustawień regionalnych, która może modyfikować daty, liczby, nazwy dni oraz reguły sortowania. Trzecia to zmiana języka procesu uruchomieniowego, która oddziałuje na skrypty, logi i zadania wykonywane w tle. Łączne wystąpienie tych zmian może sprawiać wrażenie, że program działa niestabilnie, choć w rzeczywistości korzysta z innych parametrów środowiska. Różnice mogą dotyczyć również sortowania. Litery z polskimi znakami, wielkość liter i znaki diakrytyczne bywają traktowane odmiennie w zależności od reguł językowych. Ma to znaczenie przy wyszukiwaniu nazw, porządkowaniu plików, porównywaniu wpisów oraz generowaniu zestawień. Jeżeli wymagane jest powtarzalne sortowanie, powinno się jasno wskazać reguły porównywania zamiast pozostawiać je przypadkowej konfiguracji urządzenia. Język a funkcje systemowe – typowe problemy i objawy
Jednym z częstych źródeł kłopotów jest traktowanie tekstu przeznaczonego dla człowieka jako stabilnego interfejsu programu. Zdanie wyświetlane w komunikacie może zostać zmienione przy aktualizacji, skrócone w innym tłumaczeniu albo zastąpione inną formą gramatyczną. Bezpieczniejsze jest wykorzystywanie stałych identyfikatorów, kodów błędów i danych strukturalnych. Jeżeli dostępny jest format maszynowy, powinien być używany zamiast analizy treści komunikatu. Problemy pojawiają się także po migracji ustawień, zmianie konta użytkownika albo przywróceniu systemu z kopii. Pozornie drobna zmiana języka może wpłynąć na nazwy folderów tworzonych automatycznie, ścieżki zapisywane w konfiguracji oraz sposób zapisu historii zdarzeń. Przed zmianą ustawień warto sprawdzić, czy używane programy nie opierają działania na konkretnych nazwach tekstowych. Język systemowy – praktyczne wskazówki diagnostyczneW razie niezgodności należy najpierw ustalić, który element odpowiada za język: system operacyjny, konto użytkownika, aplikacja, biblioteka dat i czasu czy proces działający w tle. Następnie warto zapisać ustawienia przed zmianą, aby możliwe było porównanie wyników. Przydatne jest wykonanie tego samego polecenia w dwóch środowiskach i sprawdzenie nie tylko widocznego komunikatu, ale również kodu zakończenia, zawartości logu oraz utworzonego pliku. Dobrą praktyką jest rozdzielenie języka prezentacji od formatu przeznaczonego do wymiany danych. W raportach dla użytkowników można stosować nazwy miesięcy i dni zgodne z wybranym językiem, natomiast dane przekazywane między programami powinny mieć jednoznaczny, ustalony format. Dzięki temu zmiana języka nie zmienia znaczenia daty ani nie utrudnia późniejszego przetwarzania. Przy testowaniu skryptów warto sprawdzić co najmniej kilka wariantów: język polski, język angielski, inny format daty oraz uruchomienie z konta użytkownika i w tle. Należy również uwzględnić znaki diakrytyczne, krótkie i pełne nazwy dni oraz wartości występujące na początku i końcu miesiąca. Taki zakres pozwala wykryć zależności, których nie widać podczas pojedynczej próby. Jeżeli po zmianie ustawień pojawiają się błędy, nie należy od razu usuwać plików konfiguracyjnych. Najpierw powinno się ustalić, czy problem dotyczy tylko widocznego języka, czy także kodowania, dostępu do plików, uprawnień albo formatu danych. Zachowanie kopii ustawień i logów ułatwia odtworzenie przyczyny oraz ocenę, czy zmiana była odwracalna. Język a funkcje systemowe – kiedy zgłosić się do serwisuPomoc serwisowa może być potrzebna wtedy, gdy język komunikatów zmienia działanie skryptów, raporty zawierają niespójne daty, programy uruchamiane w tle nie dziedziczą ustawień użytkownika albo po zmianie konfiguracji pojawiają się problemy z nazwami plików. W takiej sytuacji sprawdzane są ustawienia systemowe, konfiguracja kont, źródła komunikatów, formaty danych oraz zależności między aplikacją a środowiskiem uruchomieniowym. W Warszawskim Pogotowiu Komputerowym 24/7 można skonsultować problemy dotyczące ustawień językowych i funkcji systemowych, a kontakt telefoniczny jest dostępny pod numerem +48 22 100 48 29. Przed zgłoszeniem warto przygotować opis czynności, przykład nieprawidłowego wyniku, informację o tym, kiedy problem wystąpił, oraz wskazanie, czy dotyczy jednego konta, konkretnego programu czy całego komputera. Do zgłoszenia dobrze dołączyć fragment logu bez danych poufnych, zrzut ustawień języka i regionu oraz informację, czy problem powtarza się po ponownym uruchomieniu. Tak przygotowane materiały pozwalają szybciej odróżnić zwykłą różnicę prezentacji od błędu wynikającego z niezgodnego formatu, niewłaściwego kodowania lub odmiennego środowiska procesu. |